File size: 960 Bytes
02fbdc7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | from engine.flow_router import route_message
from sessions import get_session, upsert_session
def process_message(bot_number: str, customer_phone: str, text: str):
session = get_session(customer_phone, bot_number)
if not session:
session = {
"current_state": "START",
"flow_type": None,
"flow_data": {
"uid": f"{bot_number}__{customer_phone}"
}
}
state = session.get("current_state", "START")
result = route_message(state, text, session)
next_state = result["next_state"]
flow_data = result.get("flow_data", session.get("flow_data", {}))
flow_type = flow_data.get("customer_type")
upsert_session(
customer_phone=customer_phone,
bot_number=bot_number,
current_state=next_state,
flow_type=flow_type,
flow_data=flow_data,
last_message=text,
)
return result |