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", "name": "denim_3001",
"version": "3001.32.1", "version": "3001.33.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "denim_3001", "name": "denim_3001",
"version": "3001.32.1", "version": "3001.33.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@discordjs/opus": "github:discordjs/opus", "@discordjs/opus": "github:discordjs/opus",

View File

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

View File

@ -1,6 +1,6 @@
// Modul dedikovaný funkci spinkáček // 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 fetch from "node-fetch";
import { emouty } from "../utils/emotes"; import { emouty } from "../utils/emotes";
import { Modul, Spinkackar, SRecord } from "../utils/types"; import { Modul, Spinkackar, SRecord } from "../utils/types";
@ -8,6 +8,7 @@ import { formatCas, formatter, oddiakritikovat, ping } from "../utils/utils";
let spinkacky: SRecord<Spinkackar>; let spinkacky: SRecord<Spinkackar>;
const budouciSpinky: SRecord<NodeJS.Timeout> = {}; const budouciSpinky: SRecord<NodeJS.Timeout> = {};
const autoSpinky: SRecord<string> = {};
const contactSpinkServer = async (akce: string, id: string, nick: string = "", avatar: string | null = "") => { 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 ?? "")}`; 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; 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 = { const exp: Modul = {
more_komandy: { more_komandy: {
@ -73,18 +89,7 @@ const exp: Modul = {
run: async (mes) => { run: async (mes) => {
if (mes.author.bot) return emouty.sjeta; if (mes.author.bot) return emouty.sjeta;
const odpoved = await handleSpink("vstavacek", mes.member!); return tovjemamvolepreceroliky(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}`;
} }
}, },
@ -147,7 +152,10 @@ const exp: Modul = {
if (!ifUzRemove(mes)) return `spinkacek ale nemas naplanovanej ty kkte ${mes.author}`; if (!ifUzRemove(mes)) return `spinkacek ale nemas naplanovanej ty kkte ${mes.author}`;
return "to bylo teda trapny debile"; 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) => { on_voiceStateUpdate: (bef: VoiceState, aft: VoiceState) => {
@ -203,6 +211,24 @@ const exp: Modul = {
})(); })();
return true; 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!));
}
}
} }
}; };