Heim >Web-Frontend >js-Tutorial >Migration von Discord.js v11 auf v12: Was sind die wichtigsten bahnbrechenden Änderungen und wie behebe ich sie?

Migration von Discord.js v11 auf v12: Was sind die wichtigsten bahnbrechenden Änderungen und wie behebe ich sie?

Barbara Streisand
Barbara StreisandOriginal
2024-12-02 11:06:11620Durchsuche

Discord.js v11 to v12 Migration: What are the Key Breaking Changes and How Do I Fix Them?

Migration von Discord.js v11 auf v12

Ein Upgrade auf Discord.js v12 kann dazu führen, dass vorhandener Code von v11 beschädigt wird. In diesem Artikel werden einige der häufigsten Breaking Changes hervorgehoben und Lösungen bereitgestellt.

Manager

Zuvor zwischengespeicherte Sammlungen wie „Client#users“ und „Guild#roles“ sind jetzt Manager. Um auf die zwischengespeicherte Sammlung zuzugreifen, verwenden Sie die Cache-Eigenschaft:

const user = client.users.cache.get('123456789012345678');
const role = message.guild.roles.cache.find(r => r.name === 'Admin');

Methoden wie GuildMember#addRole, Guild#createChannel und TextBasedChannel#fetchMessages wurden zu ihren jeweiligen Managern verschoben:

await message.member.roles.add(role);
await message.guild.channels.create('welcome');
const messages = await message.channel.messages.fetch();

Collection

Die Collection-Klasse akzeptiert jetzt nur noch Funktionen, keine Eigenschaftsschlüssel und -werte, für .find und .findKey:

// v11: collection.find('property', 'value')
collection.find(item => item.property === 'value');

Zusätzliche Änderungen an der Sammlung umfassen das Entfernen von .exists, .deleteAll, .filterArray und .findAll.

RichEmbed/MessageEmbed

Die RichEmbed-Klasse wurde veraltet. Verwenden Sie stattdessen die MessageEmbed-Klasse:

const {MessageEmbed} = require('discord.js');
const embed = new MessageEmbed();

Die Methode addBlankField wurde ebenfalls entfernt. Um ein leeres Feld hinzuzufügen, verwenden Sie:

embed.addField('\u200B', '\u200B');

Voice

Alle VoiceConnection/VoiceBroadcast#play***-Methoden wurden unter einer einzigen Wiedergabemethode zusammengefasst:

const dispatcher = connection.play('./music.mp3');

Client#createVoiceBroadcast wurde in die verschoben ClientVoiceManager:

const broadcast = client.voice.createVoiceBroadcast();

Bild-URLs

Eigenschaften wie User#displayAvatarURL und Guild#iconURL sind jetzt Methoden, die ein ImageURLOptions-Objekt verwenden können, um Größe und Format anzupassen:

const avatar = user.displayAvatarURL();
const icon = message.guild.iconURL();

Zusätzlich Ressourcen

Eine umfassendere Übersicht über die bahnbrechenden Änderungen, die in Discord.js v12 eingeführt wurden, finden Sie im Aktualisierungsleitfaden, im Änderungsprotokoll und in der Dokumentation.

Das obige ist der detaillierte Inhalt vonMigration von Discord.js v11 auf v12: Was sind die wichtigsten bahnbrechenden Änderungen und wie behebe ich sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn