Telebot Неправильно работает условие
Бот должен здороваться с пользователем, когда входящие сообщение совпадает со значением из списка, но он просто пропускает это условие.
import telebot
bot = telebot.TeleBot('Token') #Токен
# Ожидаем команду start
@bot.message_handler(commands=['start'])
def start_command(message):
bot.send_message(message.from_user.id, text="Привет, я Коннор - Телеграмм бот, не имеющий душу, но желающий стать живым. Поболтаем?")
print(message)
#Список вариантов приветствия
list_hello=['Привет', 'При', 'Прив', 'Здравствуйте', 'Здравствуй', 'Здарова', 'Хэллоу', 'Хэлоу', "Хай"]
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text.lower() in list_hello:
bot.send_message(message.chat.id, 'Здравствуй!')
elif message.text.lower() == 'я тебя люблю':
bot.send_sticker(message.chat.id, 'CAADAgADZgkAAnlc4gmfCor5YbYYRAI')
else:
bot.send_message(message.chat.id, 'Я вас не понимаю(')
bot.polling(none_stop = True)
Помогите, пожалуйста, разобраться с проблемой. Спасибо!
Ответы (1 шт):
Автор решения: MyZik
→ Ссылка
Вы проверяете так:
if message.text.lower() in list_hello:
...
Это значит, если пользователь напишет "Привет", то message.text.lower() конвертирует его в "привет", и проверит есть ли оно в списке. Его нет :)
Самый просто вариант решения проблемы - перевести элементы в нижний регистр:
list_hello=['привет', 'при', 'прив', 'здравствуйте', 'здравствуй', 'здарова', 'хэллоу', 'хэлоу', "хай"]