Maison >interface Web >js tutoriel >Comment migrer mon bot Discord.js de la v13 vers la v14 ?

Comment migrer mon bot Discord.js de la v13 vers la v14 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 03:15:14982parcourir

How to Migrate My Discord.js Bot from v13 to v14?

Discord.js v14 : dernières modifications et guide de migration

Introduction

La mise à niveau de Discord.js v13 vers la v14 introduit de nombreuses modifications de rupture, certaines dont peut avoir un impact significatif sur le code existant. Cet article vous guidera à travers les principales modifications et fournira des solutions pour résoudre les erreurs rencontrées lors de la migration.

Modifications récentes

1. Événements de message et d'interaction

  • Les événements de message et d'interaction ont été supprimés.
  • Utilisez plutôt les événements messageCreate et interactionCreate.

2. Intents

  • Les intentions ont été mises à jour pour utiliser l'énumération GatewayIntentBits.
  • Remplacez les intentions de chaîne ou de nombre par les indicateurs GatewayIntentBits correspondants.

3. Interactions

  • Les protections de type d'interaction (par exemple, isCommand, isMessageComponent) ont été supprimées.
  • Utilisez plutôt des comparaisons avec l'énumération InteractionType.

4. Channels

  • Les protections de type de canal (par exemple, isDM, isText) ont été supprimées.
  • Comparez Channel.type à l'énumération ChannelType correspondante.

5. Builders and Embeds

  • MessageEmbed a été renommé EmbedBuilder.
  • MessageAttachment utilise un objet AttachmentData comme deuxième paramètre au lieu d'un nom.
  • MessageComponents a ont été renommés et nécessitent des Builders avec un suffixe Builder (par exemple, ButtonBuilder, ActionRowBuilder).

6. Énumérations

  • Tous les paramètres d'énumération acceptent désormais exclusivement les nombres.

7. Types d'activité

  • Le type d'activité setPresence ne peut être défini que sur "JOUER".

8. Contenu du message

  • Si message.content est vide, ajoutez GatewayIntentBits.MessageContent au tableau d'intentions.

Guide de migration

Pour atténuer les modifications importantes, envisagez les étapes suivantes :

  • Mettre à jour le nœud Version :Mise à niveau vers Node 16.9 ou supérieur.
  • Intentions de mise à jour :

    // v13
    client.on('GUILDS', 'GUILD_MESSAGES', 'GUILD_MESSAGE_REACTIONS');
    // v14
    client.on(GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMessageReactions);
  • Interaction de refactorisation Gardes :

    // v13
    if (interaction.isCommand()) {}
    // v14
    if (interaction.type === InteractionType.ApplicationCommand) {}
  • Mettre à jour les gardes de type pour les chaînes :

    // v13
    if (message.channel.isText()) {}
    // v14
    if (channel.type === ChannelType.GuildText) {}
  • Renommer les intégrations et Constructeurs :

    // v13
    const embed = new MessageEmbed();
    const button = new MessageButton();
    // v14
    const embed = new EmbedBuilder();
    const button = new ButtonBuilder();
  • Utilisez des constantes basées sur des nombres :

    // v13
    new ButtonBuilder().setStyle('PRIMARY');
    // v14
    new ButtonBuilder().setStyle(ButtonStyle.Primary);

En suivant ces directives, vous pouvez réussir à migrer votre code vers Discord.js v14 et éviter toute erreur ou interruption potentielle. Pour un aperçu complet des modifications, reportez-vous au guide Discord.js sur 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn