From 10e93faf891c3fa3a68edb59d4ffb9d939680dc6 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 10 Jul 2022 13:58:09 -0400 Subject: Simple http server --- bot.js | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'bot.js') diff --git a/bot.js b/bot.js index cbad4a9..5aee843 100644 --- a/bot.js +++ b/bot.js @@ -22,15 +22,46 @@ import { Client, MessageEmbed, Collection, version } from 'discord.js'; import { voiceInit } from './AudioBackend.js'; import { readdirSync, readFileSync } from 'node:fs'; // import config from './config.json' assert { type: 'json' } Not supported by ESLint yet +import { createServer } from 'node:http'; const config = JSON.parse(readFileSync('./config.json')); const bot = new Client({ intents: ['GUILDS', 'GUILD_MESSAGES', 'GUILD_VOICE_STATES'] }); -bot.login(config.token); +const port = 1337; + +const server = createServer((req, res) => { + let body = '{"test": "test"}'; + // Get the data as utf8 strings. + // If an encoding is not set, Buffer objects will be received. + req.setEncoding('utf8'); + + // Readable streams emit 'data' events once a listener is added. + req.on('data', (chunk) => { + body += chunk; + }); + + // The 'end' event indicates that the entire body has been received. + req.on('end', () => { + try { + const data = JSON.parse(body); + // Write back something interesting to the user: + res.write(typeof data); + res.end(); + } catch (er) { + // uh oh! bad json! + res.statusCode = 400; + return res.end(`error: ${er.message}`); + } + }); +}); + +server.listen(port); +console.log(`Web server started! Port: ${port}`); + +// bot.login(config.token); /** * Project Ideas: - * Shuffle or "Play by order" mode * Audio streaming */ -- cgit v1.2.3