const { Client } = require('discord.js'); const dotenv = require('dotenv'); const client = new Client(); dotenv.config(); const prefix = 'mor'; const role = {online: '684443816383610916', idle: '684444083065978941', dnd: '684444020558135399', offline: '684443903759614049'}; const akce = {hraj: 'PLAYING', sleduj: 'WATCHING', poslouchej: 'LISTENING', soutez: 'COMPETING', soutěž: 'COMPETING', nedelej: '', nedělej: ''}; const spostece = ['mares', 'mareš', 'purfie', 'denim', '<@!639142938965704745>']; const emouty = ['purfiek3:616026189269696512', 'purfiek3:616026189269696512', 'purfiek3:616026189269696512', 'purfieUchyl:576487602203525138', 'bafW:574646319696576532', 'purfiek4:616026180889477258']; 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']; let vojs; const rand = max => Math.floor(Math.random() * max); const rekniCas = (par = null) => { if (!vojs) return; const ickon = new Date(); const disp = vojs.play(`./zvuky/${par}.mp3` || `./zvuky/${ickon.getHours()}${ickon.getMinutes()}.mp3`); disp.on('finish', () => vojs.play('./zvuky/grg.mp3')); if (par) return; setTimeout(rekniCas, 30 - ickon/1000 % 30); }; function vypocitatCas(vojsl) { let c = new Date(); let d = new Date(); let hod = d.getHours(); let min = d.getMinutes(); if (min > 25 && min < 55) { min = 0; if (hod == 23) { hod = 0; c = new Date(c.getDate() + 1); } else { hod++; } } else { min = 30; } d.setHours(hod); d.setMinutes(min); setTimeout(function() { rekniCas2(vojsl, `${nula(hod)}${nula(min)}`); }, d - c); } function rekniCas2(vojsl, cas) { if (!vojsl) return; const disp = vojs.play(`./zvuky/${cas}.mp3`); disp.on('finish', () => vojs.play('./zvuky/grg.mp3')); vypocitatCas(vojsl); } function nula(a) { return a < 10 ? "0" + a : a; } client.on('ready', () => console.log('A jedeš!')); client.on('message', mes => { if (mes.content.startsWith(prefix)) { const [...args] = mes.content.split(' ').slice(1); const komand = args[0]; const celArgs = args.slice(1).join(' '); let corict; switch (komand) { case 'vole': mes.channel.send('coe voe more gadzo'); break; case 'rekni': 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': client.user.setActivity(celArgs, {type: akce[komand]}); mes.channel.send('ano pane'); mes.react('730175107313565717'); break; 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': mes.channel.send('placeholder'); break; case 'debug_log': console.log(celArgs); mes.channel.send('je to v konzoli'); break; case 'online': case 'onlajn': case 'zelenej': client.user.setStatus('online'); break; case 'neviditelnej': case 'offline': case 'oflajn': client.user.setStatus('invisible'); break; case 'dnd': case 'nerusit': case 'nerušit': case 'červenej': case 'cervenej': client.user.setStatus('dnd'); break; case 'žlutej': case 'zlutej': case 'afk': case 'idle': case 'nepřítomnej': case 'nepritomnej': client.user.setStatus('idle'); break; case 'vojs': const channel = mes.member.voice.channel; if (!channel) { mes.channel.send(`di si tam sam ne ty gadzo ${mes.author}`); break; } if (!mes.content.includes('potichu')) mes.channel.send('<@&591306633196339261> vojs'); /*const ickon = new Date(); setTimeout(rekniCas, 30 - ickon/1000 % 30);*/ channel.join().then(con => vypocitatCas(con)); break; case 'wojs': mes.channel.send(`vojs se pise s normalnim v ti kriple ${mes.author}`); break; case "odejdi": case "disconnect": case "leave": case "odpoj": case "votpoj": case "vodpoj": case "vodprejskni": case "tahni": case "táhni": case "vypadni": if (!vojs) { mes.channel.send('nejsem ve vojsu'); break; } vojs.channel.leave(); mes.react('purfieRIP:644609482843881483'); vojs = null; break; case 'fight': case 'figh': case 'fajt': mes.channel.send(`ej ty gazdo figh figh figh???? ${celArgs}`); break; case 'clap': mes.channel.send(`${celArgs} `); break; case 'voliz': case 'voliž': mes.channel.send(` ${celArgs} `); break; case 'kobel': mes.channel.send('kde?'); break; case 'slak': case 'šlak': mes.channel.send('te natahne\nhttps://tenor.com/view/tired-done-imdone-afterschool-school-gif-5682065'); break; case 'ano': case 'jo': case 'ne': mes.channel.send('ok'); break; case 'vtip': case 'ftip': mes.channel.send(ftipy[rand(ftipy.length)]); break; case 'kam': mes.channel.send(mista[rand(mista.length)]); break; case 'rekt': mes.channel.send('**ouuuuuuuuuuuuuuuuuuuuu**'); break; case "písnička": case "pisnicka": mes.channel.send('http://deadfish.zaridi.to/morepisnicka.jpg'); 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 'pozdrav': mes.channel.send(`zdravim ${celArgs}`); break; case 'test': rekniCas(celArgs || '0000'); 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([`mam rad ${celArgs}`, `${celArgs} je picovina`][rand(2)]); break; case 'si': case 'jsi': corict = celArgs.replace('?', ''); mes.channel.send([`jo sem ${corict}`, `ne nejsem ${corict}`][rand(2)]); break; case 'mas': case 'máš': corict = celArgs.replace('?', ''); mes.channel.send([`jo mam ${corict}`, `ne nemam ${corict}`][rand(2)]); break; case 'je': mes.channel.send(['jo je', 'ne neni'][rand(2)]); break; case 'má': case 'ma': mes.channel.send(['jo ma', 'ne nema'][rand(2)]); break; case 'jakmoc': mes.channel.send(`${celArgs} na ${rand(101)}%`); break; case 'triggered': mes.channel.send('toto me trickeruje'); break; // case 'zvuk': // if (!vojs) mes.channel.send('nejsem ve vojsu'); // switch (celArgs) { // case '1': // vojs.connection.play('./pip.mp3'); // break; // case '2': // vojs.connection.play('./pup.mp3'); // break; // default: // const dispatcher = vojs.connection.play('./pip.mp3', {volume: 0.3}); // dispatcher.on('finish', () => vojs.connection.play('./pup.mp3')); // } // break; default: mes.channel.send('co to znamena ti gadzovko'); } } let sance = 0; spostece.forEach(sp => { if (mes.content.toLowerCase().includes(sp)) sance++; }); if (rand(3) < sance) mes.react(emouty[rand(emouty.length)]); }); client.on('presenceUpdate', (bef, aft) => { if (aft.guild.id !== '555779161067749446') return; let Return = false; try { if (bef.status === aft.status) Return = true; } catch { bef = {status: 'offline'}; } if (Return) return; aft.member.roles.add(role[aft.status]); aft.member.roles.remove(role[bef.status]); console.log(`${aft.user.username} změnil status z ${bef.status} na ${aft.status}`); }); client.login(process.env.TOKEN);