95 lines
2.8 KiB
TypeScript
95 lines
2.8 KiB
TypeScript
// 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;
|