首頁 >web前端 >js教程 >Discord.js v14 有哪些關鍵的重大變化?

Discord.js v14 有哪些關鍵的重大變化?

Linda Hamilton
Linda Hamilton原創
2024-12-05 12:43:111006瀏覽

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