python - discord.py on_member_update 删除成员拥有的所有角色
问题描述
我想删除成员拥有的所有角色if game_after
我该怎么办for role in member.roles: await member.remove_roles(role)
?
我明白404 Not Found (error code: 10011): Unknown Role
了for role in member.roles: await member.remove_roles(role)
@commands.Cog.listener()
async def on_member_update(self, before, after):
game_after = [i for i in after.activities if str(i.type) == "ActivityType.playing"]
if game_after:
game_name = game_after[0].name.strip()
role = discord.utils.get(after.guild.roles, name=game_name)
await after.add_roles(role)
解决方案
问题是您试图删除所有人角色,所以如果这是您现在想要的,但您可以配置它:
@commands.Cog.listener()
async def on_member_update(self, before, after):
game_after = [i for i in after.activities if str(i.type) == "ActivityType.playing"]
if game_after:
game_name = game_after[0].name.strip()
role = discord.utils.get(after.guild.roles, name=game_name)
roles = after.roles[1:]
await after.remove_role(*roles)
推荐阅读
- angular - 角度相同的应用程序中的多个域
- javascript - 如何通过 Javascript 设置在 1 次点击时出现的表格
- python - 尝试绘制角色时Pygame蛇游戏属性错误
- cinema-4d - 纹理编辑器的网格不显示
- vue.js - 我们可以在不调用“this”的情况下使用库函数吗?
- go - 从 interface{} 到嵌入类型的类型断言
- julia - 如何使用 julia 的 PackageCompiler 搭建 PlotStats 的快速启动环境?
- shell - 防止 sigint 在将 OpenOCD 与 GDB 一起使用时关闭 OpenOCD
- ssl - 在 Windows VPS 中将 SSL 证书添加到 Net Core 应用程序
- javascript - 使用 jQuery 将 HTML 加载到另一个 HTML 的 div 上