繁体   English   中英

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

[英]discord.py - How can I add an role to an specific member?

我想创建一个事件,当有人删除“所有者”时,它会通过人名添加回角色,这是一次尝试(显然是功课)

那可能吗?

尝试/示例:

  @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"))

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

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM