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

discord.js无前缀消息回复功能部署后机器人无法启动问题求助

Discord机器人无前缀触发功能修复方案
  • 语法结构缺失:你写的client.on事件监听没有闭合的花括号和右括号,属于基础语法错误,会直接导致代码解析失败、机器人无法启动
  • 发送内容未定义:message.channel.send()的参数是普通字符串,没有用引号包裹,JS会把它识别为未定义的变量,抛出引用错误
  • 事件名已废弃:discord.js v13及以上版本已经完全弃用message事件,替换为messageCreate事件,继续使用旧事件名无法监听到消息
  • 缺少机器人自身消息过滤:没有过滤机器人自己发送的消息,后续功能正常后会出现机器人自己触发自己、无限循环回复的问题

修复后的完整代码示例:

// 替换旧的message事件为新的messageCreate事件
client.on("messageCreate", async message => {
  // 过滤机器人自身消息,避免循环触发
  if (message.author.bot) return;
  // 完全匹配hi触发回复,需要前缀匹配的话替换为startsWith即可
  if (message.content === "hi") {
    // 字符串内容必须用引号包裹
    await message.channel.send("hello");
  }
  // 你原有需求的触发逻辑
  if (message.content === "ce faci") {
    await message.channel.send("uite ma scarpinam la coaie");
  }
});

如果你使用的是discord.js v14及以上版本,还需要确认你开启了MessageContent特权网关权限,需要在Discord开发者后台的机器人设置页开启对应开关,同时在客户端初始化时声明对应意图:

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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:45:09