const Discord = require("discord.js"); const { Structures } = require("discord.js") const colors = require("colors"); const secret = require("../src/Data/secret.json"); const config = require("../src/Data/config.json") const { Color } = require("../src/Utils/config") require("./Database/connect") const bot = new Discord.Client({ disableMentions: "all", }); bot.queue = new Map() bot.Color = Color; bot.commands = new Discord.Collection(); bot.cooldowns = new Discord.Collection(); const config_gw = require('../src/Resources/Config/bot'); bot.config_gw = config; const { GiveawaysManager } = require("discord-giveaways"); const db = require("quick.db"); if (!db.get("giveaways")) db.set("giveaways", []); const GiveawayManagerWithOwnDatabase = class extends GiveawaysManager { // This function is called when the manager needs to get all the giveaway stored in the database. async getAllGiveaways() { // Get all the giveaway in the database return db.get("giveaways"); } // This function is called when a giveaway needs to be saved in the database (when a giveaway is created or when a giveaway is edited). async saveGiveaway(messageID, giveawayData) { // Add the new one db.push("giveaways", giveawayData); // Don't forget to return something! return true; } async editGiveaway(messageID, giveawayData) { // Gets all the current giveaways const giveaways = db.get("giveaways"); // Remove the old giveaway from the current giveaways ID const newGiveawaysArray = giveaways.filter((giveaway) => giveaway.messageID !== messageID); // Push the new giveaway to the array newGiveawaysArray.push(giveawayData); // Save the updated array db.set("giveaways", newGiveawaysArray); // Don't forget to return something! return true; } // This function is called when a giveaway needs to be deleted from the database. async deleteGiveaway(messageID) { // Remove the giveaway from the array const newGiveawaysArray = db.get("giveaways").filter((giveaway) => giveaway.messageID !== messageID); // Save the updated array db.set("giveaways", newGiveawaysArray); // Don't forget to return something! return true; } }; // Create a new instance of your new class // We now have a client.giveawaysManager property to manage our giveaways! client.giveawaysManager.on("giveawayReactionAdded", (giveaway, member, reaction) => { try { if (member.user.bot) return; const Discord = require("discord.js") const db = require('quick.db') let language = db.fetch(`lang_${member.guild.id}`) if (language === null) language = config_gw.basiclang const lang = require(`../src/lang/${language}.js`) let logs = db.fetch(`logs_${member.guild.id}`) if (logs === null) return; const salon = member.guild.channels.cache.get(logs); const Embed = new Discord.MessageEmbed() .setAuthor(lang.logs.raddtitle) .setDescription(lang.logs.raddmsg1 + "** **" + "`" + member.user.tag + "`" + "** **" + lang.logs.raddmsg2 + "** **" + "`" + giveaway.messageID + "`" + "** **" + config.reaction) .setFooter(config_gw.embeds.footers) .setColor(config_gw.events.addcolor) .setTimestamp() salon.send(Embed) } catch (e) { return; } }); client.giveawaysManager.on("giveawayReactionRemoved", (giveaway, member, reaction) => { try { if (member.user.bot) return; const Discord = require("discord.js") const db = require('quick.db') let language = db.fetch(`lang_${member.guild.id}`) if (language === null) language = config_gw.basiclang const lang = require(`../src/lang/${language}`) let logs = db.fetch(`logs_${member.guild.id}`) if (logs === null) return; const salon = member.guild.channels.cache.get(logs); const Embed = new Discord.MessageEmbed() .setAuthor(lang.logs.rremtitle) .setDescription(lang.logs.rremmsg1 + "** **" + "`" + member.user.tag + "`" + "** **" + lang.logs.rremmsg2 + "** **" + "`" + giveaway.messageID + "`" + "** **" + config.reaction) .setFooter(config_gw.embeds.footers) .setColor(config_gw.events.remcolor) .setTimestamp() salon.send(Embed) } catch (e) { return; } }); ["command", "event"].forEach((handler) => { require(`./handlers/${handler}`)(bot); }); bot.login(secret.discord.token).catch((e) => { console.log("[ERROR] An error occurred while logging in\n".red + e); }); --- Error: this.client.on('raw', (packet) => this._handleRawPacket(packet)); ^ TypeError: this.client.on is not a function