我在discord.js中为我的机器人制作了一个用户信息命令,现在我不知道如何获得用户的角色。我试着查找discord.js文档,但是找不到任何东西,我已经有了这段代码的用户:
const {SlashCommandBuilder} = require('discord.js');
let user;
module.exports = {
data: new SlashCommandBuilder()
.setName('user')
.setDescription('Display info about a selected user')
.addUserOption(option => option.setName('target').setDescription('The user\'s information to show')),
async execute(interaction) {
user = interaction.options.getUser('target');
if (user) {
createEmbed(interaction)
}
},
};
function createEmbed(interaction) {
const embed = {
// other code
fields: [
{
name: 'Roles',
value: 'what goes here',
}
],
//other code
}
interaction.reply({
embeds: [embed]
})
return;
}提前感谢!
发布于 2022-09-23 09:54:30
修好了。
user = interaction.options.getUser('target');
member = interaction.guild.members.cache.get(user.id);
roles = member.roles.cache.map(r => `${r}`).join(' , ')发布于 2022-09-17 14:29:05
正如您在“How to show roles of user discord.js / userinfo command”中所看到的,您应该使用map.
let member = interaction.member;
let roles = member.roles.cache.map(r => `${r}`).join(' , '))
const embed = {
fields: [
{
name: 'Roles',
value: `${roles}`,
}
],
}
interaction.reply({
embeds: [embed]
})发布于 2022-09-17 12:06:14
const GetUserData = interaction.guild.members.cache.get(USER_ID);
console.log(GetUserData.roles.cache);https://discord.js.org/#/docs/discord.js/main/class/GuildMemberRoleManager?scrollTo=cache
https://stackoverflow.com/questions/73754418
复制相似问题