


Mise à niveau de Discord.js v13 vers v14 : comment corriger les erreurs courantes ?
Jan 04, 2025 am 05:43 AMDiscord.js v14 : gestion des erreurs de mise à niveau
Lors de la mise à niveau de Discord.js v13 vers la v14, vous pouvez rencontrer diverses erreurs. Abordons chaque problème et proposons des solutions.
Événements de message et d'interaction
Les événements de message et d'interaction ont été supprimés. À la place, utilisez messageCreate et interactionCreate:
// v13 client.on('message', (message) => {}); client.on('interaction', (interaction) => {}); // v14 client.on('messageCreate', (message) => {}); client.on('interactionCreate', (interaction) => {});
Intents
v14 utilise la nouvelle énumération GatewayIntentBits. Mettez à jour votre code en conséquence :
// v13 const intents = [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]; // v14 const intents = [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages];
Interactions
Certaines protections de type interaction ont été supprimées. Comparez interaction.type avec l'énumération InteractionType :
// v13 if (interaction.isCommand()) {} if (interaction.isAutocomplete()) {} if (interaction.isMessageComponent()) {} if (interaction.isModalSubmit()) {} // v14 if (interaction.type === InteractionType.ApplicationCommand) {} if (interaction.type === InteractionType.ApplicationCommandAutocomplete) {} if (interaction.type === InteractionType.MessageComponent) {} if (interaction.type === InteractionType.ModalSubmit) {}
Channels
Les protections de type pour les canaux ont été supprimées. Utilisez l'énumération ChannelType pour affiner les canaux :
// v13 if (message.channel.isText()) {} if (message.channel.isVoice()) {} if (message.channel.isDM()) {} if (message.channel.isCategory()) {} // v14 if (channel.type === ChannelType.GuildText) {} if (channel.type === ChannelType.GuildVoice) {} if (channel.type === ChannelType.DM) {} if (channel.type === ChannelType.GuildCategory) {} // New type guards channel.isDMBased(); channel.isTextBased(); channel.isVoiceBased();
Builders and Embeds
MessageEmbed a été renommé EmbedBuilder. MessageAttachment a été renommé AttachmentBuilder et utilise un objet AttachmentData :
// v13 const embed = new MessageEmbed(); const attachment = new MessageAttachment(buffer, 'image.png'); // v14 const embed = new EmbedBuilder(); const attachment = new AttachmentBuilder(buffer, { name: 'image.png' });
Les générateurs MessageComponent ont été renommés et ont un suffixe Builder :
// v13 const button = new MessageButton(); const actionRow = new MessageActionRow(); const selectMenu = new MessageSelectMenu(); const textInput = new TextInputComponent(); // v14 const button = new ButtonBuilder(); const actionRow = new ActionRowBuilder(); const selectMenu = new SelectMenuBuilder(); const textInput = new TextInputBuilder();
Enums
v14 nécessite nombres pour l'énumération paramètres :
// Wrong new ButtonBuilder() .setCustomId('verification') .setStyle('PRIMARY') // Fixed new ButtonBuilder() .setCustomId('verification') .setStyle(ButtonStyle.Primary)
Types d'activité
Le type d'activité setPresence ne peut être défini que sur "JOUER".
Contenu du message
Si message.content est vide, assurez-vous que GatewayIntentBits.MessageContent est inclus dans votre tableau d'intention.
Reportez-vous au Guide Discord.js pour une liste complète des modifications récentes : https://discordjs.guide/additional-info/changes-in-v14.html
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

jQuery Vérifiez si la date est valide

jQuery obtient un rembourrage / marge d'élément

10 vaut la peine de vérifier les plugins jQuery

Http débogage avec le nœud et le http-console

Tutoriel de configuration de l'API de recherche Google personnalisé

jQuery Ajouter une barre de défilement à div
