Discord.js机器人前缀命令失效问题排查请求
问题分析与解决方案
你的前缀命令失效主要有两个核心问题,按以下步骤修复即可:
1. 事件监听使用了废弃的API
Discord.js v14及以上版本已经移除了message事件,取而代之的是messageCreate事件。你代码里的client.on("message", ...)不会触发任何消息监听逻辑,必须替换成:
client.on("messageCreate", msg => { // 原有的命令处理逻辑保持不变 });
2. 缺少读取消息内容的Intent权限
要识别消息里的前缀命令,机器人需要获取消息内容的权限,这需要两个操作:
- 在代码的client配置中添加
MessageContentintent:const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent // 新增该权限 ], partials: [Partials.Channel, Partials.Message], }); - 登录Discord开发者平台,进入你的机器人应用页面,在Privileged Gateway Intents板块中,开启Message Content Intent的开关并保存设置。
修改完成后重启机器人,前缀命令就能正常触发了。
内容的提问来源于stack exchange,提问作者Egor Maz
相关产品推荐
相关产品推荐

