Denim-Bot/modules/spink.js
Histmy 7a154787e6 more spinkacek connected to spinkacek.ga...
upated package.json and package-lock.json
2021-04-14 23:43:42 +02:00

79 lines
2.3 KiB
JavaScript

// Modul dedikovaný funkci spinkáček
const fetch = require('node-fetch');
const spinkacky = [];
const contactSpinkServer = async (akce, id, nick, avatar) => {
const options = `heslo=sjeta11169omega666purfieRIP&akce=${akce}&id=${id}&nick=${encodeURIComponent(nick)}&avatar=${encodeURIComponent(avatar)}`;
return await fetch(`https://spinkacek.ga/extapi.php?${options}`)
.then(r => r.text())
.then(text => text === 'OK');
}
const syncSpink = async () => {
await fetch('https://spinkacek.ga/api/spinkacky')
.then(r => r.json())
.then(d => {
const data = d.spinkacky;
const keys = Object.keys(data);
const values = Object.values(data);
spinkacky.splice(0);
for (let i = 0; i < keys.length; i++) {
if (!values[i].spinkacek || keys[i][0] === 'i') continue;
spinkacky.push(keys[i].slice(8));
}
});
}
syncSpink();
module.exports = {
more_komand: (mes, komand) => {
switch (komand) {
case 'spinkáček':
case 'spinkacek':
(async () => {
if (await contactSpinkServer('spinkacek', mes.author.id, mes.author.username, mes.author.avatarURL())) mes.react('😴');
else mes.channel.send('nespis uz?????');
})();
break;
case 'vstáváček':
case 'vstavacek':
(async () => {
if (await contactSpinkServer('vstavacek', mes.author.id)) mes.channel.send('dobre rano hajzle');
else mes.channel.send('uz jsi vzhuru ty hajzle');
})();
break;
default:
return false;
}
return true;
},
on_voiceStateUpdate: (bef, aft) => {
if (!aft.channel || bef.channel) return;
if (spinkacky.includes(aft.id)) aft.kick()
.catch(() => {});
},
on_message: mes => {
if (mes.author.id === '831318260493844494') {
syncSpink();
if (mes.content[0] !== 's') return;
const uzivatel = mes.content.match(/(?<=discord_)\d+/)[0];
[...mes.client.guilds.cache.values()].forEach(guild => {
[...guild.channels.cache.values()].filter(ch => ch.type === 'voice').forEach(channel => {
[...channel.members.values()].forEach(user => {
if (user.user.id !== uzivatel) return;
user.voice.kick('spinkacek');
});
});
});
}
}
}