worldlight
@worldlight
Просто программист

Как это реализовать?

Я хочу сделать фильтр матных слов в своем боте. Я знаю как сделать одно:
if "Какой-то мат" in message.content:
И т.д
это помещаем в on_message
А как сделать чтоб он получал слова из текстового или json файла и покажите структуру написания этих слов в txt или json файлах. Я смотрел гайд на ютубе не смог разобраться в самой структуре файла со списком запрещеных слов. Помогите. Покажите структуру файла со списком запрещеных слов и код как их от туда получать и проверять
  • Вопрос задан
  • 378 просмотров
Решения вопроса 1
Можно воспользоваться массивом, так будет удобнее и проще.
@bot.event
async def on_message(message):
    if message.author == bot.user: return # если сообщение от бота - игнорируем
    banwords = ["всякие", "нехорошие", "и", "матные", "слова"]
    for word in banwords:
        if word in message.content.lower():
            try:
                await message.delete()
            except:
                pass
            await message.channel.send(f'{message.author.mention}, не лучшее место для мата')
            break

Источник: https://ru.stackoverflow.com/questions/1292299/%D0...

НО! Если вы хотите использовать json, код в начале будет выглядеть как-то так:
import json
banwords = ["очень", "плохие", "и", "оскорбительные", "слова"] # здесь создаём список со словами
with open("banwords.json") as f: # считываем json код
	banwords = json.load(f)

# with open("banwords .json", "w") as f: Если надо сохранить файл, то убираем # здесь и ниже
#     json.dump(banwords , f)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы