2022-11-27 00:46:19 -05:00
|
|
|
/* eslint-disable max-len */
|
2022-11-27 02:35:28 -05:00
|
|
|
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')
|
2022-08-14 05:51:45 -04:00
|
|
|
const {
|
|
|
|
Client,
|
2022-11-27 02:35:28 -05:00
|
|
|
Intents
|
|
|
|
} = require('discord.js')
|
|
|
|
const intents = new Intents(['GUILDS', 'GUILD_MESSAGES'])
|
2022-08-14 05:51:45 -04:00
|
|
|
const dcclient = new Client({
|
2022-11-27 02:35:28 -05:00
|
|
|
intents
|
|
|
|
})
|
2022-08-14 05:51:45 -04:00
|
|
|
|
2022-11-27 02:35:28 -05:00
|
|
|
let bots = []
|
2022-08-14 05:51:45 -04:00
|
|
|
|
2022-11-14 05:45:49 -05:00
|
|
|
dcclient.on('ready', () => {
|
|
|
|
config.servers.forEach(async (server) => {
|
2022-11-27 02:35:28 -05:00
|
|
|
const getBots = () => bots
|
2022-11-27 00:46:19 -05:00
|
|
|
const setNewBot = (server, bot) => {
|
2022-11-27 02:35:28 -05:00
|
|
|
bots = bots.filter((eachBot) => eachBot !== server)
|
|
|
|
bots.push(bot)
|
|
|
|
}
|
2022-11-15 06:30:35 -05:00
|
|
|
// await is important cuz the function is async
|
|
|
|
// VVVVV
|
2022-11-27 02:35:28 -05:00
|
|
|
const bot = await createBot(server, config, getBots, setNewBot, dcclient, rl)
|
|
|
|
bots.push(bot)
|
|
|
|
})
|
|
|
|
})
|
2022-08-14 05:51:45 -04:00
|
|
|
|
2022-11-27 02:35:28 -05:00
|
|
|
dcclient.login(config.discord.token)
|
2022-11-20 07:19:10 -05:00
|
|
|
|
|
|
|
process.on('uncaughtException', (e) => {
|
2022-11-30 06:01:46 -05:00
|
|
|
console.log('uncaught ' + e.stack)
|
2022-11-27 02:35:28 -05:00
|
|
|
})
|