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

Discord.JS v13运行报client.on is not a function错误问题求助

报错根因定位

你代码中ready事件的绑定逻辑末尾多了一对多余的立即执行括号(),导致client.on()方法的返回值被当作函数调用,而client.on的返回值本身不是函数,直接触发client.on is not a function报错。

修复步骤
  1. 找到ready事件绑定代码的末尾,删除多余的(),修改前的错误代码片段:
client.on("ready", () => {
  // ready事件内部逻辑省略
})(); // 末尾的()是多余的,直接删除

修改后正确的代码片段:

client.on("ready", () => {
  // ready事件内部逻辑保留不变
});
  1. (可选补充修复)你ready事件内部用于注册斜杠命令的异步自执行函数末尾也缺少调用括号,会导致斜杠命令不会被正常注册,找到对应代码补充括号即可:
(async () => {
  try {
    console.log('Started refreshing application (/) commands.');
    await rest.put(
      Routes.applicationGuildCommands(client.user.id, "874809270259052585"), {
        body: client.commands.map(({
          execute,
          ...data
        }) => data)
      },
    );
    console.log('Successfully reloaded application (/) commands.');
  } catch (error) {
    console.error(error);
  }
})(); // 这里补充缺失的调用括号
其他注意事项

你代码中还存在一处拼写错误:message.channel.send(levelUpMg); 中的levelUpMg应为levelUpMsg,会触发变量未定义报错,后续优化时可同步修正。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 23:45:02