Heim > Web-Frontend > js-Tutorial > Wie migriere ich meinen Discord.js v11-Code auf v12?

Wie migriere ich meinen Discord.js v11-Code auf v12?

DDD
Freigeben: 2024-11-27 13:38:10
Original
767 Leute haben es durchsucht

How to Migrate My Discord.js v11 Code to v12?

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

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

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

Andere entfernte Sammlungsmethoden include:

  • .exists
  • .deleteAll
  • .filterArray
  • .findAll

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

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

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

Sprachänderungen

Alle VoiceConnection/VoiceBroadcast#play*-Methoden werden in einer einzigen zusammengefasst Abspielmethode:

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

Client#createVoiceBroadcast wird in die verschoben ClientVoiceManager:

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

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

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage