python - 在 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'
解决方案
您可以从一开始就将其保存到变量中,也可以对任何对象(TextChannel、Message 等)执行此操作
role = await guild.create_role(name="Muted",
colour=discord.Colour.red(),
permissions=discord.Permissions(send_messages=False))
await role.edit(position=3)