ホームページ > ウェブフロントエンド > jsチュートリアル > Discord.js ボットを v13 から v14 に移行するにはどうすればよいですか?

Discord.js ボットを v13 から v14 に移行するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-06 03:15:14
オリジナル
982 人が閲覧しました

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

Discord.js v14: 重大な変更と移行ガイド

はじめに

Discord.js v13 から v14 へのアップグレードでは、多数の重大な変更が導入されます。既存のコードに大きな影響を与える可能性があります。この記事では、主な変更点について説明し、移行中に発生したエラーに対処するための解決策を示します。

重大な変更

1.メッセージ イベントとインタラクション イベント

  • メッセージ イベントとインタラクション イベントは削除されました。
  • 代わりに messageCreate イベントと interactionCreate イベントを使用してください。

2.インテント

  • GatewayIntentBits 列挙型を使用するようにインテントが更新されました。
  • 文字列または数値インテントを、対応する GatewayIntentBits フラグに置き換えます。

3.インタラクション

  • インタラクション タイプ ガード (isCommand、isMessageComponent など) が削除されました。
  • 代わりに InteractionType 列挙型との比較を使用します。

4. Channels

  • チャネル タイプ ガード (isDM、isText など) が削除されました。
  • channel.type を一致する ChannelType 列挙型と比較します。

5.ビルダーと埋め込み

  • MessageEmbed は EmbedBuilder に名前変更されました。
  • MessageAttachment は、名前の代わりに AttachmentData オブジェクトを 2 番目のパラメーターとして使用します。
  • MessageComponents は名前が変更されており、Builder サフィックスが付いた Builders が必要です (例: ButtonBuilder、ActionRowBuilder).

6. Enums

  • すべての enum パラメータは数値のみを受け入れるようになりました。

7.アクティビティ タイプ

  • setPresence アクティビティ タイプは、「PLAYING」にのみ設定できます。

8.メッセージ コンテンツ

  • message.content が空の場合は、GatewayIntentBits.MessageContent をインテント配列に追加します。

移行ガイド

互換性を破る変更については、次の点を考慮してください。手順:

  • ノード バージョンの更新: ノード 16.9 以降にアップグレードします。
  • 更新インテント:

    // v13
    client.on('GUILDS', 'GUILD_MESSAGES', 'GUILD_MESSAGE_REACTIONS');
    // v14
    client.on(GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMessageReactions);
    ログイン後にコピー
  • リファクタリングインタラクションガード:

    // v13
    if (interaction.isCommand()) {}
    // v14
    if (interaction.type === InteractionType.ApplicationCommand) {}
    ログイン後にコピー
  • 更新タイプの警備員チャンネル:

    // v13
    if (message.channel.isText()) {}
    // v14
    if (channel.type === ChannelType.GuildText) {}
    ログイン後にコピー
  • 埋め込みとビルダーの名前変更:

    // v13
    const embed = new MessageEmbed();
    const button = new MessageButton();
    // v14
    const embed = new EmbedBuilder();
    const button = new ButtonBuilder();
    ログイン後にコピー
  • 使用数値ベース定数:

    // v13
    new ButtonBuilder().setStyle('PRIMARY');
    // v14
    new ButtonBuilder().setStyle(ButtonStyle.Primary);
    ログイン後にコピー

これらのガイドラインに従うことで、コードを Discord.js v14 に正常に移行し、潜在的なエラーや中断を回避できます。変更の包括的な概要については、https://discordjs.guide/Additional-info/changes-in-v14.html にある Discord.js ガイドを参照してください。

以上がDiscord.js ボットを v13 から v14 に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート