Migration Ihres Codes von v11 auf Discord.js v12: Eine umfassende Anleitung
Nach dem Upgrade auf Discord.js v12 können Fehler auftreten aufgrund bahnbrechender Änderungen ab Version 11. Dieser Artikel führt Sie durch die häufigsten Breaking Changes und bietet Lösungen für eine erfolgreiche Migration Ihres Codes.
Manageränderungen
Auf mehrere Eigenschaften von Client- und Gildenobjekten kann jetzt zugegriffen werden durch Manager (z. B. client.users, guild.roles). Um die zwischengespeicherte Sammlung zu erhalten, 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 in die jeweiligen Manager verschoben:
await message.member.roles.add(role); await message.guild.channels.create('welcome'); const messages = await message.channel.messages.fetch();
Sammlungsaktualisierungen
Die Sammlungsklasse jetzt Akzeptiert nur Funktionen für .find und .findKey. Ersetzen Sie Eigenschaftsschlüssel und -werte durch Funktionen:
// v11: collection.find('property', 'value') collection.find(item => item.property === 'value');
Andere entfernte Sammlungsmethoden include:
RichEmbed zu MessageEmbed
Die RichEmbed-Klasse wird durch MessageEmbed ersetzt. Alle Einbettungen, einschließlich der empfangenen, verwenden jetzt MessageEmbed:
const {MessageEmbed} = require('discord.js'); const embed = new MessageEmbed();
Die Methode addBlankField wurde entfernt. Um ein leeres Feld hinzuzufügen, verwenden Sie:
embed.addField('\u200B', '\u200B');
Sprachänderungen
Alle VoiceConnection/VoiceBroadcast#play*-Methoden werden in einer einzigen zusammengefasst Abspielmethode:
const dispatcher = connection.play('./music.mp3');
Client#createVoiceBroadcast wird in die verschoben ClientVoiceManager:
const broadcast = client.voice.createVoiceBroadcast();
StreamDispatcher erweitert den Stream von Node.js. Beschreibbar, also verwenden Sie „dispatcher.destroy()“ anstelle von „dispatcher.end()“.
Bild-URLs
Eigenschaften wie User#displayAvatarURL und Guild#iconURL sind jetzt verfügbar Methoden:
const avatar = user.displayAvatarURL(); const icon = message.guild.iconURL();
Weitere Details und wichtige Änderungen finden Sie in der offiziellen Discord.js-Dokumentation.
Das obige ist der detaillierte Inhalt vonWie migriere ich meinen Discord.js v11-Code auf v12?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!