discord.js运行时触发message事件弃用警告该如何解决?
修复discord.js
message事件弃用警告方案 核心修改点
discord.js v13及更高版本中,原有监听消息的message事件已被废弃,官方替换为messageCreate事件,仅需修改事件监听的名称即可消除警告:
- 将代码中
client.on('message', message =>{替换为client.on('messageCreate', message =>{
修改后完整可运行代码
const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); const prefix = '/stock'; client.once('ready', () => { console.log('StockBot is online!'); }); // 仅修改此处的事件名即可 client.on('messageCreate', message =>{ if(!message.content.startsWith(prefix) || message.author.bot) return; const args = message.content.slice(prefix.length).split(/ +/); const command = args.shift().toLowerCase(); if(command === 'ping'){ message.channel.send('pong!'); } });
额外注意事项
- 如果你项目中其他位置也有监听
message事件的代码,全部替换为messageCreate即可 - 确保你已经在Discord开发者后台的机器人设置中开启了「Message Content Intent」权限,否则无法正常读取服务器消息内容
内容的提问来源于stack exchange,提问作者Kaas
相关产品推荐
相关产品推荐

