const express = require("express") const { Client } = require("discord.js-selfbot-v13"); const { readFileSync } = require("node:fs"); const cfg = require("./config.json"); const client = new Client(); const app = express(); let resStream; let channel; app.use(express.static("assets")); app.get("/send", async (req, res) => { res.redirect(req.headers.referer); channel.send(req.query.content); }); app.get("/channels/:channel", async (req, res) => { channel = await client.channels.fetch(req.params.channel); resStream = res; resStream.writeHead(200, { "Content-Type": "text/html", }); resStream.write(readFileSync("pages/index.html")); (await channel.messages.search()).messages.reverse().each(msg => { resStream.write(constructMessage(msg)); }); }); function sanitize(text) { return text.replaceAll("<", "<").replaceAll(">", ">"); } function constructMessage(msg) { return `
${sanitize(msg.author.username)}: ${sanitize(msg.content)}
`; } client.on("messageCreate", (msg) => { if(!resStream || !channel || msg.channel.id !== channel.id) return; resStream.write(constructMessage(msg)); }); app.listen(cfg.port); client.login(cfg.token);