ADK-Bot / engine /conversation_engine.py
Mr-Help's picture
Upload 6 files
02fbdc7 verified
raw
history blame
960 Bytes
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