diff --git a/package-lock.json b/package-lock.json index 02f7f59..4614048 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "denim_3001", - "version": "3001.29.4", + "version": "3001.30.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "denim_3001", - "version": "3001.29.4", + "version": "3001.30.0", "license": "ISC", "dependencies": { "@discordjs/opus": "github:discordjs/opus", diff --git a/package.json b/package.json index 58e778c..daced30 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "denim_3001", - "version": "3001.29.4", + "version": "3001.30.0", "description": "Toto je velmi kvalitní bot.", "repository": { "url": "https://github.com/Histmy/Denim-Bot/" diff --git a/src/modules/komComplex.ts b/src/modules/komComplex.ts index c22a935..eedd251 100644 --- a/src/modules/komComplex.ts +++ b/src/modules/komComplex.ts @@ -4,6 +4,7 @@ import { ActivityType, Message, PresenceStatusData } from "discord.js"; import { emouty } from "../utils/emotes"; import { Modul } from "../utils/types"; +import { ping } from "../utils/utils"; const changeStatus = (mes: Message, status: PresenceStatusData) => { mes.client.user?.setStatus(status); @@ -16,8 +17,6 @@ const changeActivity = (mes: Message, activity: ActivityType | undefined = undef return "ano pane"; }; -const ping = /^<@!?\d+>$/; - const exp: Modul = { more_komandy: { diff --git a/src/modules/spink.ts b/src/modules/spink.ts index 3067839..b7ce266 100644 --- a/src/modules/spink.ts +++ b/src/modules/spink.ts @@ -4,7 +4,7 @@ import { GuildMember, Message, Role, VoiceState } from "discord.js"; import fetch from "node-fetch"; import { emouty } from "../utils/emotes"; import { Modul, Spinkackar } from "../utils/types"; -import { formatCas, formatter } from "../utils/utils"; +import { formatCas, formatter, ping } from "../utils/utils"; let spinkacky: Record; const budouciSpinky: Record = {}; @@ -27,7 +27,8 @@ const syncSpink = () => { for (let i = 0; i < keys.length; i++) { const k = keys[i]; if (k[0] != "d") continue; - spinkacky[k.slice(8)] = { spinkacek: values[i].spinkacek, timeup: values[i].timeup * 1000 }; + const vstav = values[i].timeup; + spinkacky[k.slice(8)] = { spinkacek: values[i].spinkacek, timeup: vstav === false ? false : vstav * 1000 }; } }); }; @@ -116,9 +117,14 @@ const exp: Modul = { ps: { als: ["poslednispink"], - run: (mes) => { - const cas = Number(new Date()) - Number(new Date(spinkacky[mes.author.id].timeup)); - return `uz jsi vzhuru ${formatCas(cas / 1000)}`; + run: (mes, arg) => { + const f = arg != ""; + if (!ping.test(arg) && f) return "sikkt"; + const id = f ? mes.mentions.members!.first()!.id : mes.author.id; + const tajmUp = spinkacky[id].timeup; + if (tajmUp === false) return "ten kkt jiz ickon spi"; + const cas = Number(new Date()) - Number(new Date(tajmUp)); + return `uz ${f ? "je" : "jsi"} vzhuru ${formatCas(cas / 1000)}`; } } }, diff --git a/src/utils/types.ts b/src/utils/types.ts index 02601c6..b5a47b4 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -33,7 +33,7 @@ export interface Komand { export interface Spinkackar { spinkacek: boolean; - timeup: number; + timeup: number | false; } export interface FakePresence { diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 554a99b..28f455b 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -165,3 +165,5 @@ export function loadEnv() { } export const formatter = new Intl.DateTimeFormat("cs", { day: "numeric", month: "short", hour: "numeric", minute: "numeric", second: "numeric" }); + +export const ping = /^<@!?\d+>$/;