Не выполняются последующие команды бота в Python

Я начал изучать программирование несколько дней назад. Пытаются написать телеграмм бота для работы, который по командам, будет выводить информацию из БД MySQL.

У бота на данный момент есть 3 команды: /search - поиск оборудования по наименованию, /searchsn - поиск по серийному номеру и /searchin - поиск по инвентарному номеру.

Если боту вызвать команду /search (т.е. первую по коду) то бот отрабатывает нормально, информация выводится корректно. Если за ней вызвать комманду /searchsn или /searchin то получаю ответ - "Ничего не найдено!".

Подозреваю что я не верно что-то делаю, т.к. бот и дальше продолжает обрабатывать команду /search. Прошу помощи, как заставить бота выполнять все 3 команды.

Первая команда:

@bot.message_handler(commands=['search'])
def start_message(message):
    bot.send_message(message.chat.id, 'Введите наименование оборудования:')

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    cursor = con.cursor()
    sql = "SELECT type_name, manufacturer_name, equipment_name, room_name, equipment_user_mol FROM equipment INNER JOIN manufacturer ON manufacturer.manufacturer_id = equipment.manufacturer_id INNER JOIN type ON type.type_id = equipment.type_id INNER JOIN rooms ON rooms.room_id = equipment.room_id INNER JOIN users ON users.user_id = equipment.equipment_enter_by WHERE equipment_name = '%s'" %message.text.lower()
    cursor.execute(sql)
    data = cursor.fetchall()
    if message.text.lower():
        if not data:      
            bot.send_message(message.chat.id, 'Ничего не найдено!')
            data = message.text.lower()
        else:
            for rows in data:
                bot.send_message(message.chat.id, rows[0] + ' / ' + rows[1] + ' / ' + rows[2] + ' / ' + rows[3] + ' / ' + rows[4])

Вторая команда:

@bot.message_handler(commands=['searchsn'])
def start_message1(message1):
    bot.send_message(message1.chat.id, 'Введите серийный номер оборудования:')
        
        
@bot.message_handler(content_types=['text'])
def get_text_messages1(message1):
    cursor = con.cursor()
    sql = "SELECT type_name, manufacturer_name, equipment_name, room_name, equipment_user_mol FROM equipment INNER JOIN manufacturer ON manufacturer.manufacturer_id = equipment.manufacturer_id INNER JOIN type ON type.type_id = equipment.type_id INNER JOIN rooms ON rooms.room_id = equipment.room_id INNER JOIN users ON users.user_id = equipment.equipment_enter_by WHERE equipment_sn_number = '%s'" %message1.text.lower()
    cursor.execute(sql)
    data2 = cursor.fetchall()
    if message1.text.lower():
        if not data2:      
            bot.send_message(message1.chat.id, 'Ничего не найдено!')
            data2 = message1.text.lower()
        else:
            for rows in data2:
                bot.send_message(message1.chat.id, rows[0] + ' / ' + rows[1] + ' / ' + rows[2] + ' / ' + rows[3] + ' / ' + rows[4])

Третья команда:

# searchsn 
@bot.message_handler(commands=['searchsn'])
def start_message3(message3):
    bot.send_message(message3.chat.id, 'Введите серийный номер оборудования:')
        
        
@bot.message_handler(content_types=['text'])
def get_text_messages3(message3):
    cursor = con.cursor()
    sql = "SELECT type_name, manufacturer_name, equipment_name, room_name, equipment_user_mol FROM equipment INNER JOIN manufacturer ON manufacturer.manufacturer_id = equipment.manufacturer_id INNER JOIN type ON type.type_id = equipment.type_id INNER JOIN rooms ON rooms.room_id = equipment.room_id INNER JOIN users ON users.user_id = equipment.equipment_enter_by WHERE equipment_sn_number = '%s'" %message3.text.lower()
    cursor.execute(sql)
    data3 = cursor.fetchall()
    if message3.text.lower():
        if not data3:      
            bot.send_message(message3.chat.id, 'Ничего не найдено!')
            data2 = message3.text.lower()
        else:
            for rows in data3:
                bot.send_message(message3.chat.id, rows[0] + ' / ' + rows[1] + ' / ' + rows[2] + ' / ' + rows[3] + ' / ' + rows[4])
bot.polling(none_stop=True)

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