python - 查找给定角色中的所有用户 discord.py
问题描述
所以我想制作一个程序来查找给定角色的所有用户,比如如果 roll a 有成员 1、2、3、4,而 roll b 有成员 2、3 我希望代码给出输出 2、3
这是列出这些用户(提及)的主要代码
@bot.command()
@commands.has_role('Admins')
async def find(ctx,*, name):
guild=ctx.guild
roles=name.split(",")
role=get(guild.roles, name=roles[0])
members=role.members
for role in roles[1:]:
role = get(guild.roles, name=role.strip(" "))
lm=role.members
for i in members:
if i not in lm:
members.remove(i)
l=[f"{role.mention}" for role in members]
print(l)
有人可以帮我找出代码中的错误吗?当我放弃 b 时,我得到了正确的输出,而不是当它 a,b 时
解决方案
显然使用集合和交集解决了这个问题,不知道它是如何工作的,但它确实
@bot.command()
@commands.has_role('Admins')
async def find(ctx,*, name):
guild=ctx.guild
roles=name.split(",")
role=get(guild.roles, name=roles[0])
members=set(role.members)
for role in roles[1:]:
role = get(guild.roles, name=role.strip(" "))
lm=set(role.members)
members=members.intersection(lm)
l=[f"{role.mention}" for role in members]
print(l)
推荐阅读
- mysql - 与不存在功能相关的性能
- c# - 如何在 selenium webdriver c# 中处理视频弹出窗口
- vspackage - 在 Visual Studio 工具菜单中创建多级子菜单
- python - 在 Python 3.x 中替换字符串中的转义序列字符
- python - 如何找到每个类相对于测试数据的概率?
- apache-calcite - 在 apache calcite 中创建具有动态列的表
- wso2 - 在 WSO2 流处理器中,Detecting Anomaly 教程会引发异常
- amazon-web-services - 在 aws ec2 linux ami 中运行 logstash 的问题
- php - 用雄辩的外键编写连接的替代方法?
- ansible - 将 Ansible 对象列表缩减为串联对象值的单个字符串