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!