From 276966b93a96f3e519f68428f7e93e7331bbe8c3 Mon Sep 17 00:00:00 2001 From: Histmy Date: Mon, 12 Apr 2021 15:55:29 +0200 Subject: [PATCH] rewrote majority of modules... + more zareaguj supports more than one emout + zareaguj, rekni, clap and clap2 delete original message + added more voliz --- addons/ftipy.json | 8 +++ addons/pomoc.json | 135 ++++++++++++++++++++++++++++++++++++++ modules/help.js | 127 ------------------------------------ modules/hovna.js | 146 ------------------------------------------ modules/komArgs.js | 48 ++++++++++++++ modules/komComplex.js | 125 ++++++++++++++++++++++++++++++++++++ modules/komRNG.js | 57 +++++++++++++++++ modules/komStatic.js | 57 +++++++++++++++++ modules/normal.js | 117 --------------------------------- modules/onReady.js | 2 + modules/spink.js | 45 +++++++++++++ modules/status.js | 40 ------------ modules/vojs.js | 3 + modules/zbytek.js | 42 ++++++++++++ 14 files changed, 522 insertions(+), 430 deletions(-) create mode 100644 addons/ftipy.json create mode 100644 addons/pomoc.json delete mode 100644 modules/help.js delete mode 100644 modules/hovna.js create mode 100644 modules/komArgs.js create mode 100644 modules/komComplex.js create mode 100644 modules/komRNG.js create mode 100644 modules/komStatic.js delete mode 100644 modules/normal.js create mode 100644 modules/spink.js delete mode 100644 modules/status.js create mode 100644 modules/zbytek.js diff --git a/addons/ftipy.json b/addons/ftipy.json new file mode 100644 index 0000000..41587d1 --- /dev/null +++ b/addons/ftipy.json @@ -0,0 +1,8 @@ +[ + "Tož šimša si všimnul jednoho velkeho staveniště, tak večer se tam vydal z atobatekou na boku a flefinou vruce uříznul tu největší traverzu a uříznul ji pak si ji dal na záda a šel dom ale když šel zpět tak se všimul pitbula který hlýdal staveniště a on byl na železnem řetězu tak ten řetěz popat ale nedomyslel to že ten pitbull poběží za ním a tak utíkal ale pitbull byl rychlejší a tak se mu zakousnul do prdele a tak utíkal před policií aj z pitbulem.", + "tož šimša si řekl že se pujde okoupat ale nedošlomu že na koupání potřebuje vodu a ne močůvku <:DENIM3K_weSmart:627809296624779274>", + "tož šimšu zaměstnaly na praxi do pneu servisu ale když tam došli do druhý den tak tam nic nebylo jelikož to vše vybrakoval přes noc a pak pan hlavní pneusevisák to nevydržel a exnul", + "tož šimša šel z vaku a vykopal mareše tak mocně a vykopal ho tak protože byl je závislí na cigáru a potřeboval svo mocně nemocno dáku tak vyvinul tam mocně silu aby o vykopnul", + "tož šimša jednou šel a tak moc šel do velkooooobjemního kontejnetu pro noví komponenti do jeho mašiny a podkal tam cygani a ty to tam brali a von je podkal a šel jim rozbít drčku haby se už a řek jim haby se už nevokázali u jeho kontejmetu a kdyš čel cezto dom tak mu ti kombonendi zpadli do bláda a tak mu zpadli mo ze šel sy dát zlatou dávkou", + "tož šimša seděl ve 3kole a tadytámlecti haranti mu šimšakanovali a povidaly mu 6e je římšák a šiška a šimšalátor a on povidal aby to nepovidali ale oni to povidali a pověděli mu žeto nep5estanou povidat a on ze sač4al čerchmantit a tak zasedl do traktotu a jel vo ulycy a jak jel tak jel a jel a přeji6děl kraliki a kočki a koně a jin9 zvěrstva a tak mu cajti pošeli flastr a von platil velk9 prachy, protože m2l flastra, no nem2l tag moc chlastat" +] diff --git a/addons/pomoc.json b/addons/pomoc.json new file mode 100644 index 0000000..d1df8a4 --- /dev/null +++ b/addons/pomoc.json @@ -0,0 +1,135 @@ +[ + [ + "tady sou ti komandy k tomudle botoj ```more rekni ", + "more hraj ", + "more fajt ", + "more kobel", + "more jo", + "more ne", + "more vole", + "more vtip", + "more rekt", + "more pisnicka", + "more gif", + "more lag", + "more pozdrav ", + "more zhejti ", + "more uraz ", + "more nazor ", + "more jsi ", + "more jakmoc ", + "more je ", + "more ma ", + "more triggered```" + ], + + { + "title": "__tadi sou ti komandi k tomudle botoj__", + "color": 16711680, + "thumbnail": { + "url": "https://cdn.discordapp.com/emojis/730175107313565717.png" + }, + "author": { + "name": "DENIM 3001", + "url": "https://denim3001.deadfish.cz", + "icon_url": "https://cdn.discordapp.com/emojis/730175107313565717.png" + }, + "fields": [ + { + "name": "more rekni [co]", + "value": "povidam povidacki", + "inline": true + }, + { + "name": "more jakmoc [co]", + "value": "si kokot na 100%", + "inline": true + }, + { + "name": "more nazor [na co]", + "value": "si pycovina", + "inline": true + }, + { + "name": "more pozdrav [koho]", + "value": "zdravym", + "inline": true + }, + { + "name": "more zhejti [koho, co]", + "value": "si pycovina zasrana vimrdana", + "inline": true + }, + { + "name": "more kam [...]", + "value": "patris pod most", + "inline": true + }, + { + "name": "more jsi [co]", + "value": "jsem picovina", + "inline": true + }, + { + "name": "more mas [co]", + "value": "ne nemam pero", + "inline": true + }, + { + "name": "more ma [...]", + "value": "ne nema", + "inline": true + }, + { + "name": "more fajt", + "value": "fyt", + "inline": true + }, + { + "name": "more clap [...]", + "value": "potlesk", + "inline": true + }, + { + "name": "more voliz [koho]", + "value": "lick", + "inline": true + }, + { + "name": "more pomoc", + "value": "oldskul povidacky", + "inline": true + }, + { + "name": "more pomoc2", + "value": "mocnejsi povidacky", + "inline": true + }, + { + "name": "more vojs", + "value": "priseru se do vojsu", + "inline": true + }, + { + "name": "more odejdi/tahni/disconnect/leave/odpoj/vodpoj/votpoj/vypadni", + "value": "vodprejsknu z vojsu", + "inline": true + }, + { + "name": "more slak", + "value": "te natahne", + "inline": true + }, + { + "name": "more vtip", + "value": "povim vam ftip vo simsovi", + "inline": true + }, + { + "name": "__dalsi shit komandi__", + "value": "**more jo\t\t\t\t\tmore ne\nmore pisnicka\t\tmore omegasmart\nmore lag\t\t\t\tmore triggered\nmore rekt\t\t\t\tmore kobel\nmore vole**", + "inline": true + } + ] + } +] diff --git a/modules/help.js b/modules/help.js deleted file mode 100644 index 8a10d16..0000000 --- a/modules/help.js +++ /dev/null @@ -1,127 +0,0 @@ -module.exports = { - more_komand: (mes, komand) => { - switch (komand) { - - case 'pomoc': - mes.channel.send('tady sou ti komandy k tomudle botoj ```more rekni \nmore hraj \nmore fajt \nmore kobel\nmore jo\nmore ne\nmore vole\nmore vtip\nmore rekt\nmore pisnicka\nmore gif\nmore lag\nmore pozdrav \nmore zhejti \nmore uraz \nmore nazor \nmore jsi \nmore jakmoc \nmore je \nmore ma \nmore triggered```'); - break; - - case 'pomoc2': - const embed = { - "title": "__tadi sou ti komandi k tomudle botoj__", - "color": 16711680, - "thumbnail": { - "url": "https://cdn.discordapp.com/emojis/730175107313565717.png" - }, - "author": { - "name": "DENIM 3001", - "url": "https://denim3001.deadfish.cz", - "icon_url": "https://cdn.discordapp.com/emojis/730175107313565717.png" - }, - "fields": [ - { - "name": "more rekni [co]", - "value": "povidam povidacki", - "inline": true - }, - { - "name": "more jakmoc [co]", - "value": "si kokot na 100%", - "inline": true - }, - { - "name": "more nazor [na co]", - "value": "si pycovina", - "inline": true - }, - { - "name": "more pozdrav [koho]", - "value": "zdravym", - "inline": true - }, - { - "name": "more zhejti [koho, co]", - "value": "si pycovina zasrana vimrdana", - "inline": true - }, - { - "name": "more kam [...]", - "value": "patris pod most", - "inline": true - }, - { - "name": "more jsi [co]", - "value": "jsem picovina", - "inline": true - }, - { - "name": "more mas [co]", - "value": "ne nemam pero", - "inline": true - }, - { - "name": "more ma [...]", - "value": "ne nema", - "inline": true - }, - { - "name": "more fajt", - "value": "fyt", - "inline": true - }, - { - "name": "more clap [...]", - "value": "potlesk", - "inline": true - }, - { - "name": "more voliz [koho]", - "value": "lick", - "inline": true - }, - { - "name": "more pomoc", - "value": "oldskul povidacky", - "inline": true - }, - { - "name": "more pomoc2", - "value": "mocnejsi povidacky", - "inline": true - }, - { - "name": "more vojs", - "value": "priseru se do vojsu", - "inline": true - }, - { - "name": "more odejdi/tahni/disconnect/leave/odpoj/vodpoj/votpoj/vypadni", - "value": "vodprejsknu z vojsu", - "inline": true - }, - { - "name": "more slak", - "value": "te natahne", - "inline": true - }, - { - "name": "more vtip", - "value": "povim vam ftip vo simsovi", - "inline": true - }, - { - "name": "__dalsi shit komandi__", - "value": "**more jo\t\t\t\t\tmore ne\nmore pisnicka\t\tmore omegasmart\nmore lag\t\t\t\tmore triggered\nmore rekt\t\t\t\tmore kobel\nmore vole**", - "inline": true - } - ] - } - mes.channel.send({ embed }); - break; - - default: - return false; - } - return true; - } -}; diff --git a/modules/hovna.js b/modules/hovna.js deleted file mode 100644 index b023e05..0000000 --- a/modules/hovna.js +++ /dev/null @@ -1,146 +0,0 @@ -const spinkacky = []; -const spostece = ['mares', 'mareš', 'purfie', 'denim', '<@!639142938965704745>']; -const emouty = ['purfiek3:616026189269696512', 'purfiek3:616026189269696512', 'purfiek3:616026189269696512', 'purfieUchyl:576487602203525138', 'bafW:574646319696576532', 'purfiek4:616026180889477258']; -const zarizeni = { desktop: 'Počítač', mobile: 'Mobil', web: 'Web' }; -const statusy = { online: '🟢', idle: '🟡', dnd: '🔴' }; -const rand = max => Math.floor(Math.random() * max); - -module.exports = { - more_komand: (mes, komand, celArgs) => { - switch (komand) { - - case 'vole': - mes.channel.send('coe voe more gadzo'); - break; - - case 'debug_log': - console.log(celArgs); - mes.channel.send('je to v konzoli'); - break; - - case 'clap': - mes.channel.send(`${celArgs} `); - break; - - case 'clap2': - mes.channel.send(` ${celArgs}`); - break; - - case 'kobel': - mes.channel.send('kde?'); - break; - - case 'ano': - case 'jo': - case 'ne': - mes.channel.send('ok'); - break; - - case 'rekt': - mes.channel.send('**ouuuuuuuuuuuuuuuuuuuuu**'); - break; - - 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; - - case 'lag': - mes.channel.send('protoze to spousti na tich stravberi'); - break; - - case 'triggered': - mes.channel.send('toto me trickeruje'); - break; - - case 'status': - const ping = /^<@!?\d+>$/; - 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; - - case 'spinkáček': - case 'spinkacek': - if (mes.author.bot) { - mes.channel.send('<:delassibazny:643059863059955723>'); - break; - } - - if (spinkacky.includes(mes.author.id)) { - mes.channel.send('nespis uz?????'); - break; - } - - if (mes.member.voice.channel) mes.member.voice.kick('spinkacek'); - spinkacky.push(mes.author.id); - mes.react('😴'); - break; - - case 'vstáváček': - case 'vstavacek': - if (!spinkacky.includes(mes.author.id)) { - mes.channel.send('uz jsi vzhuru ty hajzle'); - break; - } - spinkacky.splice(spinkacky.indexOf(mes.author.id), 1); - mes.channel.send('dobre rano hajzle'); - break; - - case 'zareaguj': - case 'reakce': - case 'reaguj': - if (!celArgs) { - mes.channel.send('retard'); - break; - } - - let naCo; - (async () => { - if (mes.reference) { - naCo = await mes.channel.messages.fetch(mes.reference.messageID); - } else { - const msgs = [...mes.channel.messages.cache.values()]; - naCo = msgs[msgs.length - 2]; - } - - naCo.react(celArgs) - .catch(() => mes.channel.send('retard')); - })(); - break; - - default: - return false; - } - return true; - }, - - on_voiceStateUpdate: (bef, aft) => { - if (!aft.channel || bef.channel) return; - if (spinkacky.includes(aft.id)) aft.kick(); - }, - - on_message: mes => { - let sance = 0; - spostece.forEach(sp => { - if (mes.content.toLowerCase().includes(sp)) sance++; - }); - if (rand(3) < sance) mes.react(emouty[rand(emouty.length)]); - } -}; diff --git a/modules/komArgs.js b/modules/komArgs.js new file mode 100644 index 0000000..cbd848a --- /dev/null +++ b/modules/komArgs.js @@ -0,0 +1,48 @@ +// Komandy, který pošlou jenom celArgs a random hovno + +module.exports = { + more_komand: (mes, komand, celArgs) => { + let corict; + switch (komand) { + + case 'rekni': + if (mes.author.bot) break; + corict = celArgs ? celArgs : 'co mam jako ric'; + mes.channel.send(corict); + mes.delete(); + break; + + case 'clap': + mes.channel.send(`${celArgs} `); + mes.delete(); + break; + + case 'clap2': + mes.channel.send(` ${celArgs}`); + mes.delete(); + break; + + case 'voliž': + case 'voliz': + mes.channel.send(`${celArgs}`); + 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; + } + return true; + } +}; diff --git a/modules/komComplex.js b/modules/komComplex.js new file mode 100644 index 0000000..2acd348 --- /dev/null +++ b/modules/komComplex.js @@ -0,0 +1,125 @@ +// 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 ping = /^<@!?\d+>$/; + +module.exports = { + more_komand: (mes, komand, celArgs) => { + switch (komand) { + + case 'online': + case 'onlajn': + case 'zelenej': + mes.client.user.setStatus('online'); + mes.channel.send('ano pane'); + break; + + case 'neviditelnej': + case 'offline': + case 'oflajn': + mes.client.user.setStatus('invisible'); + mes.channel.send('ano pane'); + break; + + case 'dnd': + case 'nerusit': + case 'nerušit': + case 'červenej': + case 'cervenej': + mes.client.user.setStatus('dnd'); + mes.channel.send('ano pane'); + break; + + case 'žlutej': + case 'zlutej': + case 'afk': + case 'idle': + case 'nepřítomnej': + case 'nepritomnej': + mes.client.user.setStatus('idle'); + mes.channel.send('ano pane'); + break; + + 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; + + 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; + + 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; + + case 'zareaguj': + case 'reakce': + case 'reaguj': + if (!celArgs) { + mes.channel.send('retard'); + break; + } + + 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); + } else { + const msgs = [...mes.channel.messages.cache.values()]; + naCo = msgs[msgs.length - 2]; + } + + emouty.forEach(emout => naCo.react(emout)); + mes.delete(); + })(); + break; + + default: + return false; + } + return true; + } +}; diff --git a/modules/komRNG.js b/modules/komRNG.js new file mode 100644 index 0000000..2ad9157 --- /dev/null +++ b/modules/komRNG.js @@ -0,0 +1,57 @@ +// Komandy, který jenom pošlou random hovno a jsou nějakým způsobem ovlivněný RNG + +const ftipy = JSON.parse(require('fs').readFileSync('addons/ftipy.json')); +const mista = ['na šroťák', 'na vrakoviště', 'na smetiště', 'do kontejneru', 'na skládku', 'do kriminálu', 'pod most', 'do sběru', 'do hospody', 'do najt klubu', 'na folmavu']; + +const rand = max => Math.floor(math.rngom() * max); + +module.exports = { + more_komand: (mes, komand, celArgs) => { + let corict; + switch (komand) { + + case 'vtip': + case 'ftip': + mes.channel.send(ftipy[rand(ftipy.length)]); + break; + + case 'kam': + mes.channel.send(mista[rand(mista.length)]); + break; + + case 'je': + mes.channel.send(rand(2) ? 'jo je' : 'ne neni'); + break; + + case 'má': + case 'ma': + mes.channel.send(rand(2) ? 'jo ma' : 'ne nema'); + break; + + case 'nazor': + case 'názor': + mes.channel.send(rand(2) ? `mam rad ${celArgs}` : `${celArgs} je picovina`); + break; + + case 'si': + case 'jsi': + corict = celArgs.replace('?', ''); + mes.channel.send(rand(2) ? `jo sem ${corict}` : `ne nejsem ${corict}`); + break; + + case 'mas': + case 'máš': + corict = celArgs.replace('?', ''); + mes.channel.send(rand(2) ? `jo mam ${corict}` : `ne nemam ${corict}`); + break; + + case 'jakmoc': + mes.channel.send(`${celArgs} na ${rand(101)}%`); + break; + + default: + return false; + } + return true; + } +} diff --git a/modules/komStatic.js b/modules/komStatic.js new file mode 100644 index 0000000..7856874 --- /dev/null +++ b/modules/komStatic.js @@ -0,0 +1,57 @@ +// Sekce pro komandy, který jenom pošlou nějaký hovno bez a nevyžadují argumenty + +const pomoc = JSON.parse(require('fs').readFileSync('addons/pomoc.json')); + +module.exports = { + more_komand: (mes, komand) => { + switch (komand) { + + case 'vole': + mes.channel.send('coe voe more gadzo'); + break; + + case 'kobel': + mes.channel.send('kde?'); + break; + + case 'ano': + case 'jo': + case 'ne': + mes.channel.send('ok'); + break; + + case 'rekt': + mes.channel.send('**ouuuuuuuuuuuuuuuuuuuuu**'); + break; + + 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; + + case 'lag': + mes.channel.send('protoze to spousti na tich stravberi'); + break; + + case 'triggered': + mes.channel.send('toto me trickeruje'); + break; + + case 'slak': + case 'šlak': + mes.channel.send('te natahne\nhttps://tenor.com/view/tired-done-imdone-afterschool-school-gif-5682065'); + break; + + case 'pomoc': + mes.channel.send(pomoc[0].join('\n')); + break; + + case 'pomoc2': + mes.channel.send({ embed: pomoc[1] }); + break; + + default: + return false; + } + return true; + } +} diff --git a/modules/normal.js b/modules/normal.js deleted file mode 100644 index 821b3ee..0000000 --- a/modules/normal.js +++ /dev/null @@ -1,117 +0,0 @@ -const ftipy = ['Tož šimša si všimnul jednoho velkeho staveniště, tak večer se tam vydal z atobatekou na boku a flefinou vruce uříznul tu největší traverzu a uříznul ji pak si ji dal na záda a šel dom ale když šel zpět tak se všimul pitbula který hlýdal staveniště a on byl na železnem řetězu tak ten řetěz popat ale nedomyslel to že ten pitbull poběží za ním a tak utíkal ale pitbull byl rychlejší a tak se mu zakousnul do prdele a tak utíkal před policií aj z pitbulem.', 'tož šimša si řekl že se pujde okoupat ale nedošlomu že na koupání potřebuje vodu a ne močůvku <:DENIM3K_weSmart:627809296624779274>', 'tož šimšu zaměstnaly na praxi do pneu servisu ale když tam došli do druhý den tak tam nic nebylo jelikož to vše vybrakoval přes noc a pak pan hlavní pneusevisák to nevydržel a exnul', 'tož šimša šel z vaku a vykopal mareše tak mocně a vykopal ho tak protože byl je závislí na cigáru a potřeboval svo mocně nemocno dáku tak vyvinul tam mocně silu aby o vykopnul', 'tož šimša jednou šel a tak moc šel do velkooooobjemního kontejnetu pro noví komponenti do jeho mašiny a podkal tam cygani a ty to tam brali a von je podkal a šel jim rozbít drčku haby se už a řek jim haby se už nevokázali u jeho kontejmetu a kdyš čel cezto dom tak mu ti kombonendi zpadli do bláda a tak mu zpadli mo ze šel sy dát zlatou dávkou', 'tož šimša seděl ve 3kole a tadytámlecti haranti mu šimšakanovali a povidaly mu 6e je římšák a šiška a šimšalátor a on povidal aby to nepovidali ale oni to povidali a pověděli mu žeto nep5estanou povidat a on ze sač4al čerchmantit a tak zasedl do traktotu a jel vo ulycy a jak jel tak jel a jel a přeji6děl kraliki a kočki a koně a jin9 zvěrstva a tak mu cajti pošeli flastr a von platil velk9 prachy, protože m2l flastra, no nem2l tag moc chlastat']; -const mista = ['na šroťák', 'na vrakoviště', 'na smetiště', 'do kontejneru', 'na skládku', 'do kriminálu', 'pod most', 'do sběru', 'do hospody', 'do najt klubu', 'na folmavu']; -const akce = { hraj: 'PLAYING', sleduj: 'WATCHING', poslouchej: 'LISTENING', soutez: 'COMPETING', soutěž: 'COMPETING', nedelej: '', nedělej: '' }; -const role = { online: '684443816383610916', idle: '684444083065978941', dnd: '684444020558135399', offline: '684443903759614049', onlinephone: '777989420728975390' }; - -const rand = max => Math.floor(Math.random() * max); - -module.exports = { - more_komand: (mes, komand, celArgs) => { - let corict; - switch (komand) { - - case 'rekni': - if (mes.author.bot) break; - corict = celArgs ? celArgs : 'co mam jako ric'; - mes.channel.send(corict); - break; - - 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; - - case 'fight': - case 'figh': - case 'fajt': - const ping = /^<@!?\d+>$/; - 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; - - case 'slak': - case 'šlak': - mes.channel.send('te natahne\nhttps://tenor.com/view/tired-done-imdone-afterschool-school-gif-5682065'); - break; - - case 'vtip': - case 'ftip': - mes.channel.send(ftipy[rand(ftipy.length)]); - break; - - case 'kam': - mes.channel.send(mista[rand(mista.length)]); - 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; - - case 'nazor': - case 'názor': - mes.channel.send(rand(2) ? `mam rad ${celArgs}` : `${celArgs} je picovina`); - break; - - case 'si': - case 'jsi': - corict = celArgs.replace('?', ''); - mes.channel.send(rand(2) ? `jo sem ${corict}` : `ne nejsem ${corict}`); - break; - - case 'mas': - case 'máš': - corict = celArgs.replace('?', ''); - mes.channel.send(rand(2) ? `jo mam ${corict}` : `ne nemam ${corict}`); - break; - - case 'je': - mes.channel.send(rand(2) ? 'jo je' : 'ne neni'); - break; - - case 'má': - case 'ma': - mes.channel.send(rand(2) ? 'jo ma' : 'ne nema'); - break; - - case 'jakmoc': - mes.channel.send(`${celArgs} na ${rand(101)}%`); - break; - - default: - return false; - } - return true; - }, - - on_presenceUpdate: (bef, aft) => { - if (aft.guild.id !== '555779161067749446' || process.env.IGNORE_PRESENCE) return; - - if (!bef) bef = { status: 'offline', clientStatus: {} }; - if (bef.clientStatus.mobile === 'online' && bef.clientStatus.desktop !== 'online') bef.status = 'onlinephone'; - if (aft.clientStatus.mobile === 'online' && aft.clientStatus.desktop !== 'online') aft.status = 'onlinephone'; - if (bef.status === aft.status) return; - - aft.member.roles.add(role[aft.status]); - aft.member.roles.remove(role[bef.status]); - } -}; diff --git a/modules/onReady.js b/modules/onReady.js index 8ce38f9..51995db 100644 --- a/modules/onReady.js +++ b/modules/onReady.js @@ -1,3 +1,5 @@ +// Prostě onready + module.exports = { on_ready: () => console.log('A jedeš!') }; diff --git a/modules/spink.js b/modules/spink.js new file mode 100644 index 0000000..f075dc0 --- /dev/null +++ b/modules/spink.js @@ -0,0 +1,45 @@ +// Modul dedikovaný funkci spinkáček + +const spinkacky = []; + +module.exports = { + more_komand: (mes, komand) => { + switch (komand) { + case 'spinkáček': + case 'spinkacek': + if (mes.author.bot) { + mes.channel.send('<:delassibazny:643059863059955723>'); + break; + } + + if (spinkacky.includes(mes.author.id)) { + mes.channel.send('nespis uz?????'); + break; + } + + if (mes.member.voice.channel) mes.member.voice.kick('spinkacek'); + spinkacky.push(mes.author.id); + mes.react('😴'); + break; + + case 'vstáváček': + case 'vstavacek': + if (!spinkacky.includes(mes.author.id)) { + mes.channel.send('uz jsi vzhuru ty hajzle'); + break; + } + spinkacky.splice(spinkacky.indexOf(mes.author.id), 1); + mes.channel.send('dobre rano hajzle'); + break; + + default: + return false; + } + return true; + }, + + on_voiceStateUpdate: (bef, aft) => { + if (!aft.channel || bef.channel) return; + if (spinkacky.includes(aft.id)) aft.kick(); + }, +} diff --git a/modules/status.js b/modules/status.js deleted file mode 100644 index c6bf91b..0000000 --- a/modules/status.js +++ /dev/null @@ -1,40 +0,0 @@ -module.exports = { - more_komand: (mes, komand) => { - const c = mes.client.user; - switch (komand) { - - case 'online': - case 'onlajn': - case 'zelenej': - c.setStatus('online'); - break; - - case 'neviditelnej': - case 'offline': - case 'oflajn': - c.setStatus('invisible'); - break; - - case 'dnd': - case 'nerusit': - case 'nerušit': - case 'červenej': - case 'cervenej': - c.setStatus('dnd'); - break; - - case 'žlutej': - case 'zlutej': - case 'afk': - case 'idle': - case 'nepřítomnej': - case 'nepritomnej': - c.setStatus('idle'); - break; - - default: - return false; - } - return true; - } -}; diff --git a/modules/vojs.js b/modules/vojs.js index 650c8ce..d490792 100644 --- a/modules/vojs.js +++ b/modules/vojs.js @@ -1,3 +1,5 @@ +// Cokoliv co má něco společnýho s vojsem + const fs = require('fs'); function vypocitatCas(vojsl) { @@ -136,6 +138,7 @@ module.exports = { return true; }, + // Neodposlouchávej on_voiceStateUpdate: (bef, aft) => { if (!aft.channel || !aft.guild.voice || aft.member.user === aft.guild.client.user) return; diff --git a/modules/zbytek.js b/modules/zbytek.js new file mode 100644 index 0000000..b9d129c --- /dev/null +++ b/modules/zbytek.js @@ -0,0 +1,42 @@ +// Komandy nebo handelery který se nikam jinam nehodí + +const role = { online: '684443816383610916', idle: '684444083065978941', dnd: '684444020558135399', offline: '684443903759614049', onlinephone: '777989420728975390' }; +const spoustece = ['mares', 'mareš', 'purfie', 'denim', '<@!477202009066438668>']; +const emouty = ['purfiek3:616026189269696512', 'purfiek3:616026189269696512', 'purfiek3:616026189269696512', 'purfieUchyl:576487602203525138', 'bafW:574646319696576532', 'purfiek4:616026180889477258']; +const rand = max => Math.floor(Math.random() * max); + +module.exports = { + more_komand: (mes, komand, celArgs) => { + switch (komand) { + case 'debug_log': + console.log('log: ', celArgs); + mes.channel.send('je to v konzoli'); + break; + default: + return false; + } + return true; + }, + + // Změna rolí podle statusu + on_presenceUpdate: (bef, aft) => { + if (aft.guild.id !== '555779161067749446' || process.env.IGNORE_PRESENCE) return; + + if (!bef) bef = { status: 'offline', clientStatus: {} }; + if (bef.clientStatus.mobile === 'online' && bef.clientStatus.desktop !== 'online') bef.status = 'onlinephone'; + if (aft.clientStatus.mobile === 'online' && aft.clientStatus.desktop !== 'online') aft.status = 'onlinephone'; + if (bef.status === aft.status) return; + + aft.member.roles.add(role[aft.status]); + aft.member.roles.remove(role[bef.status]); + }, + + // Zareaguje na zprávu pokud obsahuje spouštěče a pokud RNG + on_message: mes => { + let sance = 0; + spoustece.forEach(sp => { + if (mes.content.toLowerCase().includes(sp)) sance++; + }); + if (rand(3) < sance) mes.react(emouty[rand(emouty.length)]); + } +}