「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Discord.js v11 から v12 への移行: よくある問題とその解決方法は何ですか?

Discord.js v11 から v12 への移行: よくある問題とその解決方法は何ですか?

2024 年 11 月 26 日に公開
ブラウズ:721

Discord.js v11 to v12 Migration: What are the Common Issues and How Can I Solve Them?

Discord.js v11 から v12 への移行: 一般的な問題の解決

Discord.js v12 にアップグレードすると、次のようなエラーが発生する可能性があります。重大な変更。一般的な問題とその解決策は次のとおりです。

Managers

  • client.users.get と Guild#roles.find は client.users に置き換えられました。それぞれcache.getとguild.roles.cache.find。
  • のようなメソッドmessage.member.addRole、Guild#createChannel、および TextBasedChannel#fetchMessages は、それぞれのマネージャーに移動されました。例:

    await message.member.roles.add(role);
    await message.guild.channels.create('welcome');
    const messages = await message.channel.messages.fetch();

Collection

  • Collection クラスはのみを受け入れるようになりました.find および .findKey の関数。プロパティのキーと値の代わりにラムダ式を使用します。例:

    collection.find(item => item.property === 'value');
  • .exists、.deleteAll、.filterArray、.findAll は削除されました。 。代わりに代替メソッドを使用するか、Promise を待ってください。

RichEmbed/MessageEmbed

  • RichEmbed は、受信と送信の両方に使用される MessageEmbed に置き換えられました。 embeds.
  • addBlankField メソッドは削除されました。空白のフィールドを追加するには、次を使用します:

    embed.addField('\u200B', '\u200B');

Voice

  • すべての VoiceConnection/VoiceBroadcast#play*** メソッドが統合されましたシングルプレイ方式で。例:

    const dispatcher = connection.play('./music.mp3');
  • Client#createVoiceBroadcast は ClientVoiceManager.
  • StreamDispatcher に移動されました。 stream.Writable を拡張します。 dispatcher.end()の代わりにdispatcher.destroy()を使用してください。 end イベントは、finish を優先して削除されました。

画像 URL

  • User#displayAvatarURL と Guild#iconURL がメソッドになりました。 。カスタマイズのために ImageURLOptions オブジェクトを渡す必要があります:

    const avatar = user.displayAvatarURL();
    const icon = mesage.guild.iconURL();

追加情報

v12 の重大な変更に関する包括的なガイドについては、公式のガイドと変更履歴を更新します。 Discord.js ドキュメントは、特定のメソッドとプロパティを見つけるのに役立ちます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3