общение с ботов

Хотел сделать так, чтобы бот в телеге отвечал на сообщение из списка, но вместо этого, он нечего не отвечает. Вот код:

hi_words = ["Привет", "привет", "Хай"]



@bot.message_handler(func=lambda m: True)
def on_message(message):
    if message.text == hi_words:
        bot.reply_to(message, "Привет")


bot.polling()

Ответы (1 шт):

Автор решения: alex

потому что message.text это строка, а hi_words это список. строка никогда не равна списку

>>> "" == []
False
>>> "a" == ["a"]
False

тебе нужно не сравнить строку со списком, а найти строку в списке. а еще есть такая штука, называется "нормализация данных". Подумай, что ты можешь сделать, чтобы не хранить слово "привет" во всех возможных регистрах.

→ Ссылка