const fs = require('fs'); const Discord = require('discord.js'); const bot = new Discord.Client(); const config = require('./config.json'); bot.config = config; // Init discord giveaways const { GiveawaysManager } = require('discord-giveaways'); bot.giveawaysManager = new GiveawaysManager(bot, { storage: "./giveaways.json", updateCountdownEvery: 5000, default: { clientsCanWin: false, embedColor: "#FF0000", reaction: "🎉" } }); // We now have a bot.giveawaysManager property to manage our giveaways! bot.giveawaysManager.on("giveawayReactionAdded", (giveaway, member, reaction) => { console.log(`${member.user.tag} entered giveaway #${giveaway.messageID} (${reaction.emoji.name})`); }); bot.giveawaysManager.on("giveawayReactionRemoved", (giveaway, member, reaction) => { console.log(`${member.user.tag} unreact to giveaway #${giveaway.messageID} (${reaction.emoji.name})`); }); /* Load all events */ fs.readdir("./events/", (_err, files) => { files.forEach((file) => { if (!file.endsWith(".js")) return; const event = require(`./events/${file}`); let eventName = file.split(".")[0]; console.log(`👌 Event loaded: ${eventName}`); bot.on(eventName, event.bind(null, bot)); delete require.cache[require.resolve(`./events/${file}`)]; }); }); bot.on("ready", async () => { bot.user.setActivity(`Winner!| r!setup | on ${bot.guilds.cache.size} Servers!`, { type: "WATCHING", }); }) bot.commands = new Discord.Collection(); bot.aliases = new Discord.Collection(); /* Load all commands */ fs.readdir("./commands/", (_err, files) => { files.forEach((file) => { if (!file.endsWith(".js")) return; let props = require(`./commands/${file}`); let commandName = file.split(".")[0]; bot.commands.set(commandName, props); console.log(`👌 Command loaded: ${commandName}`); bot.commands.set(props.help.name, props); props.help.aliases.forEach(alias => { bot.aliases.set(alias, props.help.name); }) }); bot.on("message", async message => { //check chan// if (message.channel.type === "dm") return; if (message.author.bot) return; // SET PREFIX // let prefix = config.prefix; //CHECK PREFIX, DEFINE ARGS COMMANDS if (!message.content.startsWith(prefix)) return; let args = message.content.slice(prefix.length).trim().split(/ +/g); let cmd; cmd = args.shift().toLowerCase(); let command; if (bot.commands.has(cmd)) { command = bot.commands.get(cmd); } else if (bot.aliases.has(cmd)) { command = bot.commands.get(bot.aliases.get(cmd)); } try { command.run(bot, message, args); } catch (e) { return console.log(e); } }) }); // Login bot.login(config.token);