import TicTacToe from '../lib/tictactoe.js' let timeout = 60000 let poin = 600 let poin_lose = -100 let poin_bot = 200 global.suit = global.suit ? global.suit : {} //import MessageType from '@adiwajshing/baileys' let MessageType = (await import(global.baileys)).default let handler = async (m, { conn, text, command, usedPrefix, args }) => { let pp = 'https://telegra.ph/file/c7924bf0e0d839290cc51.jpg' let fkontak = { "key": { "participants":"0@s.whatsapp.net", "remoteJid": "status@broadcast", "fromMe": false, "id": "Halo" }, "message": { "contactMessage": { "vcard": `BEGIN:VCARD\nVERSION:3.0\nN:Sy;Bot;;;\nFN:y\nitem1.TEL;waid=${m.sender.split('@')[0]}:${m.sender.split('@')[0]}\nitem1.X-ABLabel:Ponsel\nEND:VCARD` }}, "participant": "0@s.whatsapp.net" } try { if (command == 'ppt' || command == 'pvp' || command == 'suit' || command == 'suitpvp') { const time = global.db.data.users[m.sender].wait + 30000; if (new Date() - global.db.data.users[m.sender].wait < 30000) return conn.fakeReply(m.chat, `*๐Ÿ•“ ๐™ƒ๐™š๐™ฎ, ๐™€๐™จ๐™ฅ๐™š๐™ง๐™– ${msToTime(time - new Date())} ๐™–๐™ฃ๐™ฉ๐™š๐™จ ๐™™๐™š ๐™ช๐™จ๐™–๐™ง ๐™ค๐™ฉ๐™ง๐™ค๐™จ ๐™˜๐™ค๐™ข๐™–๐™ฃ๐™™๐™ค*`, m.sender, `แดบแต’ สฐแตƒแตแตƒโฟ หขแต–แตƒแต`, 'status@broadcast', null, fake); const guideText = `๐๐ข๐ž๐๐ซ๐š ๐Ÿ—ฟ, ๐๐š๐ฉ๐ž๐ฅ ๐Ÿ“„ ๐จ ๐“๐ข๐ฃ๐ž๐ซ๐š โœ‚๏ธ\n\n๐Ÿ‘พ ๐™…๐™ช๐™œ๐™–๐™ง ๐™˜๐™ค๐™ฃ ๐™š๐™ก ๐™—๐™ค๐™ฉ:\nโ€ข ${usedPrefix + command} piedra\nโ€ข ${usedPrefix + command} papel\nโ€ข ${usedPrefix + command} tijera\n\n๐Ÿ•น ๐™…๐™ช๐™œ๐™–๐™ง ๐™˜๐™ค๐™ฃ ๐™ช๐™ฃ ๐™ช๐™จ๐™ช๐™–๐™ง๐™ž๐™ค:\n${usedPrefix + command} @usuario`; if (!m.mentionedJid[0] && !args[0]) return conn.sendButton(m.chat, guideText, wm, pp, [['Piedra ๐Ÿ—ฟ', `${usedPrefix + command} piedra`], ['Papel ๐Ÿ“„', `${usedPrefix + command} papel`], ['Tijera โœ‚๏ธ', `${usedPrefix + command} tijera`]], m); const user = global.db.data.users[m.sender]; const playerChoice = args[0]?.toLowerCase(); const choices = ['piedra', 'papel', 'tijera']; const botChoice = choices[Math.floor(Math.random() * 3)]; const name = conn.getName(m.sender); if (!m.mentionedJid[0] && choices.includes(playerChoice)) { global.db.data.users[m.sender].wait = new Date() * 1; const rules = { piedra: { beats: 'tijera', win: 1000, lose: 300, winType: 'coins', loseType: 'coins' }, papel: { beats: 'piedra', win: 1000, lose: 300, winType: 'coins', loseType: 'xp' }, tijera: { beats: 'papel', win: 1000, lose: 300, winType: 'coins', loseType: 'coins' }}; let result, message; if (playerChoice === botChoice) { user.exp += 500; result = '๐™€๐™ˆ๐™‹๐˜ผ๐™๐™€ ๐Ÿค'; message = '๐ŸŽ Premios : 500 XP'; } else if (rules[playerChoice].beats === botChoice) { user[rules[playerChoice].winType] += rules[playerChoice].win; result = '๐™ƒ๐˜ผ ๐™‚๐˜ผ๐™‰๐˜ผ๐˜ฟ๐™Š! ๐ŸŽ‰'; message = `๐ŸŽ Premios : ${rules[playerChoice].win} ${rules[playerChoice].winType}`; } else { user[rules[playerChoice].loseType] -= rules[playerChoice].lose; result = '๐™ƒ๐˜ผ ๐™‹๐™€๐™๐˜ฟ๐™„๐˜ฟ๐™Š! ๐Ÿคก'; message = `โŒ Pรฉrdida: -${rules[playerChoice].lose} ${rules[playerChoice].loseType}`; } conn.reply(m.chat, `\`ใ€Œ ${result} ใ€\`\n\n๐Ÿ‘‰ Tu: ${playerChoice}\n๐Ÿ‘‰ El Bot: ${botChoice}\n${message}`, m, { contextInfo: {externalAdReply: { title: name, body: wm, thumbnail: img.getRandom(), sourceUrl: redes.getRandom()}}}); } if (m.mentionedJid[0]) { if (Object.values(conn.suit).find(room => room.id.startsWith('suit') && [room.p, room.p2].includes(m.sender))) return m.reply(`โš ๏ธ ๐™๐™š๐™ง๐™ข๐™ž๐™ฃ๐™– ๐™ฉ๐™ช ๐™ฅ๐™–๐™ง๐™ฉ๐™ž๐™™๐™– ๐™–๐™ฃ๐™ฉ๐™š๐™จ ๐™™๐™š ๐™ž๐™ฃ๐™ž๐™˜๐™ž๐™– ๐™ค๐™ฉ๐™ง๐™–`); if (Object.values(conn.suit).find(room => room.id.startsWith('suit') && [room.p, room.p2].includes(m.mentionedJid[0]))) return m.reply(`โš ๏ธ ๐™€๐™ก ๐™ช๐™จ๐™ช๐™–๐™ง๐™ž๐™ค ๐™ฎ๐™– ๐™š๐™จ๐™ฉ๐™–ฬ ๐™Ÿ๐™ช๐™œ๐™–๐™ฃ๐™™๐™ค, ๐™š๐™จ๐™ฅ๐™š๐™ง๐™– ๐™– ๐™ฆ๐™ช๐™š ๐™ฉ๐™š๐™ง๐™ข๐™ž๐™ฃ๐™š`); const id = 'suit_' + new Date() * 1; const caption = `๐ŸŽฎ๐Ÿ‘พ ๐™‹๐™‘๐™‹ - ๐™‹๐™„๐™€๐˜ฟ๐™๐˜ผ, ๐™‹๐˜ผ๐™‹๐™€๐™‡ ๐™Š ๐™๐™„๐™…๐™€๐™๐˜ผ ๐Ÿ‘พ๐ŸŽฎ\n\n@${m.sender.split`@`[0]} ๐˜ฟ๐™€๐™Ž๐˜ผ๐™๐™„๐˜ผ ๐˜ผ @${m.mentionedJid[0].split`@`[0]}\n\n> _*Escribe (aceptar) para aceptar*_\n> _*Escribe (rechazar) para rechazar*_`; conn.suit[id] = { chat: await conn.sendMessage(m.chat, { text: caption, mentions: [m.sender, m.mentionedJid[0]] }), id: id, p: m.sender, p2: m.mentionedJid[0], status: 'wait', waktu: setTimeout(() => { if (conn.suit[id]) conn.reply(m.chat, `โณ ๐™๐™„๐™€๐™ˆ๐™‹๐™Š ๐˜ผ๐™‚๐™Š๐™๐˜ผ๐˜ฟ๐™Š, ๐™€๐™‡ ๐™‹๐™‘๐™‹ ๐™Ž๐™€ ๐˜พ๐˜ผ๐™‰๐˜พ๐™€๐™‡๐˜ผ`, m); delete conn.suit[id]; }, timeout), poin: 1000, poin_lose: 300, poin_bot: 500, timeout }} } if (command == 'slot' || command == 'apostar' || command == 'slot1' || command == 'slot2' || command == 'slot3') { const slotTypes = { slot1: { currency: 'exp', name: 'Exp', emojis: ['๐Ÿ’Ž', 'โšก', '๐Ÿช™'], cooldown: 60000, bonusWin: apuesta => apuesta * 2, consolation: 50, symbol: 'โšก' }, slot2: { currency: 'money', name: 'KantuCoins', emojis: ['๐Ÿช™', '๐Ÿ”ฎ', '๐Ÿงฟ'], cooldown: 60000, bonusWin: apuesta => apuesta * 2, consolation: 30, symbol: '๐Ÿช™' }, slot3: { currency: 'limit', name: 'Diamantes', emojis: ['๐Ÿช™', '๐Ÿ’ฃ', '๐Ÿ’Ž'], cooldown: 30000, bonusWin: apuesta => apuesta * 2, consolation: 2, symbol: '๐Ÿ’Ž' }} const fa = `${mg}๐™๐™จ๐™–๐™ง ๐™™๐™š ๐™ก๐™– ๐™จ๐™ž๐™œ๐™ช๐™ž๐™š๐™ฃ๐™ฉ๐™š ๐™ข๐™–๐™ฃ๐™š๐™ง๐™–:\n\n๐™€๐™Ÿ๐™š๐™ข๐™ฅ๐™ก๐™ค:\n*โ€ข ${usedPrefix}slot1 50* (aportas exp)\n*โ€ข ${usedPrefix}slot2 50* (aportas KantuCoins)\n*โ€ข ${usedPrefix}slot3 50* (aportas Diamantes)`.trim() const validateBet = (users, apuesta, currency, name) => { if (apuesta < 10) throw `โš ๏ธ ๐ƒ๐ž๐›๐ž๐ฌ ๐š๐ฉ๐จ๐ฌ๐ญ๐š๐ซ ๐ฎ๐ง ๐ฆ๐ข๐ง๐ข๐ฆ๐จ ๐๐ž *10 ${name}*` if (users[currency] < apuesta) throw `โš ๏ธ ๐๐จ ๐ญ๐ข๐ž๐ง๐ž๐ฌ ๐ฌ๐ฎ๐Ÿ๐ข๐œ๐ข๐ž๐ง๐ญ๐ž๐ฌ *${name}* ๐ฉ๐š๐ซ๐š ๐š๐ฉ๐จ๐ฌ๐ญ๐šr. ๐ˆ๐ง๐ญ๐ž๐ซ๐š๐œ๐ญ๐ฎ๐š ๐œ๐จ๐ง ๐ž๐ฅ ๐›๐จ๐ญ ๐ฉ๐š๐ซ๐š ๐จ๐›๐ญ๐ž๐ง๐ž๐ซ ๐ฆ๐šฬ๐ฌ ๐ซ๐ž๐œ๐ฎ๐ซ๐ฌ๐จ๐ฌ.` } const playSlot = async (m, conn, apuesta, config, users) => { const { currency, name, emojis, cooldown, bonusWin, consolation } = config const time = users.lastslot + cooldown if (new Date() - users.lastslot < cooldown) throw `*๐•๐ฎ๐ž๐ฅ๐ฏ๐š ๐ž๐ง: ${msToTime(time - new Date())} ๐ฉ๐š๐ซ๐š ๐œ๐จ๐ง๐ญ๐ข๐ง๐ฎ๐š๐ซ ๐š๐ฉ๐จ๐ฌ๐ญ๐š๐ง๐๐จ ${name}* ๐ŸŽฐ` users.lastslot = Date.now() const a = Math.floor(Math.random() * emojis.length) const b = Math.floor(Math.random() * emojis.length) const c = Math.floor(Math.random() * emojis.length) const [x, y, z] = [[], [], []] for (let i = 0; i < 3; i++) { x[i] = emojis[(a + i) % emojis.length] y[i] = emojis[(b + i) % emojis.length] z[i] = emojis[(c + i) % emojis.length] } let end if (a === b && b === c) { end = `๐Ÿฅณ *ยกQUร‰ PRO! HAS GANADO +${bonusWin(apuesta)} ${name}*` users[currency] += apuesta } else if (a === b || a === c || b === c) { end = `๐Ÿ˜ฏ *ยกCASI! VUELVE A INTENTAR*\n*BONO DE +${consolation} ${name}*` users[currency] += consolation } else { end = `๐Ÿ˜ฟ *ยกHAS PERDIDO! โŒ -${apuesta} ${name}*` users[currency] -= apuesta } const hawemod = [ `${x[0]} : ${y[1]} : ${z[0]}\n${z[1]} : ${y[0]} : ${x[0]}\n${z[2]} : ${x[1]} : ${y[2]}`, `${x[0]} : ${y[0]} : ${z[0]}\n${y[1]} : ${z[1]} : ${x[1]}\n${x[2]} : ${y[2]} : ${z[2]}`, `${x[0]} : ${y[1]} : ${z[0]}\n${y[1]} : ${z[2]} : ${x[1]}\n${x[2]} : ${y[1]} : ${z[2]}` ] const maxIterations = 25 const arrayCasuale = generaArrayCasuale(hawemod, maxIterations) const array = [...arrayCasuale] const { key } = await conn.sendMessage(m.chat, { text: `๐Ÿ•น` }, { quoted: m }) for (let i = 0; i < maxIterations; i++) { await conn.sendMessage(m.chat, {text: `๐ŸŽฐ | *RANURAS* | ๐ŸŽฐ\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n${array[i]}\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n๐ŸŽฐ | *SLOTS* | ๐ŸŽฐ`, edit: key }, { quoted: m }) await new Promise(resolve => setTimeout(resolve, 50)) } await conn.sendMessage(m.chat, { text: `๐ŸŽฐ | *RANURAS* | ๐ŸŽฐ\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n${x[0]} : ${y[0]} : ${z[0]}\n${x[1]} : ${y[1]} : ${z[1]}\n${x[2]} : ${y[2]} : ${z[2]}\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n๐ŸŽฐ | *SLOTS* | ๐ŸŽฐ\n\n${end}`, edit: key }, { quoted: m }) } if (command === 'apostar' || command === 'slot') { if (!args[0]) return m.reply(fa) if (isNaN(args[0])) return m.reply(fa) const apuesta = parseInt(args[0]) await conn.sendButton(m.chat, `*Elige en quรฉ apostar tus ${apuesta}*`, botname, null, [['โšก Exp', `.slot1 ${apuesta}`], ['๐Ÿช™ KantuCoins', `.slot2 ${apuesta}`], ['๐Ÿ’Ž Diamantes', `.slot3 ${apuesta}`]], null, null, m) return } if (!args[0]) return m.reply(fa) if (isNaN(args[0])) return m.reply(fa) const apuesta = parseInt(args[0]) const users = global.db.data.users[m.sender] const slotType = slotTypes[command] if (!slotType) return try { validateBet(users, apuesta, slotType.currency, slotType.name) await playSlot(m, conn, apuesta, slotType, users) } catch (e) { m.reply(e) }} if (command == 'tictactoe' || command == 'ttc' || command == 'ttt' || command == 'xo') { conn.game = conn.game ? conn.game : {} if (Object.values(conn.game).find(room => room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender))) return m.reply(`โš ๏ธ ๐™๐™ค๐™™๐™–๐™ซ๐™ž๐™– ๐™–๐™ก๐™œ๐™ช๐™ž๐™š๐™ฃ ๐™š๐™จ๐™ฉ๐™– ๐™Ÿ๐™ช๐™œ๐™–๐™ฃ๐™™๐™ค ๐™š๐™ฃ ๐™ก๐™– ๐™จ๐™–๐™ก๐™– ๐™จ๐™ž ๐™ฆ๐™ช๐™ž๐™š๐™ง๐™š ๐™–๐™—๐™–๐™ฃ๐™™๐™ค๐™ฃ๐™–๐™ง ๐™š๐™จ๐™˜๐™ง๐™ž๐™—๐™– *salir*\n๐™๐™–๐™ข๐™—๐™ž๐™š๐™ฃ ๐™ฅ๐™ช๐™š๐™™๐™š๐™จ ๐™š๐™ก๐™ž๐™ข๐™ž๐™ฃ๐™–๐™ง ๐™ก๐™– ๐™จ๐™–๐™ก๐™– ๐™ช๐™จ๐™–๐™ฃ๐™™๐™ค ๐™š๐™ก ๐™˜๐™ค๐™ข๐™–๐™ฃ๐™™๐™ค *${usedPrefix}delttt*`) if (!text) return m.reply(`*โš ๏ธ ๐˜ฟ๐™š๐™—๐™š ๐™™๐™š ๐™–๐™œ๐™ง๐™š๐™œ๐™– ๐™ช๐™ฃ ๐™ฃ๐™ค๐™ข๐™—๐™ง๐™š ๐™– ๐™ก๐™– ๐™จ๐™–๐™ก๐™–\n๐™€๐™Ÿ๐™š๐™ข๐™ฅ๐™ก๐™ค\n${usedPrefix + command} Sala bot*`) let room = Object.values(conn.game).find(room => room.state === 'WAITING' && (text ? room.name === text : true)) if (room) { await conn.reply(m.chat, `โš ๏ธ ๐˜ผ๐™ก๐™œ๐™ช๐™ž๐™š๐™ฃ ๐™จ๐™š ๐™๐™– ๐™ช๐™ฃ๐™ž๐™™๐™ค ๐™– ๐™ก๐™– ๐™จ๐™–๐™ก๐™– *${text}*\n๐™”๐™– ๐™ฅ๐™ช๐™š๐™™๐™š๐™ฃ ๐™Ÿ๐™ช๐™œ๐™–๐™ง!! ๐Ÿ˜ผ`, fkontak, m) await conn.reply(m.chat, `โญ•๏ธ *Clรกsico Juego del Gato, 3 en raya o tateti* โŒ\n\n*ยฟCรณmo jugar?*\n_Responde al Juego con un Nรบmero, el mensaje debe contener la posiscion en la que quieras estar (1,2,3,4,5,6,7,8,9)_`, fkontak, m) room.o = m.chat room.game.playerO = m.sender room.state = 'PLAYING' let arr = room.game.render().map(v => { return { X: 'โŽ', O: 'โญ•', 1: '1๏ธโƒฃ', 2: '2๏ธโƒฃ', 3: '3๏ธโƒฃ', 4: '4๏ธโƒฃ', 5: '5๏ธโƒฃ', 6: '6๏ธโƒฃ', 7: '7๏ธโƒฃ', 8: '8๏ธโƒฃ', 9: '9๏ธโƒฃ', }[v]}) let str = `๐Ÿ’– ๐™…๐™ช๐™š๐™œ๐™ค ๐™ฉ๐™–๐™ฉ๐™š๐™ฉ๐™ž ๐Ÿซ‚ ๐™…๐™ช๐™œ๐™–๐™™๐™ค๐™ง๐™š๐™จ: *โ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆ* โŽ = @${room.game.playerX.split('@')[0]} โญ• = @${room.game.playerO.split('@')[0]} *โ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆ* ${arr.slice(0, 3).join('')} ${arr.slice(3, 6).join('')} ${arr.slice(6).join('')} *โ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆ* ๐™๐™ช๐™ง๐™ฃ๐™ค ๐™™๐™š: @${room.game.currentTurn.split('@')[0]} `.trim() if (room.x !== room.o) await conn.sendMessage(room.x, { text: str, mentions: this.parseMention(str)}, { quoted: fkontak, m }) await conn.sendMessage(room.o, { text: str, mentions: conn.parseMention(str)}, { quoted: fkontak, m }) } else { room = { id: 'tictactoe-' + (+new Date), x: m.chat, o: '', game: new TicTacToe(m.sender, 'o'), state: 'WAITING' } if (text) room.name = text let imgplay = `https://img.freepik.com/vector-premium/juego-tres-raya-icono-contorno-lineal-neon_7280-2422.jpg` conn.sendMessage(m.chat, { image: { url: imgplay }, caption: `๐Ÿ˜ผ ๐™…๐™ช๐™š๐™œ๐™ค๐™จ ๐™๐™–๐™ฉ๐™š๐™ฉ๐™ž ๐Ÿˆ ๐™€๐™จ๐™ฅ๐™š๐™ง๐™–๐™ฃ๐™™๐™ค ๐™–๐™ก ๐™จ๐™š๐™œ๐™ช๐™ฃ๐™™๐™ค ๐™Ÿ๐™ช๐™œ๐™–๐™™๐™ค๐™ง ๐™ฅ๐™ช๐™š๐™™๐™š ๐™ž๐™ฃ๐™œ๐™ง๐™š๐™จ๐™– ๐™ช๐™จ๐™–๐™ฃ๐™™๐™ค ๐™š๐™ก ๐™˜๐™ค๐™ข๐™–๐™ฃ๐™™๐™ค *${usedPrefix + command} ${text}* ๐™Ž๐™ž ๐™ฆ๐™ช๐™ž๐™š๐™ง๐™š๐™จ ๐™–๐™—๐™–๐™ฃ๐™™๐™ค๐™ฃ๐™–๐™ง ๐™ก๐™– ๐™จ๐™–๐™ก๐™– ๐™ช๐™จ๐™– ๐™š๐™ก ๐™˜๐™ค๐™ข๐™–๐™ฃ๐™™๐™ค *${usedPrefix}delttt*` }, { mentions: conn.parseMention(text), quoted: fkontak }) conn.game[room.id] = room }} if (command == 'math' || command == 'mates' || command == 'matemรกticas') { // 60000 = 1 minuto // 30000 = 30 segundos // 15000 = 15 segundos // 10000 = 10 segundos let time = global.db.data.users[m.sender].wait + 60000 if (new Date - global.db.data.users[m.sender].wait < 60000) return await conn.reply(m.chat, `*๐Ÿ•“ ๐™€๐™Ž๐™‹๐™€๐™๐˜ผ ${Math.floor((time - new Date()) / 1000)} ๐™Ž๐™€๐™‚๐™๐™‰๐˜ฟ๐™Š๐™Ž ๐˜ผ๐™‰๐™๐™€๐™Ž ๐˜ฟ๐™€ ๐™‘๐™Š๐™‡๐™‘๐™€๐™ ๐˜ผ ๐™…๐™๐™‚๐˜ผ๐™*`, fkontak, m) let mat = `${lenguajeGB['smsAvisoIIG']()}โœจ ๐™‹๐™ช๐™š๐™™๐™š ๐™š๐™จ๐™˜๐™ง๐™ž๐™—๐™ž ๐™ก๐™– ๐™™๐™ž๐™›๐™ž๐™˜๐™ช๐™ก๐™ฉ๐™–๐™™ *Nivel del dificultad* ${Object.keys(modes).join(' | ')} *Ejemplo:* ${usedPrefix + command} noob ${usedPrefix + command} impossible2 ๐Ÿ˜ผ *Mientras mas dificultad mayor recompensa*`.trim() if (args.length < 1) return await conn.reply(m.chat, mat, fkontak, m) let mode = args[0].toLowerCase() if (!(mode in modes)) return await conn.reply(m.chat, mat, fkontak, m) let id = m.chat if (id in global.math) return conn.reply(m.chat, `โš ๏ธ *แด›แดแด…แด€แด ษชแด€ สœแด€ส แด˜ส€แด‡ษขแดœษดแด›แด€ sษชษด ส€แด‡sแด˜แดษดแด…แด‡ส€ แด‡สŸ แด‡sแด›แด‡ แด„สœแด€แด›!!*`, global.math[id][0]) //let ii = global.db.data.users[m.sender].limit += 10 math.dia let math = genMath(mode) global.math[id] = [ await conn.reply(m.chat, `โ•ญโ”„ใ€” *${wm}* ใ€•โ”„โŠฑ โ”†๐˜พ๐™ช๐™–๐™ก ๐™š๐™จ ๐™ง๐™š๐™จ๐™ช๐™ก๐™ฉ๐™–๐™™๐™ค ๐™™๐™š: *${math.str} = ?* โ”†โ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆ โ”†๐Ÿงญ ๐™๐™ž๐™š๐™ข๐™ฅ๐™ค: *${(math.time / 1000).toFixed(0)} segundos* โ”†โ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆโ”ˆ โ”†๐™๐™š๐™จ๐™ฅ๐™ค๐™ฃ๐™™๐™š ๐™– ๐™š๐™จ๐™ฉ๐™š ๐™ข๐™š๐™ฃ๐™จ๐™–๐™Ÿ๐™š ๐™ฎ ๐™‚๐™–๐™ฃ๐™– โ”†๐Ÿ† *${math.bonus}: XP* โ•ฐโ”โ”โ”โŠฐ ๐“ƒ  ${vs} โŠฑโ”โ”โ”โ”แƒ“`, m), math, 4, //await conn.reply(m.chat, `โฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธโฌ†๏ธ๐™๐™€๐™Ž๐™‹๐™Š๐™‰๐˜ฟ๐˜ผ ๐˜ผ๐™‡ ๐™ˆ๐™€๐™‰๐™Ž๐˜ผ๐™…๐™€ ๐˜ฟ๐™€ ๐˜ผ๐™๐™๐™„๐˜ฝ๐˜ผ ๐˜พ๐™Š๐™‰ ๐™‡๐˜ผ ๐™๐™€๐™Ž๐™‹๐™๐™€๐™Ž๐™๐˜ผ\n\n๐˜ผ๐™‰๐™Ž๐™’๐™€๐™ ๐™๐™ƒ๐™€ ๐™ˆ๐™€๐™Ž๐™Ž๐˜ผ๐™‚๐™€ ๐˜ผ๐˜ฝ๐™Š๐™‘๐™€ ๐™๐™Š ๐™†๐™‰๐™Š๐™’ ๐™”๐™Š๐™๐™ ๐˜ผ๐™‰๐™Ž๐™’๐™€๐™\n\n${wm}`, fkontak, m), math, 4, setTimeout(() => { if (global.math[id]) conn.reply(m.chat, `โŒ› sแด‡ แด€แด„แด€ส™แด แด‡สŸ แด›ษชแด‡แดแด˜แด สŸแด€ ส€แด‡sแด˜แดœแด‡sแด›แด€ แด‡s *${math.result}*`, global.math[id][0]) delete global.math[id] }, math.time) ] global.db.data.users[m.sender].wait = new Date * 1 } if (command == 'delttt' || command == 'deltt' || command == 'delxo' || command == 'deltictactoe') { let room = Object.values(conn.game).find(room => room.id.startsWith('tictactoe') && [room.game.playerX, room.game.playerO].includes(m.sender)) if (room == undefined) return await conn.reply(m.chat, `โš ๏ธ ๐™‰๐™Š ๐™€๐™Ž๐™๐˜ผ๐™Ž ๐™€๐™‰ ๐™‰๐™„๐™‰๐™‚๐™๐™‰๐˜ผ ๐™‹๐˜ผ๐™๐™๐™„๐˜ฟ๐˜ผ ๐™€๐™‰ ๐™€๐™‡ ๐™…๐™๐™€๐™‚๐™Š ๐™๐™๐™€๐™Ž ๐™€๐™‰ ๐™๐˜ผ๐™”๐˜ผ\n\n๐Ÿ’ซ ๐™„๐™‰๐™„๐˜พ๐™„๐˜ผ๐™ ๐™‹๐˜ผ๐™๐™๐™„๐˜ฟ๐˜ผ (${usedPrefix}ttt sala nueva)`, fkontak, m) delete conn.game[room.id] await conn.reply(m.chat, `โš ๏ธ ๐™‡๐˜ผ ๐™Ž๐˜ผ๐™‡๐˜ผ ๐™๐™๐™€๐™Ž ๐™€๐™‰ ๐™๐˜ผ๐™”๐˜ผ ๐™๐™๐™€ ๐™€๐™‡๐™„๐™ˆ๐™„๐™‰๐˜ผ๐˜ฟ๐˜ผ`, fkontak, m) }} catch (e) { //await conn.reply(m.chat, `${lenguajeGB['smsMalError3']()}#report ${lenguajeGB['smsMensError2']()} ${usedPrefix + command}\n\n${wm}`, fkontak, m) console.log(e)}} handler.help = ["ppt", "suitpvp", "pvp", "slot", "apostar", "tictactoe", "ttt", "math", "matemรกticas", "delttt"]; handler.tags = ['game']; handler.command = /^(ppt|suitpvp|suit|pvp|moneda|suert|currency|luck|cara|Method|slot|apostar|slot1|slot2|slot3|tictactoe|ttc|ttt|xo|math|mates|matemรกticas|delttt|deltt|delxo|deltictactoe)$/i handler.group = true handler.game = true handler.register = true export default handler function pickRandom(list) { return list[Math.floor(Math.random() * list.length)]} function msToTime(duration) { var milliseconds = parseInt((duration % 1000) / 100), seconds = Math.floor((duration / 1000) % 60), minutes = Math.floor((duration / (1000 * 60)) % 60), hours = Math.floor((duration / (1000 * 60 * 60)) % 24) hours = (hours < 10) ? "0" + hours : hours minutes = (minutes < 10) ? "0" + minutes : minutes seconds = (seconds < 10) ? "0" + seconds : seconds return minutes + " m " + seconds + " s " } let modes = { noob: [-3, 3,-3, 3, '+-', 15000, 30], easy: [-10, 10, -10, 10, '*/+-', 20000, 50], medium: [-40, 40, -20, 20, '*/+-', 30000, 200], hard: [-100, 100, -70, 70, '*/+-', 40000, 500], extreme: [-999999, 999999, -999999, 999999, '*/', 40000, 2500], impossible: [-99999999999, 99999999999, -99999999999, 999999999999, '*/', 50000, 5500], impossible2: [-999999999999999, 999999999999999, -999, 999, '/', 60000, 8500] } let operators = { '+': '+', '-': '-', '*': 'ร—', '/': 'รท' } // XP function genMath(mode) { let [a1, a2, b1, b2, ops, time, bonus] = modes[mode] let a = randomInt(a1, a2) let b = randomInt(b1, b2) let op = pickRandom([...ops]) let result = (new Function(`return ${a} ${op.replace('/', '*')} ${b < 0 ? `(${b})` : b}`))() if (op == '/') [a, result] = [result, a] return { str: `${a} ${operators[op]} ${b}`, mode, time, bonus, result }} function generaArrayCasuale(array, ripetizioni) { let risultato = []; for (let i = 0; i < ripetizioni; i++) { risultato = risultato.concat(array); } return risultato; } function randomInt(from, to) { if (from > to) [from, to] = [to, from] from = Math.floor(from) to = Math.floor(to) return Math.floor((to - from) * Math.random() + from) }