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