Maison >interface Web >js tutoriel >Comment migrer mon code Discord.js v11 vers la v12 ?
Migration de votre code vers Discord.js v12 à partir de la v11 : un guide complet
Après la mise à niveau vers Discord.js v12, vous pouvez rencontrer des erreurs en raison de changements importants par rapport à la v11. Cet article vous guidera à travers les modifications les plus courantes et vous fournira des solutions pour migrer votre code avec succès.
Modifications du gestionnaire
Plusieurs propriétés sur les objets client et de guilde sont désormais accessibles via des gestionnaires (par exemple, client.users, guild.roles). Pour obtenir la collection mise en cache, utilisez la propriété cache :
const user = client.users.cache.get('123456789012345678'); const role = message.guild.roles.cache.find(r => r.name === 'Admin');
Des méthodes telles que GuildMember#addRole, Guild#createChannel et TextBasedChannel#fetchMessages ont été déplacées vers les gestionnaires respectifs :
await message.member.roles.add(role); await message.guild.channels.create('welcome'); const messages = await message.channel.messages.fetch();
Mises à jour de la collection
La classe Collection n'accepte désormais que les fonctions pour .find et .findKey. Remplacez les clés et les valeurs de propriété par des fonctions :
// v11: collection.find('property', 'value') collection.find(item => item.property === 'value');
Autres méthodes de collecte supprimées inclure :
RichEmbed à MessageEmbed
La classe RichEmbed est remplacé par MessageEmbed. Toutes les intégrations, y compris celles reçues, utilisent désormais MessageEmbed :
const {MessageEmbed} = require('discord.js'); const embed = new MessageEmbed();
La méthode addBlankField est supprimée. Pour ajouter un champ vide, utilisez :
embed.addField('\u200B', '\u200B');
Changements vocaux
Toutes les méthodes VoiceConnection/VoiceBroadcast#play* sont regroupées en une seule méthode de lecture :
const dispatcher = connection.play('./music.mp3');
Client#createVoiceBroadcast est déplacé vers le ClientVoiceManager :
const broadcast = client.voice.createVoiceBroadcast();
StreamDispatcher étend le stream.Writable de Node.js, utilisez donc dispatcher.destroy() au lieu de dispatcher.end().
URL d'image
Les propriétés telles que User#displayAvatarURL et Guild#iconURL sont désormais méthodes :
const avatar = user.displayAvatarURL(); const icon = message.guild.iconURL();
Pour plus de détails et les modifications importantes, reportez-vous à la documentation officielle de Discord.js.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!