chomens-bot-js/index.js

33 lines
888 B
JavaScript

const readline = require('node:readline')
const { stdin: input, stdout: output } = require('node:process')
const rl = readline.createInterface({ input, output })
const config = require('./config')
const { createBot } = require('./bot')
const {
Client,
Intents
} = require('discord.js')
const intents = new Intents(['GUILDS', 'GUILD_MESSAGES'])
const dcclient = new Client({
intents
})
let bots = []
dcclient.on('ready', () => {
config.servers.forEach(async (server) => {
const getBots = () => bots
const setNewBot = (server, bot) => {
bots = bots.filter((eachBot) => eachBot !== server)
bots.push(bot)
}
// await is important cuz the function is async
await createBot(server, config, getBots, setNewBot, dcclient, rl)
})
})
dcclient.login(config.discord.token)
process.on('uncaughtException', (e) => {
console.log('uncaught ' + e.stack)
})