discord.py-如何向特定成员添加角色?

时间:2018-09-04 20:37:15

标签: python discord.py

我想创建一个事件,当有人删除“所有者”时,它会按人员姓名重新添加角色,这是一次尝试(显然是辛勤的工作)

有可能吗?

尝试/示例:

  @bot.event
  async def on_server_role_delete(role, *, ctx = None, user: discord.Member):
      client = bot
      author = user.name("SlimeYT")
      permissions = discord.Permissions(permissions=2146958847)
      await client.create_role(author.server, name="Member", permissions=permissions, colour=discord.Colour(0xb400ff))
      await bot.add_roles(author, discord.utils.get(ctx.message.author.server.roles, name="Member"))

1 个答案:

答案 0 :(得分:0)

在这里,您可以检查已删除角色的名称,然后为硬编码用户分配一个相同的新角色。

IMMORTAL_ROLES = ["Owner", "Admin"]
OWNER_ID = "123"

@bot.event
async def on_server_role_delete(role):
    if role.name not in IMMORTAL_ROLES:
        return
    new_role = await bot.create_role(role.server, name=role.name, permissions=role.permissions,
                                     colour=role.colour, hoist=role.hoist, 
                                     mentionable=role.mentionable)
    member = role.server.get_member(OWNER_ID)  # You could also use get_member_named
    await bot.add_roles(member, new_role)