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
Libérer: 2024-12-06 03:15:14
original
1057 Les gens l'ont consulté

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);
    Copier après la connexion
  • Interaction de refactorisation Gardes :

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

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

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

    // v13
    new ButtonBuilder().setStyle('PRIMARY');
    // v14
    new ButtonBuilder().setStyle(ButtonStyle.Primary);
    Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal