Discord Bot添加on_message内if语句后无响应问题求助
Discord Bot !hungry指令无响应排查方案
精准匹配消息内容
可能是输入的消息带空格、大小写差异导致匹配失败。试试兼容写法:// 忽略大小写 if (message.content.toLowerCase() === '!hungry') { // 你的响应逻辑 } // 或去除首尾空格后匹配 if (message.content.trim() === '!hungry') { // 你的响应逻辑 }检查事件监听是否被拦截
确认messageCreate(Discord.js v14+)或message(旧版本)事件里,没有前置的return语句跳过了后续判断——比如其他指令的逻辑提前终止了函数,导致!hungry的判断根本没执行。验证Bot权限
确保Bot在目标频道拥有「读取消息历史」和「发送消息」权限,没有权限的话即使触发了判断,也无法输出响应内容。打印调试信息
在事件里先输出接收到的消息内容,确认Bot实际拿到的消息和你输入的一致:client.on('messageCreate', (message) => { console.log(`实际收到消息:${message.content}`); if (message.content === '!hungry') { message.reply('指令已触发!'); } });排除自身消息干扰
记得跳过Bot自己发送的消息,避免逻辑混乱:client.on('messageCreate', (message) => { if (message.author.bot) return; // 跳过Bot自身消息 if (message.content === '!hungry') { // 你的响应逻辑 } });
内容的提问来源于stack exchange,提问作者Tanishq Voruganti
相关产品推荐
相关产品推荐

