Решил написать код для фильтрации чата. Суть такова: есть чёрный список слов, и белый список слов, а к ним прилагается белый список ролей (роли, на которые бот не должен реагировать, даже если они написали что-то из чёрного списка слов).
Сама проблема: в данный момент в коде указано две роли из белого списка ролей, но бот продолжает удалять сообщения, будто такого понятия, как "white_list_roles" - не существует. Зато если указана одна роль, то всё работает.
Также отдельная благодарность будет, если вы скажете, как в этот код интегрировать проверку регистра.
@client.event
async def on_message(message):
black_list=["нига","негр"]
white_list=["книга","неграмотный"]
white_list_role1=discord.utils.get(message.guild.roles, name="Модератор")
white_list_role2=discord.utils.get(message.guild.roles, name="Администратор")
white_list_roles=[white_list_role1,white_list_role2]
for roles in white_list_roles:
if roles in message.author.roles:
pass
else:
if message.content in black_list:
await message.delete()
elif message.content in white_list:
pass