Rumah >hujung hadapan web >tutorial js >Mengapa Acara dan Fungsi Ahli Persatuan Saya Discord Bot Tidak Berfungsi?

Mengapa Acara dan Fungsi Ahli Persatuan Saya Discord Bot Tidak Berfungsi?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 09:00:14626semak imbas

Why Are My Discord Bot's Guild Member Events and Functions Not Working?

Penguatkuasaan Niat Discord Gateway


Isu:


Untuk sesetengah pengguna, khusus acara dan fungsi ahli persatuan telah berhenti berfungsi secara tiba-tiba. Acara GuildMemberAdd, GuildMemberRemove dan GuildMemberUpdate tidak lagi dicetuskan dan cache pengguna mengembalikan hasil yang tidak ditentukan atau terhad. Selain itu, GuildMemberManager.fetch() sedang tamat masa.

Punca:


Discord telah menguatkuasakan niat istimewa baru-baru ini. Sebelum ini, niat GUILD_PRESENCES dan GUILD_MEMBERS adalah pilihan. Walau bagaimanapun, mulai 27 Oktober 2020, niat ini telah dilumpuhkan secara lalai.

Kesan Orang Kurang Upaya Keistimewaan Niat:


GUILD_PRESENCES:



  • Kosongkan cache ahli dan pengguna
  • <🎜 ;Tidak tepat Guild.memberCount
  • Gagal untuk mencetuskan kehadiranKemas kini acara

  • Data kehadiran batal atau tidak ditentukan

  • Bot ahli sebagai luar talian

  • Client.login() tamat masa dengan fetchAllMembers pilihan


GUILD_MEMBERS:


  • Ahli kosong dan pengguna cache

  • Tamat masa untuk GuildMemberManager.fetch() dan UserManager.fetch()

  • Gagal mencetuskan acara ahli persatuan (GuildMemberAdd, GuildMemberRemove Ahli PersatuanBercakap, GuildMembersChunk)


Penyelesaian:


  1. E🎜 Niat melalui Pembangun Discord Portal:

    Log masuk ke Portal Pembangun Discord dan navigasi ke halaman bot anda. Di bawah tab "Bot", tatal ke bawah untuk mendayakan niat GUILD_MEMBERS dan GUILD_PRESENCES.



  2. Dayakan Niat melalui Modul Discord.js:

    Apabila mencipta anda Pelanggan Discord menggunakan discord.js v12 , nyatakan niat istimewa dalam harta ws ClientOptions. Berikut ialah beberapa contoh:

    // menggunakan rentetan<br>const client = new Discord.Client({ ws: { intents: 'GUILD_PRESENCES' }});<br><br>// menggunakan tatasusunan</p>const client = new Discord.Client({ ws: { intents: ['GUILD_PRESENCES', 'GUILD_MEMBERS'] }});<p><br>// menggunakan nilai medan bit</p>const client = Discord.Client baharu({ ws: { intents: 32509 }));<p><p>// menggunakan kelas Intents<br>const client = new Discord.Client({ ws: { intents: Discord.Intents.PRIVILEGED }});<br>const client = new Discord.Client({ ws: { intents : Discord.Intents(Discord.Intents.ALL) baharu }});<br>

Sumber:


Sila ambil perhatian bahawa peningkatan kepada discord.js v12 mungkin diperlukan untuk mendayakan niat yang diperlukan.

Atas ialah kandungan terperinci Mengapa Acara dan Fungsi Ahli Persatuan Saya Discord Bot Tidak Berfungsi?. 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