// Komandy nebo handelery který se nikam jinam nehodí import { getVoiceConnections } from "@discordjs/voice"; import { Client, Message } from "discord.js"; import { emouty } from "../utils/emotes"; import { createServer } from "http"; import { Modul } from "../utils/types"; import fetch from "node-fetch"; let spim = false; const exp: Modul = { more_komandy: { debug_log: { hidden: true, run: (_, arg) => { console.log("log:", arg); return "je to v konzoli"; } }, update: { als: ["apdejt"], run: async mes => { const sudo = mes.channel.id == process.env.adminChannel || mes.author.id == process.env.adminID; if (!sudo) { const verze = await fetch("https://denim3001.deadfish.cz/version.txt") .then(r => r.text()); if (verze == require("../../package.json").version) return `ale ja se nemam co priucit vole kkte ${mes.author}`; } getVoiceConnections().forEach(con => con.disconnect()); const client: Client = module.exports.client; client.user?.setStatus("invisible"); mes.react("👋") .then(() => process.exit()); } } }, super_on_message: { pos: 0, fun: (mes: Message) => { const cont = mes.content.toLowerCase(); const prefix = process.env.prefix; if (cont == `${prefix} zapni se`) { if (spim) { spim = false; mes.client.user?.setStatus("online"); mes.channel.send("dobré ráno magoří"); } else mes.channel.send("tak jsi kokot?"); } else if (!spim) { if (cont == `${prefix} vypni se`) { mes.react(emouty.purfieRIP); getVoiceConnections().forEach(con => con.disconnect()); mes.client.user?.setStatus("invisible"); spim = true; } else return false; } return true; } }, on_ready: () => { createServer((req, res) => { res.statusCode = 400; if (req.socket.remoteAddress != "::1") return res.end("di doprdele dyk ne more"); const sp = new URL(req.url!, `http://${req.headers.host}`).searchParams; const { userID, content } = Object.fromEntries(sp.entries()); if (!userID || !content) return res.end("gde mas userID a content????"); const client: Client = module.exports.client; const user = client.users.cache.get(userID); if (!user) return res.end("takovyho kkta neznam"); user.createDM().then(async dm => { await dm.send(content); res.statusCode = 200; res.end("OK"); }).catch((e: Error) => { if (e.message.search("2000 or fewer")) return res.end("content je moc dlouhej"); console.log("error pri posilani upozorneni", e); res.statusCode = 500; res.end("neco se posralo"); }); }).listen(1298); } }; module.exports = exp;