Niat Discord Gateway: Menyelesaikan Kegagalan Pelepasan Peristiwa dan Isu Cache
Baru-baru ini, sesetengah pengguna Discord telah menghadapi kesukaran dengan pelepasan acara dan cache pengurusan. Khususnya, acara seperti guildMemberAdd, guildMemberRemove dan guildMemberUpdate telah berhenti mencetuskan, mengakibatkan kefungsian tidak bertindak balas. Selain itu, cache pengguna telah diperhatikan kosong atau sangat terhad. Lebih-lebih lagi, fungsi yang bertujuan untuk mengambil ahli persatuan telah menghadapi tamat masa.
Isu ini boleh dikaitkan dengan penguatkuasaan "Niat Privileged" oleh Discord baru-baru ini. Niat ialah mekanisme yang membolehkan anda melanggan aliran data tertentu di Discord. Dua daripada niat ini, GUILD_MEMBERS dan GUILD_PRESENCES, dianggap istimewa kerana sifat sensitifnya dan telah dilumpuhkan secara lalai pada 27 Oktober 2020.
Kesan daripada Niat Keistimewaan>/h3>/h3> >Melumpuhkan niat istimewa boleh membawa kepada pelbagai masalah:
Cache ahli dan pengguna kosong atau habis dengan ketara semasa permulaan- Guild.memberCount mengembalikan nilai lapuk
- Acara berkaitan kehadiran gagal mencetuskan
- Data kehadiran mengembalikan batal atau undefined
- Ahli persatuan muncul di luar talian
- Masa tamat berlaku semasa log masuk jika fetchAllMembers didayakan
- Masa tamat daripada kaedah GuildMemberManager.fetch() dan UserManager.fetch()
- Kegagalan acara yang melibatkan ahli persatuan, seperti guildMemberAdd, guildMemberRemove, guildMemberUpdate, guildMemberSpeaking, dan guildMembersChunk
-
Resolution
Untuk menyelesaikan masalah Privil ini, anda mesti menggunakan manual Dissetent Portal:
Navigasi ke Portal Pembangun Discord.- Pilih aplikasi anda.
- Pergi ke tab "Bot" dalam bar sisi.
- Tatal ke bawah ke bahagian "Niat Gerbang Keistimewaan".
- Semak kotak untuk GUILD_MEMBERS dan/atau GUILD_PRESENCES.
- Jika bot anda mempunyai lebih daripada 75 guild, Discord perlu mengesahkannya terlebih dahulu. Ikut arahan untuk meminta akses senarai putih.
-
Setelah didayakan, anda perlu menentukan niat yang diingini dalam konfigurasi modul discord.js anda. Jika anda tidak memerlukan semua niat, anda boleh secara terpilih mendayakan yang khusus.
Sumber
Panduan Rasmi Discord.js - Gateway Intents-
Dokumentasi Pembangun Discord - Gateway Niat- Soalan Lazim Kemas Kini Gerbang
- Discord API Github - Isu 1363 - Niat Istimewa
- Blog Discord - Masa Depan Bot di Discord
-
Atas ialah kandungan terperinci Mengapa Acara Bot Discord Saya Gagal dan Cache Saya Kosong?. 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