Задать вопрос
@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)

Проблема:
Если бот видит "Привет" то удаляет его, а если написать "Привет как дела" то не будет удалять!
Подскажите пожалуйста как решить проблему?
  • Вопрос задан
  • 1852 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 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 # чтобы прекратить дальнейший цикл


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

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

Похожие вопросы