我想做一个事件,当有人删除“所有者”时,它会按人名添加角色,这是一种尝试(显然没有工作)
那可能吗?
尝试/示例:
@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)