Discord.js v12 移行ガイド: v11 から v12 へのコードの移行
Discord.js v12 への移行は破壊的な変更によりエラーが発生する可能性があります。これらの問題に対処し、スムーズな移行を確実にするためのガイドを次に示します。
マネージャー
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();
コレクション
コレクションクラスは .find と .findKey の関数を使用するようになりました:
// v11: collection.find('property', 'value') collection.find(item => item.property === 'value');
.exists、.deleteAll、.filterArray などのメソッドは削除されました:
// v11: collection.exists('property', 'value') collection.some(item => item.property === 'value'); // v11: collection.deleteAll() Promise.all(collection.map(item => item.delete()));
。アイテムではなくコレクション自体に対して関数を実行するようになりました:
// v11: collection.tap(item => console.log(item)) collection.each(item => console.log(item)); // New .tap behaviour: collection.tap(coll => console.log(`${coll.size} items`));
RichEmbed/MessageEmbed
RichEmbed クラスは MessageEmbed に置き換えられ、現在使用されています。すべての埋め込みの場合:
const {MessageEmbed} = require('discord.js'); const embed = new MessageEmbed();
addBlankField メソッドには削除されました。空白のフィールドを追加するには、次を使用します:
embed.addField('\u200B', '\u200B');
Voice
すべての再生メソッドが 1 つの再生メソッドに統合されました:
const dispatcher = connection.play('./music.mp3');
Client#createVoiceBroadcast は、 ClientVoiceManager:
const broadcast = client.voice.createVoiceBroadcast();
StreamDispatcher は Node.js の stream.Writable を拡張するため、dispatcher.end() の代わりにdispatcher.destroy() を使用します。
画像 URL
User#displayAvatarURL などのプロパティGuild#iconURL はメソッドになり、カスタマイズ用に ImageURLOptions オブジェクトを返します。
const avatar = user.displayAvatarURL(); const icon = mesage.guild.iconURL();
詳細情報
重大な変更の詳細については、[更新中] を参照してください。ガイド](https://discordjs.guide/Additional-info/changes/v12.html) および[変更ログ](https://github.com/discordjs/discord.js/blob/main/CHANGELOG.md#v1200)。 [Discord.js ドキュメント](https://discord.js.org/#/docs) も貴重なサポートを提供します。
以上がDiscord.js ボットを v11 から v12 に正常に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。