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

Discord Bot 报错 ReferenceError: Intents is not defined 如何解决?

报错解决与代码调整方案

报错原因

ReferenceError: Intents is not defined报错源自discord.js v13及以上版本的强制要求:必须显式配置网关意图(Intents)才能初始化客户端,同时旧版的message事件已被弃用,需要替换为新版事件。

调整步骤

  • 引入所需的意图类IntentsBitField,初始化客户端时传入监听消息必备的三类意图
  • 将废弃的message监听事件替换为新版可用的messageCreate事件
  • 额外操作:进入Discord开发者后台的对应Bot应用设置页,在「Privileged Gateway Intents」分区开启Message Content Intent开关,否则无法正常读取消息内容触发事件

修复后完整可运行代码

const { Client, IntentsBitField } = require('discord.js');

// 初始化客户端并配置所需意图
const bot = new Client({
  intents: [
    IntentsBitField.Flags.Guilds, // 服务器基础必填意图
    IntentsBitField.Flags.GuildMessages, // 监听服务器消息的意图
    IntentsBitField.Flags.MessageContent // 读取消息内容的特权意图
  ]
});

// 替换为你自己的Bot Token
bot.login('TOKENcode');

// 监听消息发送事件
bot.on("messageCreate", (message) => {
  // 可选择过滤Bot自身发送的消息,不需要可删除该行
  if (message.author.bot) return;
  console.log('hello world!');
})

调整完成后,在Bot加入的Discord服务器内发送任意消息,VS Code控制台就会输出对应内容。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:18:04