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
Freigeben: 2024-12-02 11:06:11
Original
669 Leute haben es durchsucht

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');
Nach dem Login kopieren

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();
Nach dem Login kopieren

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');
Nach dem Login kopieren

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();
Nach dem Login kopieren

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

embed.addField('\u200B', '\u200B');
Nach dem Login kopieren

Voice

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

const dispatcher = connection.play('./music.mp3');
Nach dem Login kopieren

Client#createVoiceBroadcast wurde in die verschoben ClientVoiceManager:

const broadcast = client.voice.createVoiceBroadcast();
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage