python - 如何对多个角色使用 discord.py remove_roles? (作为参数的对象列表)

标签 python bots discord discord.py

我正在尝试使用一个命令删除所有角色。 - 声明空列表。
- 创建实际角色列表
- 获取对象角色并将其添加到列表中。 - 使用对象角色列表调用 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 表示“零个或多个参数,它们被放入名为 rolestuple 中”。您可以单独提供这些:

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/

相关文章:

python - 在 Python 中, 'overwriting' 默认参数为 0 的原因是什么?

python - 无法在 Python 的多处理中将两个列表组合成一个映射

python - Heroku Gunicorn 文件

python - 什么时候在 python 中使用 double datetime.datetime ?

azure - 如何读取/访问 luis 的情绪分析结果

javascript - Discord.js 在普通消息上发送超链接,就像在用户消息中一样

discord - 检查特定用户是否使用reactdiscord.py

python - 如何处理 balebot 中的 receipt_message

javascript - Discord Bot 不播放音频 discord.js v13

javascript - 每 x 小时在每个群组/公会的 Discord 上发送消息