首页 > 解决方案 > 在 Discord.py 中找不到我刚刚创建的角色 - 为什么?

问题描述

当我创建一个角色时,尝试按名称查找它,存储在一个变量中role并更改角色在角色层次结构中的位置,看起来该变量的值为None. 也就是说,它没有在公会中找到角色,对吧?但我只是创造了这个角色!为什么会这样?

await guild.create_role(name="Muted", colour=discord.Colour.red(), permissions=discord.Permissions(send_messages=False))
role = discord.utils.get(guild.roles, name="Muted")
await role.edit(position=3)

出现错误:

AttributeError: 'NoneType' object has no attribute 'edit'

标签: pythondiscord.py

解决方案


您可以从一开始就将其保存到变量中,也可以对任何对象(TextChannel、Message 等)执行此操作

role = await guild.create_role(name="Muted",
                               colour=discord.Colour.red(),
                               permissions=discord.Permissions(send_messages=False))
await role.edit(position=3)

推荐阅读