Search code examples
pythondiscord.pyroles

How to get only name of member.roles Discord.py


If I use .roles on message.author i get roles names, but i also gets their id's. Is there posibility to only show names for these roles?


Solution

  • You get discord.Role instances, to simply get the role names you can use a simple list comprehension

    roles = message.author.roles
    role_names = [role.name for role in roles]
    

    If you want a normal for loop

    roles = message.author.roles
    role_names = []
    
    for role in roles:
        role_names.append(role.name)
    

    Sample output:

    ["role1", "role2", "role3", ...]