Maison >interface Web >js tutoriel >Migration de Discord.js v11 vers v12 : quelles sont les principales modifications majeures et comment puis-je les corriger ?
La migration de Discord.js v11 vers la v12
La mise à niveau vers Discord.js v12 peut casser le code existant de la v11. Cet article mettra en évidence certaines des modifications les plus courantes et proposera des solutions.
Managers
Les collections précédemment mises en cache, telles que les utilisateurs #clients et les#rôles de guilde, sont désormais des managers. Pour accéder à 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 leurs gestionnaires respectifs :
await message.member.roles.add(role); await message.guild.channels.create('welcome'); const messages = await message.channel.messages.fetch();
Collection
La classe Collection n'accepte désormais que fonctions, et non les clés et valeurs de propriété, pour .find et .findKey :
// v11: collection.find('property', 'value') collection.find(item => item.property === 'value');
Les modifications supplémentaires apportées à Collection incluent la suppression de .exists, .deleteAll, .filterArray et .findAll.
RichEmbed/MessageEmbed
La classe RichEmbed est obsolète. Utilisez plutôt la classe MessageEmbed :
const {MessageEmbed} = require('discord.js'); const embed = new MessageEmbed();
La méthode addBlankField a également été supprimée. Pour ajouter un champ vide, utilisez :
embed.addField('\u200B', '\u200B');
Voice
Toutes les méthodes VoiceConnection/VoiceBroadcast#play*** ont été unifiées sous une seule méthode de lecture :
const dispatcher = connection.play('./music.mp3');
Le client#createVoiceBroadcast a été déplacé vers le ClientVoiceManager :
const broadcast = client.voice.createVoiceBroadcast();
URL d'image
Des propriétés telles que User#displayAvatarURL et Guild#iconURL sont désormais des méthodes qui peuvent utiliser un objet ImageURLOptions pour personnaliser la taille et le format :
const avatar = user.displayAvatarURL(); const icon = message.guild.iconURL();
Supplémentaire Ressources
Pour un aperçu plus complet des dernières modifications introduites dans Discord.js v12, reportez-vous au guide de mise à jour, au journal des modifications et à la documentation.
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!