ホームページ >ウェブフロントエンド >jsチュートリアル >Discord.js v11 から v12 への移行: よくある問題とその解決方法は何ですか?

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

DDD
DDDオリジナル
2024-11-29 09:48:09250ブラウズ

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

  • All VoiceConnection/VoiceBroadcast#play** ※メソッドはシングルプレイメソッドに統一されました。例:

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

画像 URL

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

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

追加情報

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

以上がDiscord.js v11 から v12 への移行: よくある問題とその解決方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。