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

Discord.js中if语句异常:message.content为空的问题排查

解决Discord机器人无法读取消息内容的问题

问题根源

Discord自v14版本起,访问消息内容需要单独声明MESSAGE_CONTENT特权意图。你的代码中未添加该意图,导致机器人无法获取message.content的值,自然无法触发预设的判断逻辑。

修复步骤

  1. 开启平台端特权意图
    登录Discord开发者平台,进入你的机器人应用页面,在「Privileged Gateway Intents」板块中,开启「Message Content Intent」开关。

  2. 修改代码添加意图
    在客户端初始化的intents数组中加入"MESSAGE_CONTENT",修改后的代码如下:

const Discord = require("discord.js")
const client = new Discord.Client(
    { intents: ["GUILDS", "GUILD_MEMBERS", "GUILD_MESSAGES", "MESSAGE_CONTENT"] }
)

client.login("你的机器人Token")

client.on("ready", () => {
    console.log("Bot ONLINE");
})

client.on("messageCreate", (message) => {
    console.log(message.content) // 现在可正常打印消息内容
    if (message.content.includes("the condition")) { // 用includes匹配包含特定字符串的场景更灵活
        message.channel.send("the message");
    }
})
  1. 权限检查
    确保你的机器人在目标频道拥有「查看频道」和「发送消息」的权限,避免因权限不足导致功能异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:20:43