python - 如何检查一个角色是否在另一个角色前面?
问题描述
我想制作一个更改用户昵称的 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}")
解决方案
可能是因为 Owner 和 Co-Owner 有同一个词。
推荐阅读
- c++ - 将变量从 MainWindow 传递到新窗口
- html - CSS图像悬停效果?
- html - CSS :hover 用于突出显示多个 td 单元格
- sdk - 使用 Fish 从 bitbake 制作的 sdk 中获取环境变量
- youtube-data-api - 公共订阅者列出的页面与批量大小和总计数不匹配
- android - NetworkInterface.getNetworkInterfaces() 返回 null (android 29)
- git - 如何将分支合并到 origin/master
- c - 外设驱动中回调函数有什么用?
- ruby-on-rails - 如何在 Heroku 上部署的 Ruby on Rails 6 API 后端中允许 CORS
- android - 在 Flutter 的 PageView 中动态创建或重新排序子小部件