ホームページ > ウェブフロントエンド > jsチュートリアル > Discord.js v11 から v12 への移行: 重大な変更点とその修正方法は何ですか?

Discord.js v11 から v12 への移行: 重大な変更点とその修正方法は何ですか?

Barbara Streisand
リリース: 2024-12-02 11:06:11
オリジナル
668 人が閲覧しました

Discord.js v11 to v12 Migration: What are the Key Breaking Changes and How Do I Fix Them?

Discord.js v11 から v12 への移行

Discord.js v12 にアップグレードすると、v11 の既存のコードが壊れる可能性があります。この記事では、最も一般的な重大な変更のいくつかに焦点を当て、解決策を示します。

マネージャー

Client#users や Guild#role など、以前にキャッシュされたコレクションはマネージャーになりました。キャッシュされたコレクションにアクセスするには、キャッシュ プロパティを使用します。

const user = client.users.cache.get('123456789012345678');
const role = message.guild.roles.cache.find(r => r.name === 'Admin');
ログイン後にコピー

GuildMember#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:

// v11: collection.find('property', 'value')
collection.find(item => item.property === 'value');
ログイン後にコピー
コレクションへの追加の変更には、.exists、.deleteAll、 .filterArray、および .findAll.

RichEmbed/MessageEmbed

RichEmbed クラスは非推奨になりました。代わりに MessageEmbed クラスを使用してください:

const {MessageEmbed} = require('discord.js');
const embed = new MessageEmbed();
ログイン後にコピー
addBlankField メソッドも削除されました。空白のフィールドを追加するには、次を使用します。

embed.addField('\u200B', '\u200B');
ログイン後にコピー

Voice

すべての VoiceConnection/VoiceBroadcast#play*** メソッドは、単一の再生メソッドに統合されています。

const dispatcher = connection.play('./music.mp3');
ログイン後にコピー
Client#createVoiceBroadcast は、 ClientVoiceManager:

const broadcast = client.voice.createVoiceBroadcast();
ログイン後にコピー

画像 URL

User#displayAvatarURL や Guild#iconURL などのプロパティは、ImageURLOptions オブジェクトを取得してサイズと形式をカスタマイズできるメソッドになりました。

const avatar = user.displayAvatarURL();
const icon = message.guild.iconURL();
ログイン後にコピー

追加リソース

Discord.js v12 で導入された重大な変更のより包括的な概要については、更新ガイド、変更ログ、ドキュメントを参照してください。

以上がDiscord.js v11 から v12 への移行: 重大な変更点とその修正方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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