Get a Discord Role by Id

Aimarekin picture Aimarekin · Sep 22, 2018 · Viewed 15.8k times · Source

I'm making a Discord bot but just ran into a problem.

I want to modify a role. A specific role. I know how to do that with edit_role, but I need to get the Role object to edit it. Now, that's the problem.

How do I get a Role object by the role's id? Or can I use the id in the Role argument?

Answer

Patrick Haugh picture Patrick Haugh · Sep 22, 2018

You can use discord.utils.get to loop through Guild.roles and get the one you're looking for:

from discord.utils import get

role_id = 123
role = get(guild.roles, id=role_id)