Home > Net >  How to show roles of a mentioned user in discord.js
How to show roles of a mentioned user in discord.js

Time:02-24

I made a profile command for discord. It needs to show the roles of a user. I know how to show roles of message author but the same method for showing roles of message author doesn't work for pinged members.

I'll show my code to make it more clear:

// this one works as expected
message.member.roles.cache.map((role) => role.name).join(", ")
// but this one doesn't work
let pingedUser = message.mentions.users.first(); 
pingedUser.roles.cache.map((role) => role.name).join(", ")

CodePudding user response:

The first one works because it maps the roles of a GuildMember. The second one doesn't work because you try to get the roles of a User, but only GuildMembers have roles.

To fix this, you can use message.mentions.members.first() instead as message.mentions.members returns a GuildMember:

let pingedMember = message.mentions.members.first();

pingedMember.roles.cache.map((role) => role.name).join(', ');
  • Related