diff --git a/app.js b/app.js index 538067f..8dc3ea4 100644 --- a/app.js +++ b/app.js @@ -6,8 +6,9 @@ require('dotenv').config(); const prefix = process.env.PREFIX || 'more'; const modulFolder = "./modules/"; -const komand_handlery = []; const eventy = { on_message: [] }; +const komandy = {}; +const aliasy = {}; let spink = false; const runEvent = (name, args) => { @@ -27,7 +28,17 @@ fs.readdirSync(modulFolder).forEach(function (soubor) { if (name !== 'on_message') client.on(name.substring(3), (...args) => runEvent(name, args)); } eventy[name].push(modul[name]); - } else if (name === 'more_komand') komand_handlery.push(modul[name]); + } else if (name === 'more_komandy') { + Object.keys(modul[name]).forEach(cmdName => { + const value = modul[name][cmdName]; + if (typeof value !== "object") { + komandy[cmdName] = value; + return; + } + komandy[cmdName] = value.run; + value.als?.forEach(al => aliasy[al] = cmdName); + }); + } }); } }); @@ -61,10 +72,12 @@ client.on("message", function (mes) { if (!komand) return mes.channel.send("coe voe"); const celArgs = args.join(' '); - for (let i = 0; i < komand_handlery.length; i++) { - if (komand_handlery[i](mes, komand.toLowerCase(), celArgs)) return; - } - mes.channel.send('co to znamena ti gadzovko'); + const cmd = aliasy[komand] ?? komand; + const akce = komandy[cmd]; + if (!akce) return mes.channel.send("co to znamena ti gadzovko"); + if (typeof akce === "string") return mes.channel.send(akce); + const result = akce(celArgs, mes); + if (!result || !result.then) mes.channel.send(result); }); client.on("debug", console.log); diff --git a/modules/komArgs.js b/modules/komArgs.js index eef8323..a414b9b 100644 --- a/modules/komArgs.js +++ b/modules/komArgs.js @@ -1,49 +1,40 @@ // Komandy, který pošlou jenom celArgs a random hovno module.exports = { - more_komand: (mes, komand, celArgs) => { - let corict; - switch (komand) { + more_komandy: { - case 'rekni': - if (mes.author.bot) break; - corict = celArgs ? celArgs : 'co mam jako ric'; - mes.channel.send(corict); + rekni: (arg, mes) => { + if (mes.author.bot) return "ne"; + const corict = arg ?? "co mam jako rict"; + mes.delete(); + return corict; + }, + + clap: (arg, mes) => { + mes.delete(); + return `${arg} `; + }, + + clap2: (arg, mes) => { + mes.delete(); + return ` ${arg}`; + }, + + voliz: { + als: ["voliž"], + run: (arg, mes) => { mes.delete(); - break; + return `${arg}`; + } + }, - case 'clap': - mes.channel.send(`${celArgs} `); - mes.delete(); - break; + pozdrav: arg => `zdravim ${arg}`, - case 'clap2': - mes.channel.send(` ${celArgs}`); - mes.delete(); - break; + zhejti: arg => `${arg} je pycovina zasrana vimrdana`, - case 'voliž': - case 'voliz': - mes.channel.send(`${celArgs}`); - mes.delete(); - break; - - case 'pozdrav': - mes.channel.send(`zdravim ${celArgs}`); - break; - - case 'zhejti': - mes.channel.send(`${celArgs} je pycovina zasrana vimrdana`); - break; - - case 'uraž': - case 'uraz': - mes.channel.send(`${celArgs} , u suck`); - break; - - default: - return false; + uraz: { + als: ["uraž"], + run: arg => `${arg} , u suck` } - return true; } }; diff --git a/modules/komComplex.js b/modules/komComplex.js index 2acd348..da4243e 100644 --- a/modules/komComplex.js +++ b/modules/komComplex.js @@ -1,109 +1,91 @@ // Komandy, který buď nějakým způsobem mění funkci nebo "vzhled" bota // nebo donutí bota něco udělat (odeslání zprávy s výsledkem nebo smazání originální zprávy se nepočítá) -const akce = { hraj: 'PLAYING', sleduj: 'WATCHING', poslouchej: 'LISTENING', soutez: 'COMPETING', soutěž: 'COMPETING', nedelej: '', nedělej: '' }; const zarizeni = { desktop: 'Počítač', mobile: 'Mobil', web: 'Web' }; const statusy = { online: '🟢', idle: '🟡', dnd: '🔴' }; + +const changeStatus = (mes, status) => { + mes.client.user.setStatus(status); + return "ano pane"; +}; + +const changeActivity = (mes, activity, txt) => { + mes.client.user.setActivity(txt, activity); + mes.react("730175107313565717"); + return "ano pane"; +}; + const ping = /^<@!?\d+>$/; module.exports = { - more_komand: (mes, komand, celArgs) => { - switch (komand) { + more_komandy: { - case 'online': - case 'onlajn': - case 'zelenej': - mes.client.user.setStatus('online'); - mes.channel.send('ano pane'); - break; + online: { + als: ["onlajn", "zelenej"], + run: (_, mes) => changeStatus(mes, "online") + }, + idle: { + als: ["žlutej", "zlutej", "afk", "idle", "nepřítomnej", "nepritomnej"], + run: (_, mes) => changeStatus(mes, "idle") + }, + dnd: { + als: ["nerusit", "nerušit", "červenej", "cervenej"], + run: (_, mes) => changeStatus(mes, "dnd") + }, + offline: { + als: ["oflajn", "neviditelnej"], + run: (_, mes) => changeStatus(mes, "invisible") + }, - case 'neviditelnej': - case 'offline': - case 'oflajn': - mes.client.user.setStatus('invisible'); - mes.channel.send('ano pane'); - break; + hraj: (arg, mes) => changeActivity(mes, "PLAYING", arg), + sleduj: (arg, mes) => changeActivity(mes, "WATCHING", arg), + poslouchej: (arg, mes) => changeActivity(mes, "LISTENING", arg), + soutez: { + als: ["soutěž"], + run: (arg, mes) => changeActivity(mes, "COMPETING", arg) + }, + nedelej: (_, mes) => changeActivity(mes, ""), - case 'dnd': - case 'nerusit': - case 'nerušit': - case 'červenej': - case 'cervenej': - mes.client.user.setStatus('dnd'); - mes.channel.send('ano pane'); - break; + fight: { + als: ["figh", "fajt"], + run: (arg, mes) => { + if (!ping.test(arg)) return 'tak si kokot ti kokote'; - case 'žlutej': - case 'zlutej': - case 'afk': - case 'idle': - case 'nepřítomnej': - case 'nepritomnej': - mes.client.user.setStatus('idle'); - mes.channel.send('ano pane'); - break; + const vyherce = Math.random() < 0.5 ? mes.author : arg; + return `tento figh vyhrál: ${vyherce}!`; + } + }, - case 'hraj': - case 'sleduj': - case 'poslouchej': - case 'soutez': - case 'soutěž': - case 'nedelej': - case 'nedělej': - mes.client.user.setActivity(celArgs, { type: akce[komand] }); - mes.channel.send('ano pane'); - mes.react('730175107313565717'); - break; + status: (arg, mes) => { + if (!ping.test(arg)) return 'tak si kokot ti kokote'; - case 'fight': - case 'figh': - case 'fajt': - if (!ping.test(celArgs)) { - mes.channel.send('tak si kokot ti kokote'); - break; - } - const vyherce = Math.round(Math.random()) ? mes.author : celArgs; - mes.channel.send(`tento figh vyhrál: ${vyherce}!`); - break; + const uzivatel = mes.mentions.users.first(); + const embed = { + title: `Informace o statusech pro ${uzivatel.username}:`, + color: 431075 + }; + const presence = uzivatel.presence.clientStatus; + if (!presence) { + embed.description = '*Všude je offline*'; + } else { + const uStatusy = []; + Object.keys(presence).forEach(status => { + uStatusy.push(`${zarizeni[status]}: ${statusy[presence[status]]}`); + }); + embed.description = uStatusy.join('\n'); + } + return { embed }; + }, - case 'status': - if (!ping.test(celArgs)) { - mes.channel.send('tak si kokot ti kokote'); - break; - } - const uzivatel = mes.mentions.users.first(); - const embed = { - title: `Informace o statusech pro ${uzivatel.username}:`, - color: 431075 - }; - const presence = uzivatel.presence.clientStatus; - if (!presence) { - embed.description = '*Všude je offline*'; - } else { - const uStatusy = []; - Object.keys(presence).forEach(status => { - uStatusy.push(`${zarizeni[status]}: ${statusy[presence[status]]}`); - }); - embed.description = uStatusy.join('\n'); - } - mes.channel.send({ embed }); - break; + zareaguj: { + als: ["react"], + run: (arg, mes) => { + if (!arg) return 'retard'; - case 'zareaguj': - case 'reakce': - case 'reaguj': - if (!celArgs) { - mes.channel.send('retard'); - break; - } + const emouty = arg.match(//g); + if (!emouty) return 'retard'; - const emouty = celArgs.match(//g); - if (!emouty) { - mes.channel.send('retard'); - break; - } let naCo; - (async () => { if (mes.reference) { naCo = await mes.channel.messages.fetch(mes.reference.messageID); @@ -112,14 +94,30 @@ module.exports = { naCo = msgs[msgs.length - 2]; } - emouty.forEach(emout => naCo.react(emout)); mes.delete(); + emouty.forEach(emout => naCo.react(emout)); })(); - break; + } + }, - default: - return false; + odpocitej: (_, mes) => { + const randomshit = (dalsi, argument) => { + dalsi.edit(argument[0]); + argument.splice(0, 1); + if (argument.length) setTimeout(() => randomshit(dalsi, argument), 1000); + }; + mes.channel.send(":stop_button:").then(mes => randomshit(mes, [":five:", ":four:", ":three:", ":two:", ":one:", ":ok:"])); + }, + + pocasi: { + als: ["počasí"], + run: _ => { + const embed = { + title: "Počasí", + image: { url: "attachment://pocasi.png" } + }; + return { embed, files: ["https://util.deadfish.cz/morepocasi/v/49.4348358/12.8147250/pocasi.png"] }; + } } - return true; } }; diff --git a/modules/komRNG.js b/modules/komRNG.js index dcd26c2..16a43c3 100644 --- a/modules/komRNG.js +++ b/modules/komRNG.js @@ -6,56 +6,45 @@ const mista = ['na šroťák', 'na vrakoviště', 'na smetiště', 'do kontejner const rand = max => Math.floor(Math.random() * max); module.exports = { - more_komand: (mes, komand, celArgs) => { - let corict; - switch (komand) { + more_komandy: { - case 'vtip': - case 'ftip': - mes.channel.send(ftipy[rand(ftipy.length)]); - break; + vtip: { + als: ["ftip"], + run: _ => ftipy[rand(ftipy.length)] + }, - case 'kam': - mes.channel.send(mista[rand(mista.length)]); - break; + kam: _ => mista[rand(mista.length)], - case 'je': - mes.channel.send(rand(2) ? 'jo je' : 'ne neni'); - break; + je: _ => rand(2) ? "jo je" : "ne neni", - case 'má': - case 'ma': - mes.channel.send(rand(2) ? 'jo ma' : 'ne nema'); - break; + ma: { + als: ["má"], + run: _ => rand(2) ? "jo ma" : "ne nema" + }, - case 'nazor': - case 'názor': - mes.channel.send(rand(2) ? `mam rad ${celArgs}` : `${celArgs} je picovina`); - break; + nazor: { + als: ["názor"], + run: arg => rand(2) ? `mam rad ${arg}` : `${arg} je picovina` + }, - case 'si': - case 'jsi': - corict = celArgs.replace('?', ''); - mes.channel.send(rand(2) ? `jo sem ${corict}` : `ne nejsem ${corict}`); - break; + si: { + als: ["jsi"], + run: arg => { + const corict = arg.replace(/\?/g, ""); + return rand(2) ? `jo sem ${corict}` : `ne nejsem ${corict}`; + } + }, - case 'mas': - case 'máš': - corict = celArgs.replace('?', ''); - mes.channel.send(rand(2) ? `jo mam ${corict}` : `ne nemam ${corict}`); - break; + mas: { + als: ["máš"], + run: arg => { + const corict = arg.replace(/\?/g, ""); + return rand(2) ? `jo mam ${corict}` : `ne nemam ${corict}`; + } + }, - case 'jakmoc': - mes.channel.send(`${celArgs} na ${rand(101)}%`); - break; + jakmoc: arg => `${arg} na ${rand(101)}%`, - case "jakmoc0": - mes.channel.send(`${celArgs} na ${rand(1001)}‰`); - break; - - default: - return false; - } - return true; + jakmoc0: arg => `${arg} na ${rand(1001)}%` } }; diff --git a/modules/komStatic.js b/modules/komStatic.js index 23063d3..24b8f5e 100644 --- a/modules/komStatic.js +++ b/modules/komStatic.js @@ -3,81 +3,34 @@ const pomoc = JSON.parse(require('fs').readFileSync('addons/pomoc.json')); module.exports = { - more_komand: (mes, komand) => { - switch (komand) { + more_komandy: { - case 'vole': - mes.channel.send('coe voe more gadzo'); - break; + vole: _ => "coe voe more gadzo", - case 'kobel': - mes.channel.send('kde?'); - break; + kobel: _ => "kde?", - case 'ano': - case 'jo': - case 'ne': - mes.channel.send('ok'); - break; + ano: { + als: ["jo", "ne"], + run: "ok" + }, - case 'rekt': - mes.channel.send('**ouuuuuuuuuuuuuuuuuuuuu**'); - break; + rekt: "**ouuuuuuuuuuuuuuuuuuuuu**", - case 'omegasmart': - mes.channel.send('<:DENIM3K_OMEGASMART1:638103812892131328><:DENIM3K_OMEGASMART2:638104266195861514><:DENIM3K_OMEGASMART3:638104266178822155>\n<:DENIM3K_OMEGASMART4:638104266246062180><:DENIM3K_OMEGASMART5:638104266241867787><:DENIM3K_OMEGASMART6:638104265889546241>\n<:DENIM3K_OMEGASMART7:638104266267033610><:DENIM3K_OMEGASMART8:638104266271096882><:DENIM3K_OMEGASMART9:638104266258513960>'); - break; + omegasmart: "<:DENIM3K_OMEGASMART1:638103812892131328><:DENIM3K_OMEGASMART2:638104266195861514><:DENIM3K_OMEGASMART3:638104266178822155>\n<:DENIM3K_OMEGASMART4:638104266246062180><:DENIM3K_OMEGASMART5:638104266241867787><:DENIM3K_OMEGASMART6:638104265889546241>\n<:DENIM3K_OMEGASMART7:638104266267033610><:DENIM3K_OMEGASMART8:638104266271096882><:DENIM3K_OMEGASMART9:638104266258513960>", - case 'lag': - mes.channel.send('protoze to spousti na tich stravberi'); - break; + lag: "protoze to spousti na tich stravberi", - case 'triggered': - mes.channel.send('toto me trickeruje'); - break; + triggered: "toto me trickeruje", - case 'slak': - case 'šlak': - mes.channel.send('te natahne\nhttps://tenor.com/view/tired-done-imdone-afterschool-school-gif-5682065'); - break; + slak: { + als: ["šlak"], + run: "te natahne\nhttps://tenor.com/view/tired-done-imdone-afterschool-school-gif-5682065" + }, - case 'pomoc': - mes.channel.send(pomoc[0].join('\n')); - break; + pomoc: pomoc[0].join("\n"), - case 'pomoc2': - mes.channel.send({ embed: pomoc[1] }); - break; + pomoc2: _ => { return { embed: pomoc[1] }; }, - case "odpocitej": - case "odpočítej": { - const randomshit = (dalsi, argument) => { - dalsi.edit(argument[0]); - argument.splice(0, 1); - if (argument.length) setTimeout(() => randomshit(dalsi, argument), 1000); - }; - mes.channel.send(":stop_button:").then(mes => randomshit(mes, [":five:", ":four:", ":three:", ":two:", ":one:", ":ok:"])); - break; - } - - case "počasí": - case "pocasi": { - const embed = { - title: "Počasí", - image: { url: "attachment://pocasi.png" } - }; - - mes.channel.send({ embed, files: ["https://util.deadfish.cz/morepocasi/v/49.4348358/12.8147250/pocasi.png"] }); - break; - } - - case "verze": - mes.channel.send(`${require("../package.json").version}\nčenžlog mas tady https://denim3001.deadfish.cz/morehovna`); - break; - - default: - return false; - } - return true; + verze: _ => `${require("../package.json").version}\nčenžlog mas tady https://denim3001.deadfish.cz/morehovna` } }; diff --git a/modules/spink.js b/modules/spink.js index cf009fd..c88907b 100644 --- a/modules/spink.js +++ b/modules/spink.js @@ -1,6 +1,7 @@ // Modul dedikovaný funkci spinkáček const fetch = require('node-fetch'); +const { formatCas } = require("../addons/utils.js"); const spinkacky = []; const contactSpinkServer = async (akce, id, nick, avatar) => { @@ -28,37 +29,25 @@ const syncSpink = async () => { syncSpink(); -const formatCas = c => { - const h = Math.floor(c / 3600); - const m = Math.floor(c % 3600 / 60); - const s = Math.floor(c % 3600 % 60); - - return `${h} hodin ${m} mynut a ${s} se kund`; -}; - module.exports = { - more_komand: (mes, komand) => { - switch (komand) { + more_komandy: { - case 'spinkáček': - case 'spinkacek': - if (mes.author.bot) { - mes.channel.send("až někdy<:kapp:677916836418813953>"); - break; - } + spinkacek: { + als: ["spinkáček"], + run: (_, mes) => { + if (mes.author.bot) return "až někdy<:kapp:677916836418813953>"; (async () => { if (await contactSpinkServer('spinkacek', mes.author.id, mes.author.username, mes.author.avatarURL()) === "OK") mes.react("761652251966046208"); else mes.channel.send('nespis uz?????'); })(); - break; + } + }, - case 'vstáváček': - case 'vstavacek': - if (mes.author.bot) { - mes.channel.send("<:sjeta:623216247953424426>"); - break; - } + vstavacek: { + als: ["vstáváček"], + run: (_, mes) => { + if (mes.author.bot) return "<:sjeta:623216247953424426>"; (async () => { const odpoved = await contactSpinkServer('vstavacek', mes.author.id); const [ok, cas] = odpoved.split(" "); @@ -75,12 +64,8 @@ module.exports = { mes.channel.send(`dobry rano hajzle\nspal sy ${formatedCas}\n${zpr}`); })(); - break; - - default: - return false; + } } - return true; }, on_voiceStateUpdate: (bef, aft) => { diff --git a/modules/vojs.js b/modules/vojs.js index 61b0579..f1884c9 100644 --- a/modules/vojs.js +++ b/modules/vojs.js @@ -1,6 +1,5 @@ // Cokoliv co má něco společnýho s vojsem -const fs = require('fs'); const { formatCas } = require("../addons/utils.js"); let vojsKuldan = 0; @@ -66,116 +65,73 @@ const vytahnout = (clen, patro) => { const timeouty = {}; module.exports = { - more_komand: (mes, komand, celArgs) => { - switch (komand) { + more_komandy: { - case 'wojs': - mes.channel.send(`vojs se pise s normalnim v ti kriple ${mes.author}`); - break; + wojs: (_, mes) => `vojs se pise s normalnim v ti kriple ${mes.author}`, - case 'vojs': - const channel = mes.member.voice.channel; - if (!channel) { - mes.channel.send(`di si tam sam ne ty gadzo ${mes.author}`); - break; - } + vojs: (arg, mes) => { + const channel = mes.member.voice.channel; + if (!channel) return `di si tam sam ne ty gadzo ${mes.author}`; - const rozdil = (Date.now() - vojsKuldan) / 1000; - if (rozdil < 14_400) { - mes.channel.send(`\`${process.env.PREFIX} vojs\` muzes pouzit jyz zua ${formatCas(14_400 - rozdil)}`); - break; - } - vojsKuldan = Date.now(); + const rozdil = (Date.now() - vojsKuldan) / 1000; + if (rozdil < 14_400) return `\`${process.env.PREFIX} vojs\` muzes pouzit jyz zua ${formatCas(14_400 - rozdil)}`; + vojsKuldan = Date.now(); - if (celArgs !== 'potichu') mes.channel.send('<@&591306633196339261> vojs'); + if (arg !== 'potichu') mes.channel.send('<@&591306633196339261> vojs'); - if (mes.guild.voice) { - if (mes.guild.voice.channel === channel && mes.guild.voice.connection) break; - } + if (mes.guild.voice?.channel === channel && mes.guild.connection) return; - channel.join() - .then(con => { - if (!timeouty[mes.guild.id]) { - vypocitatCas(con); - con.on('disconnect', () => { - if (timeouty[mes.guild.id]) { - clearTimeout(timeouty[mes.guild.id]); - delete timeouty[mes.guild.id]; - } - }); - } - setTimeout(() => con.play('./zvuky/nazdar.ogg'), 500); - }); - break; + channel.join() + .then(con => { + if (!timeouty[mes.guild.id]) { + vypocitatCas(con); + con.on('disconnect', () => { + if (timeouty[mes.guild.id]) { + clearTimeout(timeouty[mes.guild.id]); + delete timeouty[mes.guild.id]; + } + }); + } + setTimeout(() => con.play('./zvuky/nazdar.ogg'), 500); + }); + }, - case "odejdi": - case "disconnect": - case "leave": - case "odpoj": - case "votpoj": - case "vodpoj": - case "vodprejskni": - case "tahni": - case "táhni": - case "vypadni": + vypadni: { + als: ["odejdi", "disconnect", "leave", "odpoj", "votpoj", "vodpoj", "vodprejskni", "tahni", "táhni"], + run: _ => { let vojs = mes.guild.voice; if (!vojs) vojs = {}; - if (!vojs.channel) { - mes.channel.send('nejsem ve vojsu'); - break; - } + if (!vojs.channel) return mes.channel.send('nejsem ve vojsu'); vojs.channel.leave(); mes.react('855120055632134155'); - break; + } + }, - case 'vitah': - case 'vytah': - if (!mes.member) { - mes.channel.send('kokot'); - break; - } - if (!mes.member.voice.channel) { - mes.channel.send(`nejsi ve vojsu ty gadzo ${mes.author}`); - break; - } - if (!celArgs) { - mes.channel.send(`napis do jakiho patra ${mes.author}`); - break; - } + vytah: { + als: ["vitah"], + run: (arg, mes) => { + if (!mes.member) return 'kokot'; + if (!mes.member.voice.channel) return `nejsi ve vojsu ty gadzo ${mes.author}`; + if (!arg) return `napis do jakiho patra ${mes.author}`; vytahnout(mes.member, Number(celArgs) || 0); - break; + } + }, - case "krkacek": - case "krkáček": - case "krkácek": - case "krkaček": - case "krk": - case "grg": - case "grgnisi": - case "krknisi": - case "grgacek": - case "grgáček": - case "grgácek": - case "grgaček": - (async _ => { - let vojs = mes.guild.voice?.connection; - let odpojit = false; - if (!vojs) { - const chanel = mes.member.voice.channel; - if (!chanel) return mes.channel.send("***grrrrrrrrg***"); - vojs = await chanel.join(); - odpojit = true; - } - vojs.play(`./zvuky/grg.mp3`, { volume: 0.5 }).on("finish", _ => { if (odpojit) vojs.channel.leave(); }); - })(); - break; - - default: - return false; + krkacek: { + als: ["krkáček", "krkácek", "krkaček", "krk", "grg", "grgnisi", "krknisi", "grgacek", "grgáček", "grgácek", "grgaček"], + run: async (_, mes) => { + let vojs = mes.guild.voice?.connection; + let odpojit = false; + if (!vojs) { + const chanel = mes.member.voice.channel; + if (!chanel) return mes.channel.send("***grrrrrrrrg***"); + vojs = await chanel.join(); + odpojit = true; + } + vojs.play(`./zvuky/grg.mp3`, { volume: 0.5 }).on("finish", _ => { if (odpojit) vojs.channel.leave(); }); + } } - - return true; }, // Neodposlouchávej diff --git a/modules/zbytek.js b/modules/zbytek.js index d3cb092..dc3fc3e 100644 --- a/modules/zbytek.js +++ b/modules/zbytek.js @@ -1,27 +1,19 @@ // Komandy nebo handelery který se nikam jinam nehodí module.exports = { - more_komand: (mes, komand, celArgs) => { - switch (komand) { + more_komandy: { - case 'debug_log': - console.log('log: ', celArgs); - mes.channel.send('je to v konzoli'); - break; + debug_log: arg => { + console.log('log: ', arg); + return 'je to v konzoli'; + }, - case "update": - if (mes.channel.id != process.env.ADMIN_CHANNEL && mes.author.id != process.env.ADMIN_ID) { - mes.channel.send("nato nemas prava kokote"); - break; - } - [...mes.client.voice?.connections.values()].forEach(con => con.disconnect()); - mes.react("👋") - .then(() => process.exit()); - break; + update: (_, mes) => { + if (mes.channel.id != process.env.ADMIN_CHANNEL && mes.author.id != process.env.ADMIN_ID) return "nato nemas prava kokote"; - default: - return false; + [...mes.client.voice?.connections.values()].forEach(con => con.disconnect()); + mes.react("👋") + .then(() => process.exit()); } - return true; } };