user_state = user_states.get(message.chat.id, None)
if user_state:
if user_state["action"] = "button1": функция_обработчик_кнопки1(message)
elif user_state["action"] = "button2": функция_обработчик_кнопк2(message)
else: функция_которая_покажет_ошибку(message)
else:
поведение по умолчанию, например, обработка нажатых кнопок
в нужном месте выставляем состояние:
user_state[message.chat.id] = {"action": "button1", "дополнительные": "данные"}
user_state[message.chat.id]["func"] = функция_обработки_сообщения
#или даже так:
user_state[message.chat.id]["func"] = lambda msg: функция_обработки_сообщения(msg, "дополнительные", "параметры")
if "func" in user_states.get(message.chat.id, {}):
user_states[message.chat.id]["func"](message)
elif message.text == text42:
handle_adm_btn1(bot, message)