首页 >web前端 >js教程 >Discord.js v14 迁移:如何修复常见错误和重大更改?

Discord.js v14 迁移:如何修复常见错误和重大更改?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-09 04:47:10637浏览

Discord.js v14 Migration: How to Fix Common Errors and Breaking Changes?

Discord.js v14:重大更改和错误解决

Discord.js v14 引入了重大更改,影响了库的许多领域。为了确保您的代码无缝过渡,了解这些更新至关重要。本文分析常见错误场景并提供解决方案来帮助您完成过渡。

消息和交互事件的错误

消息和交互事件已重命名。分别使用 messageCreate 和 interactionCreate,而不是消息和交互。

意图错误

现在可以通过 GatewayIntentions 访问意图。对 Intents.FLAGS.GUILDS 使用 GatewayIntentBits.Guilds,对 Intents.FLAGS.GUILD_MESSAGES 使用 GatewayIntentBits.GuildMessages。

交互错误

交互类型的类型保护已删除。相反,将interaction.type与InteractionType进行比较:

// v14
if (interaction.type === InteractionType.ApplicationCommand) {}

通道错误

通道类型的类型保护已被删除。使用channel.type与ChannelType进行比较:

// v14
if (channel.type === ChannelType.GuildText) {}

构建器和嵌入的错误

MessageEmbed 现在是 EmbedBuilder。 MessageAttachment 重命名为 AttachmentBuilder,需要 AttachmentData 对象:

// v14
const embed = new EmbedBuilder();

// v14
const attachment = new AttachmentBuilder(buffer, { name: 'image.png' });

组件错误

MessageComponents 重命名时不带 Message 前缀,并具有 Builder 后缀:

// v14
const button = new ButtonBuilder();

错误枚举

枚举现在只需要数值:

// v14
const { ButtonStyle } = require('discord.js');
new ButtonBuilder()
  .setStyle(ButtonStyle.Primary);

其他更改:

  • SetPresence 活动类型只能是设置为“正在播放”。
  • 添加GatewayIntentBits.MessageContent for message.content 没有值。
  • 有关更多重大更改,请参阅 Discord.js 指南:https://discordjs.guide/additional-info/changes-in-v14.html

以上是Discord.js v14 迁移:如何修复常见错误和重大更改?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn