Bagaimana untuk mendapatkan pengguna mengikut id pengguna dalam arahan slash?
P粉368878176
P粉368878176 2023-07-18 15:47:02
0
2
448

Saya telah menulis bot Discord, merujuk kepada tutorial seperti yang diperlukan kerana saya baru menggunakannya, tetapi saya telah menghadapi masalah yang, walaupun kedengarannya mudah, saya nampaknya tidak dapat menyelesaikannya. Saya cuba melukis papan pendahulu, dan untuk setiap kedudukan pada papan pendahulu, saya ingin mendapatkan avatar pengguna untuk dilukis pada papan pendahulu. Untuk melakukan ini, saya mahu mendapatkan pengguna dengan hanya ID pengguna mereka. Walau bagaimanapun, saya melakukan semua ini dalam satu arahan slash. Berikut ialah contoh yang sangat ringkas untuk memberikan beberapa konteks dan/atau penjelasan yang lebih baik:

const { SlashCommandBuilder, AttachmentBuilder } = require('discord.js'); // ... some functions and what not go here module.exports = { //... lines for setting up the command go here async execute(interaction){ const data = fetchData(); //A function that gets the whole list of data; did not put it in the codeblock to save on space since it's not necessary // ... a bunch of stuff, ordering my data, etc. data.forEach(async (userData, index) => { // And here begins my issue. The line below is just what I have attempted to do const target = interaction.guild.members.cache.get(userData.UserId); }); }; }

Saya telah melakukan sedikit penyelidikan dan satu-satunya penyelesaian yang berkesan yang saya temui (yang anda boleh lihat dalam kod sampel di atas) ialah menggunakan const target = interaction.guild.members.cache.get("User_ID") ; Walau bagaimanapun, walaupun saya boleh log nilai pulangan dalam konsol, jika saya cuba melakukan sesuatu seperti "target.user" ia mengatakan sasaran tidak ditentukan. Jika ia membantu, ya saya menyertakan Ahli Persatuan dalam niat saya.

P粉368878176
P粉368878176

membalas semua (2)
P粉029327711

Jika anda hanya ingin mendapatkan ID pengguna yang menjalankan arahan slash, anda boleh menggunakan interaction.user.id.

Untuk mendapatkan pengguna melalui ID, anda boleh menjalankan kod berikut:

//Inside the execute function of the slash command interaction.guild.members.cache.get("user_id").then(function(user){ //Do something with user }
    P粉006977956

    Anda perlu menggunakan ahli.fetch kerana ia tidak segerak, jadi anda perlu menukar forEach anda kepada for...of kerana forEach adalah segerak.

    const { SlashCommandBuilder, AttachmentBuilder } = require('discord.js'); // ... some functions and what not go here module.exports = { //... lines for setting up the command go here async execute(interaction) { const data = fetchData(); //A function that gets the whole list of data; did not put it in the codeblock to save on space since it's not necessary // ... a bunch of stuff, ordering my data, etc. for (const userData of data) { const target = await interaction.guild.members.fetch(userData.UserId) } }; }
      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!