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

Discord bot无法正常上线 运行报错SyntaxError: Unexpected token ?

Discord Bot上线报错修复方案

报错根因

  • Node.js版本过低:Discord.js v14及以上版本要求Node.js版本≥16.9.0,低版本Node无法识别可选链、空值合并等高版本语法,就会抛出SyntaxError: Unexpected token ?错误。你可以运行node -v查看当前Node版本,低于要求的话直接升级到16.9.0以上的LTS版本即可。
  • 代码存在语法与API使用错误:
    1. 你使用的message事件在Discord.js v13版本就已废弃,v14及以上版本已彻底移除,需要替换为messageCreate事件
    2. 代码结构错误,没有单独注册bot上线触发的ready事件,反而把上线日志错误写到了消息事件的作用域里,还多了一组无效的大括号
    3. v14及以上版本初始化Client时必须指定对应的Intents权限,否则无法正常接收消息等事件

修复后的完整代码

const Discord = require("discord.js");
const client = new Discord.Client({
  intents: [
    Discord.GatewayIntentBits.Guilds,
    Discord.GatewayIntentBits.GuildMessages,
    Discord.GatewayIntentBits.MessageContent
  ]
});

const TOKEN = "my-token-is-here";

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

client.on("messageCreate", message => {
  if (message.content === "Hello Discord Bot") {
    message.channel.send("Hi There!");
  }
});

client.login(TOKEN)

额外注意

你需要提前进入Discord开发者后台的对应Bot设置页面,开启Message Content Intent权限,否则Bot无法读取服务器内的消息内容,消息回复功能不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:06:02