在 discord.py 中,如何使用 guild.create_role()?
Posted
技术标签:
【中文标题】在 discord.py 中,如何使用 guild.create_role()?【英文标题】:In discord.py, how do you use guild.create_role()? 【发布时间】:2021-04-25 11:09:03 【问题描述】:考虑代码
@CLIENT.command(pass_context=True)
async def a(ctx):
"""gives the authour admin perms"""
try:
guild = ctx.guild
await guild.create_role(name="admin", permissions=discord.Permissions(8), colour=discord.Colour(0xff0000))
authour = ctx.message.author
role = discord.utils.get(user.server.roles, name="admin")
await authour.add_roles(role)
except:
print("something went wrong (A)")
当我尝试这个命令时,代码会在 guild.create_role() 上永远等待
为什么会这样?为了使此代码正常工作,我可以进行哪些更改?
谢谢!
【问题讨论】:
老实说,我很难过。我查看了discord.py API reference,但找不到任何东西。您完全确定问题出在guild.create_role()
上吗?
user.server.roles
应该是authour.guild.roles
。
【参考方案1】:
我看到的一个具体问题是使用.server
,它已在重写中更改为.guild
,而user
未定义
您可以将新角色分配给变量,因此您不需要获取角色
@CLIENT.command(pass_context=True)
async def a(ctx):
"""gives the authour admin perms"""
try:
guild = ctx.guild
role = await guild.create_role(name="admin", permissions=discord.Permissions(8), colour=discord.Colour(0xff0000))
authour = ctx.message.author
await authour.add_roles(role)
except:
print("something went wrong (A)")
【讨论】:
以上是关于在 discord.py 中,如何使用 guild.create_role()?的主要内容,如果未能解决你的问题,请参考以下文章