bewanff.js

by Yatzz
76 Raw
const cooldowns = new Map();
const games = new Map();
const weapons = [
    "SG Terompet", "SG Meteor Merah", "SG Reaper", "SG OPM", "SG Kayu😂",
    "SG Bunny", "SG Mamba", "SG Aqua", "SG Golden", "SG Peluru Suci",
    "SG 2 Juta", "SG Mata Elang", "SG Lumut", "Granat😎"
];

let handler = async (m, { hanz, text, setReply }) => {
    try {
        let sender = m.sender;
        let mention = m.mentionedJid[0];

        if (!mention) return setReply("❌ Tag teman yang ingin kamu tantang!\nContoh: *.bewanff @user*");
        if (cooldowns.has(sender)) return setReply("⚠️ Kamu harus menunggu 5 menit sebelum bewan lagi!");
        if (games.has(sender) || games.has(mention)) return setReply("⚠️ Salah satu dari kalian masih dalam permainan!");

        games.set(sender, mention);
        games.set(mention, sender);

        // Pastikan `hanz` ada
        if (!hanz) throw new Error("hanz tidak terdefinisi. Periksa parameter handler.");

        await hanz.sendMessage(m.chat, { 
            text: `🔥 *BATTLE DIMULAI!*\n\n@${mention.split("@")[0]}, seseorang telah menantangmu untuk bewan!\n\nBalas dengan *.bewanffacc* atau *.bewanfftolak*!`, 
            mentions: [mention] 
        });

        global.db.data.bewanff = global.db.data.bewanff || {};
        global.db.data.bewanff[sender] = { enemy: mention, accepted: false };

        setTimeout(async () => {
            if (global.db.data.bewanff[sender] && !global.db.data.bewanff[sender].accepted) {
                delete global.db.data.bewanff[sender];
                await hanz.sendMessage(m.chat, { text: "⏳ Waktu habis! Tantangan dibatalkan." });
            }
        }, 60000);
        
    } catch (error) {
        console.error("❌ ERROR:", error);
        setReply(`⚠️ ERROR LOG:\n\n\`\`\`${error.message}\`\`\``);
    }
};

handler.command = ["bewanff"];
handler.tags = ["game"];
handler.help = ["bewanff"];
handler.group = true;

module.exports = handler;