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

Discord Bot运行报错ReferenceError: message is not defined问题咨询

错误原因
  • 事件名不兼容:discord.js v13及以上版本已正式弃用旧版message事件,新版监听消息触发的事件名为messageCreate,使用旧事件名无法正常接收消息回调。
  • 变量名不匹配:你在事件回调中把接收到的消息对象参数命名为messageCreate,但后续所有逻辑均调用未声明的message变量,直接触发变量未定义的引用错误。
  • 存在拼写错误:代码中prefix.lenght拼写错误,正确拼写为prefix.length,即使解决前两个问题,运行到此处仍会触发新的报错。
修复方案

替换事件名、统一变量名、修正拼写错误即可,完整可运行代码如下:

const {
  Client,
  Intents
} = require('discord.js');
const client = new Client({
  intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]
});
const prefix = '!';

client.on("ready", () => {
  console.log("Im Ready!");
});
// 修正事件名为messageCreate,参数名统一为message
client.on('messageCreate', message => {
  if (!message.content.startsWith(prefix) || message.author.bot) return;
  // 修正length拼写错误
  const args = message.content.slice(prefix.length).split(/ +/);
  const command = args.shift().toLowerCase();

  if (command === 'ping') {
    message.channel.send('pong');
  }
});

client.login("你的Bot Token");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:06:03