basic command handler (messageCreate fixme)
This commit is contained in:
5
src/cfg.json
Normal file
5
src/cfg.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"prefix": ".",
|
||||
"hexBlue": "0x61f2ea",
|
||||
"hexRed": "0xfb636b"
|
||||
}
|
||||
6
src/cmds/ping.js
Normal file
6
src/cmds/ping.js
Normal file
@@ -0,0 +1,6 @@
|
||||
module.exports = {
|
||||
name: 'ping',
|
||||
execute(msg) {
|
||||
msg.channel.send(`pong`);
|
||||
},
|
||||
};
|
||||
BIN
src/gractwo.png
Normal file
BIN
src/gractwo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
44
src/index.js
Normal file
44
src/index.js
Normal file
@@ -0,0 +1,44 @@
|
||||
const { Client, Intents, Collection } = require('discord.js');
|
||||
const cfg = require('./cfg.json');
|
||||
const fs = require('fs');
|
||||
require('dotenv').config();
|
||||
|
||||
const cl = new Client({ intents: [Intents.FLAGS.GUILDS] });
|
||||
cl.cmds = new Collection();
|
||||
|
||||
const cmdsFls = fs
|
||||
.readdirSync(`./src/cmds`)
|
||||
.filter((file) => file.endsWith(`.js`));
|
||||
for (const Fl of cmdsFls) {
|
||||
const cmd = require(`./cmds/${Fl}`);
|
||||
console.log(`command: ` + cmd.name);
|
||||
cl.cmds.set(cmd.name, cmd);
|
||||
}
|
||||
|
||||
// FIXME: messageCreate is never invoked for some reason, disabling
|
||||
// literally all of the bot's functionality
|
||||
cl.on('messageCreate', (msg) => {
|
||||
console.log('a message has been received');
|
||||
if (!msg.content.startsWith(cfg.prefix) || msg.author.bot) return;
|
||||
|
||||
const args = msg.content.slice(cfg.prefix.length).trim().split(/ +/);
|
||||
const cmdName = args.shift().toLowerCase();
|
||||
|
||||
if (!cl.cmds.has(cmdName)) return;
|
||||
const cmd = cl.cmds.get(cmdName);
|
||||
|
||||
try {
|
||||
cmd.execute(msg);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
message.reply(`the above error occured while trying to execute ${cmd}`);
|
||||
}
|
||||
});
|
||||
|
||||
cl.once('ready', () => {
|
||||
console.clear();
|
||||
console.log(`bot ready; logged in as ${cl.user.tag}\n--`);
|
||||
cl.user.setActivity('.ping', { type: 'LISTENING' });
|
||||
});
|
||||
|
||||
cl.login(process.env.token);
|
||||
Reference in New Issue
Block a user