Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menghijrahkan Kod Discord.js v11 Saya kepada v12?
Memindahkan Kod Anda ke Discord.js v12 daripada v11: Panduan Komprehensif
Selepas menaik taraf kepada Discord.js v12, anda mungkin menghadapi ralat disebabkan perubahan pecah dari v11. Artikel ini akan membimbing anda melalui perubahan pecah yang paling biasa dan menyediakan penyelesaian untuk memindahkan kod anda dengan jayanya.
Perubahan Pengurus
Beberapa sifat pada objek klien dan guild kini diakses melalui pengurus (cth., client.users, guild.roles). Untuk mendapatkan koleksi cache, gunakan sifat cache:
const user = client.users.cache.get('123456789012345678'); const role = message.guild.roles.cache.find(r => r.name === 'Admin');
Kaedah seperti GuildMember#addRole, Guild#createChannel dan TextBasedChannel#fetchMessages telah dialihkan ke pengurus masing-masing:
await message.member.roles.add(role); await message.guild.channels.create('welcome'); const messages = await message.channel.messages.fetch();
Kemas Kini Koleksi
Koleksi kelas kini hanya menerima fungsi untuk .find dan .findKey. Gantikan kunci dan nilai sifat dengan fungsi:
// v11: collection.find('property', 'value') collection.find(item => item.property === 'value');
Kaedah Pengumpulan lain yang dialih keluar termasuk:
RichEmbed kepada MessageEmbed
The Kelas RichEmbed digantikan dengan MessageEmbed. Semua benaman, termasuk yang diterima, kini menggunakan MessageEmbed:
const {MessageEmbed} = require('discord.js'); const embed = new MessageEmbed();
Kaedah addBlankField dialih keluar. Untuk menambah medan kosong, gunakan:
embed.addField('\u200B', '\u200B');
Perubahan Suara
Semua Kaedah VoiceConnection/VoiceBroadcast#play* disatukan menjadi satu kaedah main:
const dispatcher = connection.play('./music.mp3');
Pelanggan#createVoiceBroadcast ialah dipindahkan ke ClientVoiceManager:
const broadcast = client.voice.createVoiceBroadcast();
StreamDispatcher memanjangkan strim Node.js. Boleh ditulis, jadi gunakan dispatcher.destroy() bukannya dispatcher.end().
URL Imej
Sifat seperti User#displayAvatarURL dan Guild#iconURL kini ialah kaedah:
const avatar = user.displayAvatarURL(); const icon = message.guild.iconURL();
Untuk butiran lanjut dan perubahan terkini, rujuk dokumentasi Discord.js rasmi.
Atas ialah kandungan terperinci Bagaimana untuk Menghijrahkan Kod Discord.js v11 Saya kepada v12?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!