PyTelegramBotAPI. Не реагирует на кнопку

@bot.message_handler(content_types=['text'])
def func1(message: types.Message):
    if '#' in message.text:                
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        true = types.KeyboardButton("✅Тэг правильный")
        false = types.KeyboardButton("❌Я ошибся")
        markup.add(true, false)

        bot.send_message(
            message.chat.id,
            "Отлично, мы получили ваш тэг, проверьте его ещё раз и подтвердите правильность данных.",
            reply_markup=markup
        )
def buy(message: types.Message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    if message.text == "✅Тэг правильный":
        bot.send_message(message.from_user,"Покупка по ссылке ",reply_markup=markup)#почему?(

bot.infinity_polling(skip_pending=True)

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

Автор решения: nomnoms12

Функция buy не является обработчиком сообщения. Но даже если вы сделаете её обработчиком, она не будет работать, потому что может быть только один обработчик для команды.

Вы должны добавить проверку в существующий обработчик func1:

@bot.message_handler(content_types=['text'])
def func1(message: types.Message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)

    if message.text == "✅Тэг правильный":
        bot.send_message(message.chat.id, "Покупка по ссылке ", reply_markup=markup)

    elif '#' in message.text:                
        true = types.KeyboardButton("✅Тэг правильный")
        false = types.KeyboardButton("❌Я ошибся")
        markup.add(true, false)
        bot.send_message(message.chat.id, "Отлично, мы получили ваш тэг, проверьте его ещё раз и подтвердите правильность данных.", reply_markup=markup)
→ Ссылка