Не зная, как у вас реализовано, сложно сказать. Насколько понял речь все еще про ReplyKeyboardMarkup. Можно использовать например словарь (или класс для хранения данных) для хранения состояний. И для каждой клавиатуры проставлять состояние. Условно
states = {"kb":None}
def ... клавиатура1
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
button1 = telebot.types.KeyboardButton(f'Да')
button2 = telebot.types.KeyboardButton(f'Нет')
keyboard.row(button1, button2)
states["kb"] = "kb1"
bot.send_message(message.chat.id, message, reply_markup=keyboard)
def ... клавиатура2
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
button1 = telebot.types.KeyboardButton(f'Да')
button2 = telebot.types.KeyboardButton(f'Нет')
keyboard.row(button1, button2)
states["kb"] = "kb2"
bot.send_message(message.chat.id, message, reply_markup=keyboard)
@bot.message_handler(content_types=['text'])
def echo_text(message):
if states["kb"] == "kb1":
if message.text == 'Да':
elif states["kb"] == "kb2":
if message.text == 'Да':