const fs = require('fs') const Discord = require('discord.js'); const Client = require('./client'); const { prefix, token, } = require('./config.json'); const client = new Client(); client.commands = new Discord.Collection(); const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js')); for (const file of commandFiles) { const command = require(`./commands/${file}`); client.commands.set(command.name, command); } console.log(client.commands); client.once('ready', () => { console.log('Ready!'); }); client.once('reconnecting', () => { console.log('Reconnecting!'); }); client.once('disconnect', () => { console.log('Disconnect!'); }); client.on('message', async message => { if (message.author.bot) return; if (!message.content.startsWith(prefix)) return; const args = message.content.slice(prefix.length).split(/ +/); const commandName = args.shift().toLowerCase(); if (!client.commands.has(commandName)) return; const command = client.commands.get(commandName); const permitted_roles = client.commands.get(commandName)["roles"]; const permitted_channels = client.commands.get(commandName)["channels"] has_roles = false if (permitted_roles){ for(i = 0; i < permitted_roles.length; i++){ if(message.member.roles.cache.has(permitted_roles[i])){ has_roles = true } } if (!has_roles && permitted_roles.length != 0){ message.reply('You are not allowed to run this command!'); return; } } if(permitted_channels){ msg_channel = message.channel; channel_allowed = false for(i = 0; i < permitted_channels.length; i++){ if(permitted_channels[i] == "dm" && msg_channel instanceof Discord.DMChannel){ channel_allowed = true; break; }else if(permitted_channels[i] == msg_channel.id){ channel_allowed = true; break; } } if(!channel_allowed){ return; } } try { command.execute(message); } catch (error) { console.error(error); message.reply('There was an error trying to execute that command!'); } }); client.login(token);