首页 > 解决方案 > 如何检查一个角色是否在另一个角色前面?

问题描述

我想制作一个更改用户昵称的 Discord Bot。Bot 正在工作,但是当我给我角色 Co-Owner 时,他将我重命名为 [Co-Owner] User。但我已经拥有所有者角色。我喜欢当某个角色在另一个角色面前时,他不会改变我的昵称。我怎样才能做到这一点?

这就是我现在的代码:

@bot.event
async def on_member_update(before, after):
    if len(before.roles) < len(after.roles):
        new_role = next(role for role in after.roles if role not in before.roles)
        if new_role.name in ('Twitch VIP'):
            await after.edit(nick=f"[VIP] {after.name}")
        elif new_role.name in ('Co-Owner'):
            await after.edit(nick=f"[Co-Owner] {after.name}")
        elif new_role.name in ('Owner '):
            await after.edit(nick=f"[Owner] {after.name}")

标签: pythonpython-3.xdiscorddiscord.pydiscord.py-rewrite

解决方案


可能是因为 Owner 和 Co-Owner 有同一个词。


推荐阅读