我正在尝试使用一个命令删除所有角色。
- 声明空列表。
- 创建实际角色列表
- 获取对象角色并将其添加到列表中。
- 使用对象角色列表调用 remove_roles。
x = []
serverroles = ['blabla','piupiu','etc']
for role in serverroles:
x.append(discord.utils.get(ctx.message.server.roles, name=role))
await client.remove_roles(ctx.message.author, x)
获取错误:AttributeError: 'list' object has no attribute 'id'
我做错了什么?
最佳答案
如果您查看 remove_roles
文档,你会看到它的函数签名是:
remove_roles(member, *roles)
*roles
表示“零个或多个参数,它们被放入名为 roles
的 tuple
中”。您可以单独提供这些:
await client.remove_roles(member, role1, role2, role3)
或通过拆包。在你的情况下,这看起来像
await client.remove_roles(ctx.message.author, *x)
关于python - 如何对多个角色使用 discord.py remove_roles? (作为参数的对象列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52891222/