You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js机器人在线但无法响应命令问题求助

Discord.js机器人在线但命令无响应的解决办法

1. 补全MessageContent意图(核心问题)

Discord.js v14及后续版本中,读取消息内容必须声明MessageContent意图,同时要在Discord开发者后台开启该特权权限:

  • 修改代码中的intents数组,添加"MessageContent":
intents: [
    "Guilds",
    "GuildMessages",
    "GuildPresences",
    "GuildMembers",
    "GuildMessageReactions",
    "MessageContent" // 添加这一行
],
  • 打开Discord开发者平台,进入你的机器人应用,在「Bot」页面找到「Privileged Gateway Intents」,开启「Message Content Intent」,之后重启机器人。

2. 验证机器人权限

确保机器人在目标服务器/频道拥有发送消息的权限:

  • 进入服务器设置→角色,找到机器人对应的角色,确认「发送消息」权限已勾选。
  • 如果是特定频道,单独检查频道权限,确保机器人没有被禁止发送消息。

3. 调试消息接收情况

在messageCreate事件开头加调试日志,确认机器人是否能收到消息:

client.on('messageCreate', message => {
    console.log(`收到消息:${message.content} | 发送者:${message.author.tag}`);
    if (!message.content.startsWith(prefix) || message.author.bot) return;
    // 原有命令处理代码不变
});

发送!test后看控制台是否输出日志:

  • 有日志:说明消息能收到,检查命令解析逻辑(比如前缀是否正确、命令名是否拼写一致)。
  • 无日志:回到第一步,确认意图和开发者后台设置是否生效。

4. 检查命令格式

确保发送的命令是严格的!test,不要带多余空格(比如! test会被解析成空命令,无法匹配)。


内容的提问来源于stack exchange,提问作者olf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 12:58:19