mirror of
https://github.com/ION606/selmerBot.git
synced 2026-05-15 05:36:54 +00:00
106 lines
2.9 KiB
JavaScript
106 lines
2.9 KiB
JavaScript
const { Client, Intents } = require('discord.js');
|
|
const Discord = require('discord.js');
|
|
//const { token } = require('./commands/currency/config.json');
|
|
//Heroku part
|
|
const { token } = require('process.env');
|
|
|
|
|
|
const bot = new Client({
|
|
intents: [
|
|
Intents.FLAGS.GUILDS,
|
|
Intents.FLAGS.GUILD_MESSAGES,
|
|
Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
|
|
Intents.FLAGS.GUILD_VOICE_STATES
|
|
],
|
|
});
|
|
|
|
const prefix = '/';
|
|
|
|
|
|
const fs = require('fs');
|
|
const { exit } = require('process');
|
|
bot.commands = new Discord.Collection();
|
|
|
|
bot.commNames = new Discord.Collection();
|
|
|
|
bot.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}`);
|
|
|
|
bot.commands.set(command.name, command);
|
|
bot.commNames.set(i, [command.name, command.description]);
|
|
i ++;
|
|
}
|
|
|
|
//ECON SECTION
|
|
bot.commands.set('ECON', require(`./commands/currency/app.js`));
|
|
const currency = new Discord.Collection();
|
|
const { Users } = require('./commands/currency/dbObjects.js');
|
|
i++;
|
|
|
|
bot.commNames.set('length', i);
|
|
|
|
|
|
bot.on('ready', async () => {
|
|
// bot.once('ready', async () => {
|
|
const storedBalances = await Users.findAll();
|
|
storedBalances.forEach(b => currency.set(b.user_id, b));
|
|
|
|
// console.log(`Logged in as ${bot.user.tag}!`);
|
|
console.log('SLEEMER BOT ONLINE!!!!! OH MY GOD OH MY GOD!!!');
|
|
});
|
|
|
|
|
|
bot.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': bot.commands.get('Hello World').execute(message, args);
|
|
break;
|
|
|
|
case 'profile': bot.commands.get('profile').execute(message, args, Discord);
|
|
break;
|
|
|
|
case 'links': bot.commands.get('links').execute(message, args, Discord);
|
|
break;
|
|
|
|
case 'arrow': bot.commands.get('arrow').execute(message, args, Discord);
|
|
break;
|
|
|
|
case 'playaudio': bot.commands.get('playaudio').execute(message, args, bot, Discord);
|
|
break;
|
|
|
|
case 'quotes': bot.commands.get('quotes').execute(message, args, Discord, Client);
|
|
break;
|
|
|
|
case 'extracredit': bot.commands.get('EC').execute(message);
|
|
break;
|
|
|
|
case 'scrape': bot.commands.get('scraper').execute(message, args);
|
|
break;
|
|
|
|
case 'kareoke': bot.commands.get('kareoke').execute(message, args);
|
|
break;
|
|
|
|
default: bot.commands.get('ECON').execute(bot, prefix, message, args, command, Users, currency);
|
|
}
|
|
})
|
|
|
|
|
|
|
|
//Last Line
|
|
bot.login(token); |