Files
selmerBot/main.js
T
2022-04-17 08:51:30 -04:00

103 lines
2.9 KiB
JavaScript

const { Client, Intents } = require('discord.js');
const Discord = require('discord.js');
const { token } = require('./commands/currency/config.json');
const client = new Client({
intents: [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.GUILD_MESSAGE_REACTIONS
],
});
const prefix = '/';
const fs = require('fs');
const { exit } = require('process');
client.commands = new Discord.Collection();
client.commNames = new Discord.Collection();
client.econ = new Discord.Collection();
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
const econFiles = fs.readdirSync('./commands/currency').filter(file => file.endsWith('.js'));;
let i = 0;
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
client.commNames.set(i, [command.name, command.description]);
i ++;
}
//ECON SECTION
client.commands.set('ECON', require(`./commands/currency/app.js`));
const currency = new Discord.Collection();
const { Users } = require('./commands/currency/dbObjects.js');
i++;
client.commNames.set('length', i);
client.on('ready', async () => {
// client.once('ready', async () => {
const storedBalances = await Users.findAll();
storedBalances.forEach(b => currency.set(b.user_id, b));
// console.log(`Logged in as ${client.user.tag}!`);
console.log('SLEEMER BOT ONLINE!!!!! OH MY GOD OH MY GOD!!!');
});
client.on('messageCreate', (message) => {
//COMMAND AREA
//Check if the prefix exists
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(' ');
const command = args.shift().toLowerCase();
//Check if the user has sufficient permission
//Performes the command
switch(command) {
case 'test': client.commands.get('Hello World').execute(message, args);
break;
case 'profile': client.commands.get('profile').execute(message, args, Discord);
break;
case 'links': client.commands.get('links').execute(message, args, Discord);
break;
case 'arrow': client.commands.get('arrow').execute(message, args, Discord);
break;
case 'playaudio': client.commands.get('playaudio').execute(message, args, client, Discord);
break;
case 'quotes': client.commands.get('quotes').execute(message, args, Discord, Client);
break;
case 'extracredit': client.commands.get('EC').execute(message);
break;
case 'scrape': client.commands.get('scraper').execute(message, args);
break;
case 'kareoke': client.commands.get('kareoke').execute(message, args);
break;
default: client.commands.get('ECON').execute(client, prefix, message, args, command, Users, currency);
}
})
//Last Line
client.login(token);