общение с ботов
Хотел сделать так, чтобы бот в телеге отвечал на сообщение из списка, но вместо этого, он нечего не отвечает. Вот код:
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
тебе нужно не сравнить строку со списком, а найти строку в списке. а еще есть такая штука, называется "нормализация данных". Подумай, что ты можешь сделать, чтобы не хранить слово "привет" во всех возможных регистрах.