Этот вопрос закрыт для ответов, так как повторяет вопрос Не работает callback при создании телеграм бота, что делать?
@Danzx

Не работает второй callback, в чем может быть ошибка?

Первый callback работает при нажатии на инлайн кнопки, но при нажатии на кнопки выведенного сообщения первым колбеком, второй колбэк не срабатывает
@bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup()
    bt1 = types.InlineKeyboardButton(text='Хочу начать зарабатывать на Дзен',
                                             callback_data='bts1')
    bt2 = types.InlineKeyboardButton(text='Я уже автор Дзена', callback_data='bts2')

    markup.add(bt1)
    markup.add(bt2)

    bot.send_photo(message.chat.id, open('лого с сиянием.jpg', 'rb'),
                   f'Добро пожаловать, <b>{message.from_user.first_name} {message.from_user.last_name}</b>,'
                   f'\nЯ бот-помощник - твой проводник к познанию Дзена.'
                   f'\n'
                   f'\nПрежде чем мы продолжим дальше, давай ты расскажешь о себе?'
                   f' Ты уже автор Дзена или только хочешь <b> начать зарабатывать на Дзене и познать главную тайну Дзен?</b>',
                   parse_mode='html',reply_markup=markup)



# Как набрать 100 подписчиков
@bot.callback_query_handler(func=lambda callback: True)
def srt(callback):
    if callback.data == "bts2":
        markup = types.InlineKeyboardMarkup()
        bt1 = types.InlineKeyboardButton(text='Как набрать 100 подписчиков?',
                                         callback_data='bt1')
        bt2 = types.InlineKeyboardButton(text='Взаимные подписки', callback_data='2')
        bt3 = types.InlineKeyboardButton(text='Покупка/продажа каналов', callback_data='bt3')
        bt4 = types.InlineKeyboardButton(text='Полезные статьи✍', callback_data='bt4')
        bt5 = types.InlineKeyboardButton(text='Наш магазин', callback_data='bt5')
        bt6 = types.InlineKeyboardButton(text='Полезные сервисы для авторов', callback_data='bt6')
        bt7 = types.InlineKeyboardButton(text='Вакансии', callback_data='bt7')
        markup.add(bt1)
        markup.add(bt2)
        markup.add(bt3)
        markup.add(bt4, bt5)
        markup.add(bt6)
        markup.add(bt7)
        bot.send_photo(callback.message.chat.id, open('бот дзен.jpg', 'rb'),
                       f'Добро пожаловать, <b>{callback.message.from_user.first_name} {callback.message.from_user.last_name}</b>,'
                       f'\n'
                       f'\n'
                       f'\nТак что, куда пойдём дальше?',
                       parse_mode='html', reply_markup=markup)
    elif callback.data == "bts1":
        markup = types.InlineKeyboardMarkup()
        str2 = types.InlineKeyboardButton(text='Начать знакомство',
                                         callback_data='startzen')
        markup.add(str2)
        bot.send_photo(callback.message.chat.id, open('с чего начать.jpg', 'rb'),
                       f' Сейчас я проведу тебе экскурсию по нашему храму тайинства, хы хы,'
                       f'и расскажу что такое Дзен, как его постичь и как начать на нем зарабатывать'
                       f'\n'
                       f'\n<b>Экскурсия будет быстрой и уже через 5 минут'
                       f'ты начнёшь вести свой канал </b>'
                       f'\n'
                       f'\nТак что, ты готов?',
                       parse_mode='html', reply_markup=markup)




@bot.callback_query_handler(func=lambda call: call.data == "startzen")
def callHandler1(call):
    bot.send_message(call.message.chat.id.from_user.id, "Вы нажали на кнопку 1")


Помогите разобраться, пожалуйста
  • Вопрос задан
  • 114 просмотров
Ответы на вопрос 1
@Vin_roman
Здравствуйте. Он и не будет работать, потому что все нажатия инлайновых кнопок будут попадать в 1 их обработчик(callback_query_handler). Для того чтобы это все работало, поместите все в один обработчик.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы