@MrBrainop
Начал изучать html, Python и QT Designer

TelegramBot Фильтр сообщений?

Нужно что бы bot проверял сообщение на наличие знакомых ему слов и если такие присутствуют то удалять.
Вот мой код.
@bot.message_handler(content_types=['text'])
def filter(message):
    if message.text == "Привет":
        bot.delete_message(message.chat.id, message.message_id)

Проблема:
Если бот видит "Привет" то удаляет его, а если написать "Привет как дела" то не будет удалять!
Подскажите пожалуйста как решить проблему?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 3
if 'Привет' in message.text:
Ответ написан
@lemonlimelike
Тебе нужно использовать оператор in, но перед этим тебе нужно перевести все строки в нижний регистр, для точно сравнения.
@bot.message_handler(content_types=['text'])
def filter(message):
    if "Привет".lower() in message.text.lower():
        bot.delete_message(message.chat.id, message.message_id)
Ответ написан
shurshur
@shurshur
for w in list_of_filter_words:
  if w.lower() in message.text.lower():
    bot.delete_message...
    break # чтобы прекратить дальнейший цикл


Вообще лучше изучать сам язык, а не пытаться сразу ботов писать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 150 000 до 200 000 ₽
OnederX Москва
от 100 000 до 120 000 ₽
Кенарий Санкт-Петербург
от 120 000 до 250 000 ₽
23 сент. 2020, в 20:17
100000 руб./за проект
23 сент. 2020, в 20:15
12000 руб./за проект
23 сент. 2020, в 20:14
1000 руб./за проект