Не работает if в телеграм-боте
Помогите пожалуйста! Я пишу бота на питоне через библиотеку telebot, и столкнулся с проблемой. У меня есть таблица, в которой присутствует переменная mode, и я хотел бы сделать так, чтобы если mode == 2 то мы получали сообщение от бота дальше
@bot.message_handler(content_types=['text'])
def test_msg(message):
for mode in sql.execute(f'SELECT mode FROM modes WHERE user_id = {user_id}'):
if mode =='2':
bot.send_message(message.chat.id, 'test message')
else:
if mode < '2':
bot.send_photo(message.chat.id, 'url')
Проблема в том, что бот видит эту переменную но не реагирует на ее значение
Ответы (2 шт):
Автор решения: lolka0d
→ Ссылка
Я не совсем понял что вы хотели написать но вот возможно правильный вариант:
if int(mode) == 2:
bot.send_message(message.chat.id, 'test message')
else:
if int(mode) < 2:
bot.send_photo(message.chat.id, 'url')
Также можно сократить все с помощю elif вот пример:
if int(mode) == 2:
bot.send_message(message.chat.id, 'test message')
elif int(mode) < 2:
bot.send_photo(message.chat.id, 'url')
Автор решения: oleksandrigo
→ Ссылка
Попробуйте так
for mode in sql.execute(f'SELECT mode FROM modes WHERE user_id = {user_id}').fetchall():