Не работает 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():
→ Ссылка