Как отсеять часть людей с определённой ролью [без if]? [discord.py]
Нужно отсеять людей с определённой ролью, чтобы они при рандомном выбирании людей они не выбирались [логично]. Код:
winnerslist = []
num = 0
role = ctx.guild.get_role(settings['role_ID'])
for i in range(amount):
winmember = [member for member in ctx.guild.members if member.bot == False] #Спасибо denisnumb <3
winners = rrandom.choice(winmember)
if role in winners.roles:
pass
else:
num += 1
print(str(num) + f" выбран. [Из {amount}]")
await winners.add_roles(role)
winnerslist.append(winners.mention)
await ctx.send('\n'.join(str(x) for x in winnerslist))
Вот эта часть кода отсеивает людей с ролью, НО теряется общее кол-во людей.
if role in winners.roles:
pass
Ответы (1 шт):
Автор решения: АБВ
→ Ссылка
Насколько я понял задачу, можно создать список(whitelist) всех людей, и из него удалить тех кого надо "отсеять" и уже из этого списка рандомно выбирать людей.
