Added cooldown for "je" and "jakmoc(0)"

This commit is contained in:
Histmy 2021-08-02 23:41:49 +02:00
parent 67c6a2b170
commit 2d53444938
3 changed files with 59 additions and 26 deletions

30
app.js
View File

@ -1,5 +1,6 @@
const { Client } = require('discord.js');
const fs = require("fs");
const { formatCas } = require("./addons/utils");
const client = new Client();
require('dotenv').config();
@ -10,6 +11,7 @@ const eventy = { on_message: [] };
const komandy = {};
const aliasy = {};
let spink = false;
const kuldan_log = {};
const runEvent = (name, args) => {
eventy[name].forEach(listener => {
@ -32,10 +34,10 @@ fs.readdirSync(modulFolder).forEach(function (soubor) {
Object.keys(modul[name]).forEach(cmdName => {
const value = modul[name][cmdName];
if (typeof value !== "object") {
komandy[cmdName] = value;
komandy[cmdName] = { run: value };
return;
}
komandy[cmdName] = value.run;
komandy[cmdName] = { run: value.run, cd: value.cd };
value.als?.forEach(al => aliasy[al] = cmdName);
});
}
@ -63,6 +65,17 @@ const spim = mes => {
return true;
};
function maKuldan(id, komand, kuldan_komandu) {
if (!kuldan_log[komand]) kuldan_log[komand] = {};
const cas_ted = Date.now() / 1000;
const rozdil = cas_ted - kuldan_log[komand][id];
if (rozdil < kuldan_komandu) return kuldan_komandu - rozdil;
kuldan_log[komand][id] = cas_ted;
return false;
}
client.on("message", function (mes) {
if (process.env.IGNORE_MESS || spim(mes)) return;
@ -72,12 +85,19 @@ client.on("message", function (mes) {
if (!komand) return mes.channel.send("coe voe");
const celArgs = args.join(' ');
const cmd = aliasy[komand] ?? komand;
const akce = komandy[cmd];
const cmdName = aliasy[komand] ?? komand;
const cmd = komandy[cmdName];
const akce = cmd?.run;
if (!akce) return mes.channel.send("co to znamena ti gadzovko");
if (cmd.cd) {
const zbyva = Math.round(maKuldan(mes.author.id, cmdName, cmd.cd));
if (zbyva) return mes.channel.send(`si kkt vole maz kuldan jeste ${formatCas(zbyva)}`);
}
if (typeof akce === "string") return mes.channel.send(akce);
const result = akce(celArgs, mes);
if (!result || !result.then) mes.channel.send(result);
if (result && !result.then) mes.channel.send(result);
});
client.on("debug", console.log);

View File

@ -16,7 +16,10 @@ module.exports = {
kam: _ => mista[rand(mista.length)],
je: _ => rand(2) ? "jo je" : "ne neni",
je: {
cd: 1800,
run: _ => rand(2) ? "jo je" : "ne neni"
},
ma: {
als: ["má"],
@ -44,9 +47,16 @@ module.exports = {
}
},
jakmoc: arg => `${arg} na ${rand(101)}%`,
jakmoc: {
cd: 1800,
run: arg => `${arg} na ${rand(101)}%`
},
jakmoc0: arg => `${arg} na ${rand(1001)}%`,
jakmoc0: {
cd: 1800,
run: arg => `${arg} na ${rand(1001)}%`
},
uz: {
als: ["už", "uz?", "už?"],

View File

@ -69,7 +69,9 @@ module.exports = {
wojs: (_, mes) => `vojs se pise s normalnim v ti kriple ${mes.author}`,
vojs: (arg, mes) => {
vojs: {
cd: 1800,
run: (arg, mes) => {
const channel = mes.member.voice.channel;
if (!channel) return `di si tam sam ne ty gadzo ${mes.author}`;
@ -90,6 +92,7 @@ module.exports = {
}
setTimeout(() => con.play('./zvuky/nazdar.ogg'), 500);
});
}
},
vypadni: {