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

运行node index.js启动discord.js机器人报AbortController未定义如何解决

报错修复方案

根本原因说明

ReferenceError: AbortController is not defined报错是因为当前你安装的discord.js版本依赖全局AbortControllerAPI,该API只有Node.js v15及以上版本才内置支持,你本地的Node.js版本过低导致报错。

修复步骤

  • 第一步:升级Node.js版本
    执行node -v查看当前Node.js版本,安装符合discord.js要求的版本即可:
    • discord.js v13要求Node.js ≥ 16.6.0
    • discord.js v14及以上版本要求Node.js ≥ 16.9.0
  • 第二步:修复代码兼容性问题
    你的现有代码还有两处问题会导致后续功能无法正常运行:
    1. 未添加消息监听所需的intent配置
    2. 使用了已废弃的message事件,discord.js v13及以上版本已替换为messageCreate事件
      修复后的完整代码如下:
    const Discord = require('discord.js');
    const { Client, Intents } = require ('discord.js');
    // 新增消息监听所需的GUILD_MESSAGES intent
    const client = new Discord.Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] })
    
    client.on('ready', () => {
      console.log(`We are now online!`);
    });
    
    // 替换废弃的message事件为messageCreate
    client.on('messageCreate', msg => {
      if (msg.content === '!help') {
        msg.reply('Help yourself.');
      }
    });
    
    client.login('j1mz8eMBhKcgY4yZEzbXG4sxuniVB0AY');
    
  • 第三步:开启后台权限开关
    进入Discord开发者后台的对应机器人设置页面,找到「Privileged Gateway Intents」分类,开启Message Content Intent开关,否则机器人无法读取消息内容,无法触发指令回复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:57:01