Problème events messageCreate discord.js

Par NicolasBAUD, il y a 2 ans


Javascript NodeJS

Bonjour,

Je rencontre un problème lors de la création de l'events messageCreate sur mon bot discord la variable message semble rester "undefined" et je reçois les retour:

Message reçu: undefined
Message ignoré : n'est pas dans un serveur

Voici mon fichier messageCreate.js

const Discord = require("discord.js"); module.exports = { name: "messageCreate", once: false, /** * @param {Discord.Client} client * @param {Discord.Message} message */ async execute(client, message) { try { console.log("Message reçu:", message.content); if (!message.guild) { console.log("Message ignoré : n'est pas dans un serveur"); return; } if (message.author.bot) { console.log("Message ignoré : envoyé par un bot"); return; } const { ChatFilter } = require("discord-chat-filter"); const chatFilter = new ChatFilter(message.content); if (chatFilter.filterBadWord(["f*ck", "sh*t"])) { console.log("Message supprimé : gros mot détecté"); await message.delete(); await message.channel.send("Pas de gros mots."); } if (chatFilter.filterLink()) { console.log("Message supprimé : lien détecté"); await message.delete(); await message.channel.send("Pas de liens."); } if (chatFilter.filterMention()) { console.log("Message supprimé : mention détectée"); await message.delete(); await message.channel.send("Pas de mentions."); } if (chatFilter.filterCaps()) { console.log("Message supprimé : trop de majuscules"); await message.delete(); await message.channel.send("Trop de majuscules."); } } catch (error) { console.error("Une erreur s'est produite lors de l'exécution de l'événement 'messageCreate':", error); } }, };

Je ne sais pas si le fichier index.js pourrait interféré

const fs = require("fs-extra"); const path = require("node:path"); const { Client, Collection, GatewayIntentBits, Partials } = require("discord.js"); // eslint-disable-next-line node/no-missing-require, node/no-unpublished-require const { token } = require("./config/token.json"); const { QuickDB, MySQLDriver } = require("quick.db"); const jsonc = require("jsonc"); const Redis = require("ioredis"); process.on("unhandledRejection", (reason, promise, a) => { console.log(reason, promise, a); }); const config = jsonc.parse(fs.readFileSync(path.join(__dirname, "config/config.jsonc"), "utf8")) const client = new Client({ intents: [ GatewayIntentBits.DirectMessages, GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMembers, GatewayIntentBits.MessageContent ], partials: [Partials.Channel], presence: { status: config.status?.status } }); [...] const eventsPath = path.join(__dirname, "events"); const eventFiles = fs.readdirSync(eventsPath).filter((file) => file.endsWith(".js")); for (const file of eventFiles) { const filePath = path.join(eventsPath, file); const event = require(filePath); if (event.once) { client.once(event.name, (...args) => event.execute(...args)); } else { client.on(event.name, (...args) => event.execute(...args, client)); } }

Merci à quiconque qui apportera sont aide

1 réponse

NicolasBAUD, il y a 2 ans

C'est réglé il fallait remplacer:
async execute(client,message) {
Par
async execute(message, client) {