как сделать чтобы все handler проверялись после первого @bot.callback_query_handler второй никак не реаггрует

Рейтинг: 0Ответов: 1Опубликовано: 04.03.2023
@bot.callback_query_handler(func=lambda call: True)
def days(call):
    if call.message:
        if call.data == 'tenO':
            print(call.data)
            markup2 = types.InlineKeyboardMarkup(row_width=2)
            tenO1 = types.InlineKeyboardButton("Понедельник", callback_data="1")
            tenO2 = types.InlineKeyboardButton("Вторник", callback_data="2tenO")
            tenO3 = types.InlineKeyboardButton("Среда", callback_data="3tenO")
            tenO4 = types.InlineKeyboardButton("Четверг", callback_data="4tenO")
            tenO5 = types.InlineKeyboardButton("Пятница", callback_data="5tenO")
            tenO6 = types.InlineKeyboardButton("Суббота", callback_data="6tenO")
            markup2.add(tenO1, tenO2, tenO3, tenO4, tenO5, tenO6)
            print(tenO1.callback_data)

            @bot.callback_query_handler(func=lambda call: True)
            def raps(cale):
                if cale.data == "1":
                    print(cale.data)
                    bot.send_message(cale.message.chat.id, "work")
                    bot.send_photo(cale.message.chat.id, open('Изображение WhatsApp 2023-03-01 в 17.22.30.jpg', "rb"))

            bot.send_message(call.message.chat.id, "выбери день", reply_markup=markup2)
        elif call.data == 'tenG':
            markup3 = types.InlineKeyboardMarkup(row_width=2)
            tenG1 = types.InlineKeyboardButton("Понедельник", callback_data="1tenG")
            tenG2 = types.InlineKeyboardButton("Вторник", callback_data="2tenG")
            tenG3 = types.InlineKeyboardButton("Среда", callback_data="3tenG")
            tenG4 = types.InlineKeyboardButton("Четверг", callback_data="4tenG")
            tenG5 = types.InlineKeyboardButton("Пятница", callback_data="5tenG")
            tenG6 = types.InlineKeyboardButton("Суббота", callback_data="6tenG")
            markup3.add(tenG1, tenG2, tenG3, tenG4, tenG5, tenG6)
            bot.send_message(call.message.chat.id, "выбери день", reply_markup=markup3)

Ответы

▲ 0
@bot.callback_query_handler(func=lambda call: True)
def days(call):
    if call.message:
        if call.data == 'tenO':
            print(call.data)
            markup2 = types.InlineKeyboardMarkup(row_width=2)
            tenO1 = types.InlineKeyboardButton("Понедельник", callback_data="1")
            tenO2 = types.InlineKeyboardButton("Вторник", callback_data="2tenO")
            tenO3 = types.InlineKeyboardButton("Среда", callback_data="3tenO")
            tenO4 = types.InlineKeyboardButton("Четверг", callback_data="4tenO")
            tenO5 = types.InlineKeyboardButton("Пятница", callback_data="5tenO")
            tenO6 = types.InlineKeyboardButton("Суббота", callback_data="6tenO")
            markup2.add(tenO1, tenO2, tenO3, tenO4, tenO5, tenO6)
            print(tenO1.callback_data)

def raps(cale):
        if cale.data == "1":
            print(cale.data)
            bot.send_message(cale.message.chat.id, "work")
            bot.send_photo(cale.message.chat.id, open('Изображение WhatsApp 2023-03-01 в 17.22.30.jpg', "rb"))

            bot.send_message(call.message.chat.id, "выбери день", reply_markup=markup2)
        elif call.data == 'tenG':
            markup3 = types.InlineKeyboardMarkup(row_width=2)
            tenG1 = types.InlineKeyboardButton("Понедельник", callback_data="1tenG")
            tenG2 = types.InlineKeyboardButton("Вторник", callback_data="2tenG")
            tenG3 = types.InlineKeyboardButton("Среда", callback_data="3tenG")
            tenG4 = types.InlineKeyboardButton("Четверг", callback_data="4tenG")
            tenG5 = types.InlineKeyboardButton("Пятница", callback_data="5tenG")
            tenG6 = types.InlineKeyboardButton("Суббота", callback_data="6tenG")
            markup3.add(tenG1, tenG2, tenG3, tenG4, tenG5, tenG6)
            bot.send_message(call.message.chat.id, "выбери день", reply_markup=markup3)

тебе по сути не нужны одинаковые хендлеры, оно и так должно работать