autospink vole

This commit is contained in:
Histmy 2021-11-20 02:19:12 +01:00
parent 4510e0106c
commit f18c65d468
3 changed files with 43 additions and 17 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "denim_3001",
"version": "3001.32.1",
"version": "3001.33.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "denim_3001",
"version": "3001.32.1",
"version": "3001.33.0",
"license": "ISC",
"dependencies": {
"@discordjs/opus": "github:discordjs/opus",

View File

@ -1,6 +1,6 @@
{
"name": "denim_3001",
"version": "3001.32.1",
"version": "3001.33.0",
"description": "Toto je velmi kvalitní bot.",
"repository": {
"url": "https://github.com/Histmy/Denim-Bot/"

View File

@ -1,6 +1,6 @@
// Modul dedikovaný funkci spinkáček
import { GuildMember, Message, Role, VoiceState } from "discord.js";
import { Client, GuildMember, Message, Presence, Role, VoiceState } from "discord.js";
import fetch from "node-fetch";
import { emouty } from "../utils/emotes";
import { Modul, Spinkackar, SRecord } from "../utils/types";
@ -8,6 +8,7 @@ import { formatCas, formatter, oddiakritikovat, ping } from "../utils/utils";
let spinkacky: SRecord<Spinkackar>;
const budouciSpinky: SRecord<NodeJS.Timeout> = {};
const autoSpinky: SRecord<string> = {};
const contactSpinkServer = async (akce: string, id: string, nick: string = "", avatar: string | null = "") => {
const options = `heslo=${process.env.spinkPass}&akce=${akce}&id=${id}&nick=${encodeURIComponent(nick)}&avatar=${encodeURIComponent(avatar ?? "")}`;
@ -53,6 +54,21 @@ const ifUzRemove = (m: Message) => {
return false;
};
const tovjemamvolepreceroliky = async (roliky: GuildMember) => {
const odpoved = await handleSpink("vstavacek", roliky);
if (!odpoved) return "uz jsi vzhuru ty hajzle";
const cas = Number(odpoved.slice(3));
const formatedCas = formatCas(cas);
let zpr = "";
if (cas >= 57600) zpr = "mas dat more vstavacek uz kdyz vstanes retarde";
else if (cas >= 43200) zpr = "extrémní bídák";
else if (cas >= 36000) zpr = "fakt bídák";
else if (cas < 30) zpr = "dobrej mikrospánek debile";
else if (cas < 10800) zpr = "dobrej fake spink debile";
return `dobry rano hajzle ${roliky.user}\nspal sy ${formatedCas}\n${zpr}`;
};
const exp: Modul = {
more_komandy: {
@ -73,18 +89,7 @@ const exp: Modul = {
run: async (mes) => {
if (mes.author.bot) return emouty.sjeta;
const odpoved = await handleSpink("vstavacek", mes.member!);
if (!odpoved) return "uz jsi vzhuru ty hajzle";
const cas = Number(odpoved.slice(3));
const formatedCas = formatCas(cas);
let zpr = "";
if (cas >= 57600) zpr = "mas dat more vstavacek uz kdyz vstanes retarde";
else if (cas >= 43200) zpr = "extrémní bídák";
else if (cas >= 36000) zpr = "fakt bídák";
else if (cas < 30) zpr = "dobrej mikrospánek debile";
else if (cas < 10800) zpr = "dobrej fake spink debile";
return `dobry rano hajzle\nspal sy ${formatedCas}\n${zpr}`;
return tovjemamvolepreceroliky(mes.member!);
}
},
@ -147,7 +152,10 @@ const exp: Modul = {
if (!ifUzRemove(mes)) return `spinkacek ale nemas naplanovanej ty kkte ${mes.author}`;
return "to bylo teda trapny debile";
}
}
},
autospink: (mes) =>
`autospink je ${autoSpinky[mes.author.id] ? (delete autoSpinky[mes.author.id], "vypnut") : (autoSpinky[mes.author.id] = mes.channelId, "zapnut")}`
},
on_voiceStateUpdate: (bef: VoiceState, aft: VoiceState) => {
@ -203,6 +211,24 @@ const exp: Modul = {
})();
return true;
}
},
on_presenceUpdate: async (bef: Presence | null, aft: Presence) => {
if (!bef) return;
const befoff = bef.status == "offline";
const aftoff = aft.status == "offline";
const mamrdovinka = autoSpinky[aft.userId];
if (mamrdovinka) {
if (!befoff && aftoff) {
handleSpink("spinkacek", aft.member!);
}
if (befoff && !aftoff) {
const client: Client = module.exports.client;
const kanel = client.channels.cache.get(mamrdovinka);
delete autoSpinky[aft.userId];
if (kanel?.isText()) kanel.send(await tovjemamvolepreceroliky(aft.member!));
}
}
}
};