【问题标题】:Can't find the role I just created in Discord.py - Why?在 Discord.py 中找不到我刚刚创建的角色 - 为什么?
【发布时间】:2021-07-13 16:35:03
【问题描述】:

当我创建角色时,尝试按名称查找它,将其存储在变量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'

【问题讨论】:

  • create_role 协程返回新创建的角色。你试过role = await guild.create_role(...)而不是discord.utils.get吗?
  • 是的,成功了,谢谢你,Wander Nauta!

标签: python discord.py


【解决方案1】:

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

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

【讨论】:

  • 嗯,好的,看起来它有效。但是为什么它不像我的帖子那样使用代码呢?
猜你喜欢
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 1970-01-01
  • 2016-11-20
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
相关资源
最近更新 更多