Events are now in a separated folder
This commit is contained in:
parent
280e03c907
commit
8b8007cb6c
3 changed files with 46 additions and 48 deletions
15
events/message.js
Normal file
15
events/message.js
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
const responseObject = require("../reply.json");
|
||||||
|
const { Permissions } = require('discord.js');
|
||||||
|
const flags = [
|
||||||
|
'SEND_MESSAGES'
|
||||||
|
];
|
||||||
|
const permissions = new Permissions(flags);
|
||||||
|
|
||||||
|
module.exports = (client, message) => {
|
||||||
|
// Auto respond to messages
|
||||||
|
let message_content = message.content.toLowerCase();
|
||||||
|
if(responseObject[message_content]) {
|
||||||
|
message.channel.send(responseObject[message_content]);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
12
events/ready.js
Normal file
12
events/ready.js
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
module.exports = (client) => {
|
||||||
|
const { botID, statsChannel } = require('../config.json');
|
||||||
|
// Send stats to the console
|
||||||
|
console.log(`Logged in as ${client.user.tag}! (${client.user.id})`);
|
||||||
|
console.log(`Ready to serve in ${client.channels.size} channels on ${client.guilds.size} servers, for a total of ${client.users.size} users. ${client.readyAt}`);
|
||||||
|
// Send stats to the "stats" channel in the support server if its not the test bot
|
||||||
|
if (client.user.id == botID) {
|
||||||
|
const channel = client.channels.get(statsChannel);
|
||||||
|
channel.send(`Ready to serve in ${client.channels.size} channels on ${client.guilds.size} servers, for a total of ${client.users.size} users. ${client.readyAt}`);
|
||||||
|
}
|
||||||
|
client.user.setActivity('"haha help" or "@me help" for help');
|
||||||
|
}
|
67
index.js
67
index.js
|
@ -1,7 +1,6 @@
|
||||||
const { CommandoClient } = require('discord.js-commando');
|
const { CommandoClient, Command } = require('discord.js-commando');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { token, prefix, botID, statsChannel, ownerID, supportServer } = require('./config.json');
|
const { token, prefix, ownerID, supportServer } = require('./config.json');
|
||||||
const responseObject = require("./reply.json");
|
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
|
|
||||||
// Prefix and ownerID and invite to support server
|
// Prefix and ownerID and invite to support server
|
||||||
|
@ -24,52 +23,24 @@ client.registry
|
||||||
.registerDefaultGroups()
|
.registerDefaultGroups()
|
||||||
.registerDefaultCommands()
|
.registerDefaultCommands()
|
||||||
.registerCommandsIn(path.join(__dirname, 'commands'));
|
.registerCommandsIn(path.join(__dirname, 'commands'));
|
||||||
// Ready messages
|
|
||||||
client.on('ready', () => {
|
|
||||||
// Send stats to the console
|
|
||||||
console.log(`Logged in as ${client.user.tag}! (${client.user.id})`);
|
|
||||||
console.log(`Ready to serve in ${client.channels.size} channels on ${client.guilds.size} servers, for a total of ${client.users.size} users. ${client.readyAt}`);
|
|
||||||
// Send stats to the "stats" channel in the support server if its not the test bot
|
|
||||||
if (client.user.id == botID) {
|
|
||||||
const channel = client.channels.get(statsChannel);
|
|
||||||
channel.send(`Ready to serve in ${client.channels.size} channels on ${client.guilds.size} servers, for a total of ${client.users.size} users. ${client.readyAt}`);
|
|
||||||
}
|
|
||||||
client.user.setActivity('"haha help" or "@me help" for help');
|
|
||||||
});
|
|
||||||
// When bot join a guild send embeds with details about it.
|
|
||||||
client.on("guildCreate", guild => {
|
|
||||||
console.log(`${guild.name}\n${guild.memberCount} users\nOwner: ${guild.owner}`);
|
|
||||||
const channel = client.channels.get(statsChannel);
|
|
||||||
const addEmbed = {
|
|
||||||
color: 0x008000,
|
|
||||||
title: 'Someone added the bot! :D YAY',
|
|
||||||
description: `${guild.name}\n${guild.memberCount} users\nOwner: ${guild.owner}`,
|
|
||||||
timestamp: new Date(),
|
|
||||||
};
|
|
||||||
|
|
||||||
channel.send({ embed: addEmbed });
|
|
||||||
})
|
|
||||||
// When bot get kicked from a guild send embeds with details about it.
|
|
||||||
client.on("guildDelete", guild => {
|
|
||||||
console.log(`***BOT KICKED***\n${guild.name}\n${guild.memberCount} users\nOwner: ${guild.owner}\n***BOT KICKED***`);
|
|
||||||
const channel = client.channels.get(statsChannel);
|
|
||||||
const kickEmbed = {
|
|
||||||
color: 0xFF0000,
|
|
||||||
title: 'Someone removed the bot :(',
|
|
||||||
description: `${guild.name}\n${guild.memberCount} users\nOwner: ${guild.owner}`,
|
|
||||||
timestamp: new Date(),
|
|
||||||
};
|
|
||||||
|
|
||||||
channel.send({ embed: kickEmbed });
|
|
||||||
})
|
|
||||||
|
|
||||||
// Auto respond to messages
|
fs.readdir("./events/", (err, files) => {
|
||||||
// client.on("message", (message) => {
|
if (err) return console.error(err);
|
||||||
// let message_content = message.content.toLowerCase();
|
files.forEach(file => {
|
||||||
// if(responseObject[message_content]) {
|
// If the file is not a JS file, ignore it (thanks, Apple)
|
||||||
// message.channel.send(responseObject[message_content]);
|
if (!file.endsWith(".js")) return;
|
||||||
// }
|
// Load the event file itself
|
||||||
// });
|
const event = require(`./events/${file}`);
|
||||||
|
// Get just the event name from the file name
|
||||||
|
let eventName = file.split(".")[0];
|
||||||
|
// super-secret recipe to call events with all their proper arguments *after* the `client` var.
|
||||||
|
// without going into too many details, this means each event will be called with the client argument,
|
||||||
|
// followed by its "normal" arguments, like message, member, etc etc.
|
||||||
|
// This line is awesome by the way. Just sayin'.
|
||||||
|
client.on(eventName, event.bind(null, client));
|
||||||
|
delete require.cache[require.resolve(`./events/${file}`)];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
client.on('error', console.error);
|
client.on('error', console.error);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue