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

Discord.js修改机器人命令前缀时出现unexpected token语法错误问询

问题原因

  • 第一处为语法错误:你修改prefix常量值时误操作改动了if条件内的不等运算符,把原代码的!==错写为b?==,不符合JavaScript语法规范,因此解析器直接抛出意外字符报错。
  • 第二处为逻辑错误:你更换的新前缀b?是2个字符长度,原代码仅判断消息内容的第一个字符msg.content[0]是否等于前缀,就算修复语法问题也无法正确匹配双字符的命令前缀。

修复方案

直接替换为以下代码即可,修改后同时兼容任意长度的前缀设置:

const prefix = 'b?'
bot.on('message', async (msg) => {
    // 用startsWith直接匹配完整前缀
    if(!msg.content.startsWith(prefix)) {
        return
    }
    // 后续原有命令逻辑保持不变

补充说明:如果一定要用下标判断的方式适配双字符前缀,可修改判断逻辑为if(msg.content[0] !== prefix[0] || msg.content[1] !== prefix[1]),但startsWith方法兼容性更好,后续调整任意长度的前缀都不需要再修改判断逻辑。

内容的提问来源于stack exchange,提问作者Spy-Gaming-TF2

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:24:04