From b11f4a03201ce58a911ae9a13788b1cd1fd60204 Mon Sep 17 00:00:00 2001 From: Josh Creek Date: Thu, 14 Jan 2021 17:51:04 +0000 Subject: [PATCH] feat(*): Add index file to start logger, log in and handle message events --- index.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 index.js diff --git a/index.js b/index.js new file mode 100644 index 0000000..ad448b8 --- /dev/null +++ b/index.js @@ -0,0 +1,28 @@ +const Discord = require('discord.js'); +const winston = require('winston'); +const Elasticsearch = require('winston-elasticsearch'); +const config = require('./config.json'); +const { initialiseLogger } = require('./logger.js'); +const { matchCommand } = require('./commands.js'); +const client = new Discord.Client(); +const logger = initialiseLogger(config, winston, Elasticsearch); + +client.login(config.token); +client.once('ready', () =>{ + logger.info('MupBot logged in successfully!'); +}) + +client.on('message', function (message) { + // Ignore messages from the bot and that don't begin with the prefix, and do not run in DMs to bot + if (message.author.bot) return; + if (!message.content.startsWith(config.prefix)) return; + if (message.channel instanceof Discord.DMChannel) return; + + // Split out the fields we need from the message + const commandBody = message.content.slice(config.prefix.length); + const args = commandBody.split(' '); + const command = args.shift().toLowerCase(); + + // Run the matching command + matchCommand(Discord, config, logger, message, command, args); +});