【问题标题】:In discord.py, how do you use guild.create_role()?在 discord.py 中,如何使用 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

标签: python asynchronous async-await discord discord.py


【解决方案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)")

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-01-06
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    相关资源
    最近更新 更多