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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 11:06:11610ブラウズ

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 サイトの他の関連記事を参照してください。

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