Discord.JS V13 client.on messagecreate 未触发
Posted
技术标签:
【中文标题】Discord.JS V13 client.on messagecreate 未触发【英文标题】:Discord.JS V13 client.on messagecreate not firing 【发布时间】:2021-12-03 04:04:42 【问题描述】:我刚刚将我的 Discord.js 机器人升级到 v13,现在 client.on(messageCreate) 函数没有触发?我的代码都没有运行过,我真的很困惑为什么。
在任何人问之前,我已经确定了我的意图。
const client = new Discord.Client(
intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.DIRECT_MESSAGES ],
partials: ['MESSAGE', 'CHANNEL', 'REACTION'],
);
我有两个函数,client.on 触发但消息没有
client.on('ready', () =>
console.log(`Logged in as $client.user.tag!`);
);
client.on('messageCreate', msg =>
console.log(anything)
【问题讨论】:
您能否也发布有关此事件的代码? 请提供足够的代码,以便其他人更好地理解或重现问题。 好的,我已经添加到我的活动中了吗? 有什么错误或者运行顺利吗? 运行流畅,就是没有输出什么的 【参考方案1】:确保在您的意图列表中包含GUILDS
。否则,bot 只能看到在 bot 本身发送消息之后发送的消息。
就我而言,我需要设置这些:
partials: ['MESSAGE', 'CHANNEL', 'REACTION']
intents: ['DIRECT_MESSAGES', 'DIRECT_MESSAGE_REACTIONS', 'GUILD_MESSAGES', 'GUILD_MESSAGE_REACTIONS', 'GUILDS']
但具体情况会因您的用例而异。
【讨论】:
这不是我的问题的答案,但在解决问题后这是需要的 @TonyPatino 您是如何解决问题的?我也面临同样的问题 @DericLima 不幸的是,我认为这不会解决您的问题,但我重新安装了 discord.js,因为我认为我篡改了一些使其无法正常工作的东西,但请确保您确实有部分内容和意图设置如上。 @TonyPatino 不用担心,谢谢。我最终解决了这个问题。我误解了机器人在 Discord 中的工作方式,所以我错误地使用了事件。现在一切都好 @DericLima 很高兴听到【参考方案2】:您可以尝试用异步选项替换您的 messageCreate
,可能无法解决您的问题,但您可以随时尝试
client.on('messageCreate', async (message) =>
console.log("DEBUG");
查看您的控制台是否有任何错误,或者当您向机器人可以看到的频道发送消息时它是否发送“DEBUG”消息。
在我自己的机器人上,我没有设置部分,所以你可能也不需要它们。
确保您还正确地包含了您的 discord.js,这里是示例:
const Client, Intents = require("discord.js");
【讨论】:
以上是关于Discord.JS V13 client.on messagecreate 未触发的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 discord.js 调用 SubCommand 的选项? (v13)