Rumah >hujung hadapan web >tutorial js >Discord.js v11 ke v12 Migrasi: Apakah Perubahan Pecah Utama dan Bagaimana Saya Membetulkannya?

Discord.js v11 ke v12 Migrasi: Apakah Perubahan Pecah Utama dan Bagaimana Saya Membetulkannya?

Barbara Streisand
Barbara Streisandasal
2024-12-02 11:06:11620semak imbas

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

Berpindah daripada Discord.js v11 ke v12

Meningkatkan kepada Discord.js v12 mungkin memecahkan kod sedia ada daripada v11. Artikel ini akan menyerlahkan beberapa perubahan pecah yang paling biasa dan menyediakan penyelesaian.

Pengurus

Koleksi yang dicache sebelum ini seperti Client#users dan Guild#roles kini menjadi pengurus. Untuk mengakses 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 berpindah ke pengurus masing-masing:

await message.member.roles.add(role);
await message.guild.channels.create('welcome');
const messages = await message.channel.messages.fetch();

Koleksi

Kelas Koleksi sekarang sahaja menerima fungsi, bukan kunci harta dan nilai, untuk .find dan .findKey:

// v11: collection.find('property', 'value')
collection.find(item => item.property === 'value');

Perubahan tambahan pada Koleksi termasuk pengalihan keluar .exists, .deleteAll, .filterArray dan .findAll.

RichEmbed/MessageEmbed

Kelas RichEmbed telah ditamatkan. Sebaliknya, gunakan kelas MessageEmbed:

const {MessageEmbed} = require('discord.js');
const embed = new MessageEmbed();

Kaedah addBlankField juga telah dialih keluar. Untuk menambah medan kosong, gunakan:

embed.addField('\u200B', '\u200B');

Suara

Semua kaedah VoiceConnection/VoiceBroadcast#play*** telah disatukan di bawah kaedah main tunggal:

const dispatcher = connection.play('./music.mp3');

Pelanggan#createVoiceBroadcast telah dialihkan ke ClientVoiceManager:

const broadcast = client.voice.createVoiceBroadcast();

URL Imej

Sifat seperti User#displayAvatarURL dan Guild#iconURL kini merupakan kaedah yang boleh mengambil objek ImageURLOptions untuk menyesuaikan saiz dan format:

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

Tambahan Sumber

Untuk gambaran keseluruhan yang lebih komprehensif tentang perubahan pecah yang diperkenalkan dalam Discord.js v12, rujuk panduan pengemaskinian, log perubahan dan dokumentasi.

Atas ialah kandungan terperinci Discord.js v11 ke v12 Migrasi: Apakah Perubahan Pecah Utama dan Bagaimana Saya Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn