首页 >web前端 >js教程 >Discord.js v14 有哪些关键的重大变化?

Discord.js v14 有哪些关键的重大变化?

Linda Hamilton
Linda Hamilton原创
2024-12-05 12:43:111016浏览

What are the Key Breaking Changes in Discord.js v14?

Discord.js v14 重大变更:详细分析

重大变更概述

Discord .js v14 引入了许多重大更改,主要是由于它过渡到 Discord API v10。这些更改需要 Node 16.9 或更高版本,并影响库的各个方面,包括消息和交互事件、意图、交互、通道、构建器和嵌入、枚举以及活动类型。

消息和交互事件

消息和交互事件已被删除。相反,您可以分别使用 messageCreate 和 interactionCreate 事件。

Intents

Intents 现在需要 GatewayIntentBits 枚举而不是 FLAGS。例如,要访问 GUILDS 和 GUILD_MESSAGES,您可以使用:

const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
  ],
});

交互

交互类型防护已被删除。相反,将 interaction.type 与 InteractionType 枚举进行比较:

const { InteractionType } = require('discord.js');

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

Channels

频道类型防护已被删除。将channel.type与ChannelType枚举进行比较:

const { ChannelType } = require('discord.js');

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

构建器和嵌入

MessageEmbed已重命名为EmbedBuilder。 MessageAttachment 已重命名为 AttachmentBuilder,并接受 AttachmentData 对象而不是第二个参数。 MessageComponents 已重命名,以删除 Message 前缀并添加 Builder 后缀:

// v14
const { EmbedBuilder } = require('discord.js');
const embed = new EmbedBuilder();

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

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

Enums

Enums 现在仅接受数字。以前接受字符串或数字的任何区域现在都需要数字:

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

活动类型

setPresence 中的活动类型现在只能设置为“PLAYING”。 “

额外信息

有关重大更改的更全面信息,请参阅 Discord.js 指南:https://discordjs.guide/additional-info/changes-in-v14.html。

以上是Discord.js v14 有哪些关键的重大变化?的详细内容。更多信息请关注PHP中文网其他相关文章!

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