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

求助:Discord.js机器人无法回复消息的问题排查

问题原因及解决办法

你的机器人无法回复消息,核心问题是缺少读取消息内容的必要配置,具体解决步骤如下:

  • 添加MessageContent意图
    Discord.js v14+版本中,要读取消息内容必须显式声明GatewayIntentBits.MessageContent意图,你的代码里没有包含这个,导致机器人无法获取message.content的值。修改后的客户端初始化代码如下:

    const { GatewayIntentBits } = require("discord.js")
    const Discord = require("discord.js")
    
    const TOKEN = "..."
    
    const client = new Discord.Client({
        intents: [
            GatewayIntentBits.Guilds, 
            GatewayIntentBits.GuildMessages,
            GatewayIntentBits.MessageContent // 新增这个意图
        ]
    })
    
    client.on("ready", () => {
        console.log(`Logged in as ${client.user.tag}`)
    })
    
    client.on("messageCreate", (message) => {
        if (message.content == "sup"){
            message.reply("Hello World!")
        }
    })
    
    client.login(TOKEN)
    
  • 开启开发者门户的消息内容特权
    仅修改代码还不够,需要到Discord开发者平台,进入你的机器人应用页面:

    1. 切换到Bot标签页
    2. 找到Privileged Gateway Intents区域
    3. 开启Message Content Intent选项
    4. 保存设置后重启机器人
  • 额外确认
    虽然你提到机器人有管理员权限,但可以再检查服务器中机器人角色的读取消息历史、发送消息权限是否被单独禁用(管理员权限默认包含这些,但不排除被手动修改的可能)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:27:25