discord.js从v12升级至v13后blackjack命令出现message废弃警告如何解决
问题根因
该警告和embed兼容问题完全无关,是discord.js v13将原有接收消息的message事件重命名为messageCreate导致的,和blackjack命令的业务逻辑本身无关。
解决方案
步骤1:修改消息事件文件名
你的事件处理器是通过事件文件名匹配注册事件的,找到./events/client/目录下原有的message.js文件,直接将文件名重命名为messageCreate.js即可,事件处理器会自动注册新版的messageCreate事件,替换已废弃的message事件。
步骤2:检查工具函数兼容
检查你代码中引入的verify函数(路径../../functions)内部实现,如果该函数用于监听用户消息回复,需要将其内部监听的message事件同步修改为messageCreate,避免功能异常。
步骤3:配置v13必填的消息意图
discord.js v13强制要求启用消息相关权限才能正常接收消息内容:
- 在你的Discord客户端初始化代码中,添加必要的意图配置,示例如下:
const { Client, Intents } = require('discord.js'); const bot = new Client({ intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.DIRECT_MESSAGES ] });
- 前往Discord开发者后台的对应Bot设置页面,开启
Message Content Intent开关。
完成以上操作后警告就会消失,你的blackjack命令无需修改原有业务逻辑即可正常运行。
内容的提问来源于stack exchange,提问作者Oofin
相关产品推荐
相关产品推荐

