← back to browse
goat command

tuntun

No description

0
views
0
likes
0
installs
raw source
const axios = require("axios");
const fs = require("fs");
const path = require("path");

const baseApiUrl = async () => {
    try {
        const res = await axios.get(
            "https://raw.githubusercontent.com/mahmudx7/HINATA/main/baseApiUrl.json"
        );
        return res.data?.mahmud;
    } catch (e) {
        return null;
    }
};

module.exports = {
    config: {
        name: "tuntun",
        version: "1.8",
        author: "乛 SIYAM ゎ",
        role: 0,
        category: "fun",
        cooldown: 10,
        guide: {
            en: "{pn} [mention/reply/UID]",
            bn: "{pn} [মেনশন/রিপ্লাই/UID]",
            vi: "{pn} [mention/reply/UID]"
        }
    },

    langs: {
        bn: {
            noTarget: "• কাকে tuntun বানাবে? মেনশন, রিপ্লাই বা UID দাও",
            error: "❌ সমস্যা হয়েছে: %1",
            success: "✨ Tuntun effect সফল হয়েছে!"
        },
        en: {
            noTarget: "• Mention, reply, or provide UID",
            error: "❌ Error occurred: %1",
            success: "✨ Tuntun effect successful!"
        },
        vi: {
            noTarget: "• Hãy mention, reply hoặc nhập UID",
            error: "❌ Lỗi: %1",
            success: "✨ Hiệu ứng tuntun thành công!"
        }
    },

    onStart: async function ({ api, event, args, getLang }) {
        const { threadID, messageID, messageReply, mentions } = event;

        let id2 =
            messageReply?.senderID ||
            Object.keys(mentions || {})[0] ||
            args[0];

        if (!id2)
            return api.sendMessage(getLang("noTarget"), threadID, messageID);

        const cacheDir = path.join(__dirname, "cache");
        if (!fs.existsSync(cacheDir)) {
            fs.mkdirSync(cacheDir, { recursive: true });
        }

        const filePath = path.join(
            cacheDir,
            `tuntun_${id2}_${Date.now()}.png`
        );

        try {
            api.setMessageReaction("🔰", messageID, () => {}, true);

            const apiUrl = await baseApiUrl();
            if (!apiUrl) throw new Error("API not found");

            const url = `${apiUrl}/api/dig?type=tuntun&user=${id2}`;

            const res = await axios.get(url, {
                responseType: "arraybuffer"
            });

            fs.writeFileSync(filePath, Buffer.from(res.data));

            return api.sendMessage(
                {
                    body: getLang("success"),
                    attachment: fs.createReadStream(filePath)
                },
                threadID,
                (err) => {
                    api.setMessageReaction(
                        err ? "❌" : "🙂",
                        messageID,
                        () => {},
                        true
                    );

                    if (fs.existsSync(filePath)) {
                        fs.unlinkSync(filePath);
                    }
                },
                messageID
            );
        } catch (err) {
            api.setMessageReaction("❌", messageID, () => {}, true);

            if (fs.existsSync(filePath)) {
                fs.unlinkSync(filePath);
            }

            return api.sendMessage(
                getLang("error", err.message || "Unknown error"),
                threadID,
                messageID
            );
        }
    }
};

View raw file