Используйте конвертеры, они позволяют получать объекты из строки любого вида (упоминание, название, id, имя/ник, в зависимости от типа конвертера, порядок "угадывания" можно посмотреть у каждого конкретного конвертера).
https://discordpy.readthedocs.io/en/stable/ext/com...
Для ролей:
https://discordpy.readthedocs.io/en/stable/ext/com...
# В команде:
@commands.command()
async def add_role(ctx, role: discord.Role, member: discord.Member):
# >add_role @rolename @user#0000
# >add_role 525662304373175852 705409329145227030
# >add_role 525662304373175852 @user#0000
# etc...
...
# Вне команды/внутри команды/функции
rolemsg = bot.wait_for("message", ...)
role = await commands.RoleConverter().convert(ctx, rolemsg.content)