Update engine/flow_router.py
Browse files- engine/flow_router.py +53 -4
engine/flow_router.py
CHANGED
|
@@ -474,16 +474,65 @@ def route_message(state: str, text: str, session: dict):
|
|
| 474 |
"reply": "العفو، تحت أمرك في أي وقت."
|
| 475 |
}
|
| 476 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 477 |
if is_support_request(t):
|
| 478 |
return create_support_handoff_result(
|
| 479 |
flow_data=flow_data,
|
| 480 |
summary=f"استفسار إضافي بعد handoff: {text}"
|
| 481 |
)
|
| 482 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 483 |
return {
|
| 484 |
"next_state": HANDOFF_DONE,
|
| 485 |
"flow_data": flow_data,
|
| 486 |
-
"reply":
|
| 487 |
-
|
| 488 |
-
|
| 489 |
-
|
|
|
|
|
|
| 474 |
"reply": "العفو، تحت أمرك في أي وقت."
|
| 475 |
}
|
| 476 |
|
| 477 |
+
# لو المستخدم عايز يبدأ من جديد
|
| 478 |
+
if wants_restart(t) or wants_new_topic(t):
|
| 479 |
+
return {
|
| 480 |
+
"next_state": WAITING_MAIN_MENU,
|
| 481 |
+
"flow_data": {},
|
| 482 |
+
"reply": "تمام، نبدأ من جديد. إنت طالب جديد ولا طالب حالي؟"
|
| 483 |
+
}
|
| 484 |
+
|
| 485 |
+
# لو سأل عن كورسات الأطفال
|
| 486 |
+
if is_children(t):
|
| 487 |
+
new_flow = {}
|
| 488 |
+
new_flow["customer_type"] = "new"
|
| 489 |
+
new_flow["audience"] = "children"
|
| 490 |
+
return ask_prior_study_reply(new_flow)
|
| 491 |
+
|
| 492 |
+
# لو سأل عن كورسات الكبار
|
| 493 |
+
if is_adults(t):
|
| 494 |
+
new_flow = {}
|
| 495 |
+
new_flow["customer_type"] = "new"
|
| 496 |
+
new_flow["audience"] = "adults"
|
| 497 |
+
return ask_prior_study_reply(new_flow)
|
| 498 |
+
|
| 499 |
+
# لو قال طالب جديد
|
| 500 |
+
if is_new_student(t):
|
| 501 |
+
new_flow = {}
|
| 502 |
+
new_flow["customer_type"] = "new"
|
| 503 |
+
return ask_audience_reply(new_flow)
|
| 504 |
+
|
| 505 |
+
# لو قال طالب حالي
|
| 506 |
+
if is_current_student(t):
|
| 507 |
+
new_flow = {}
|
| 508 |
+
new_flow["customer_type"] = "current"
|
| 509 |
+
return current_student_menu_reply(new_flow)
|
| 510 |
+
|
| 511 |
+
# لو سأل بشكل عام عن الكورسات
|
| 512 |
+
if contains_any(t, ["كورسات", "الكورسات", "ايه الكورسات", "ما هي الكورسات", "الأنواع", "الانواع"]):
|
| 513 |
+
return {
|
| 514 |
+
"next_state": WAITING_USER_TYPE,
|
| 515 |
+
"flow_data": {},
|
| 516 |
+
"reply": "تمام، أقدر أساعدك في كورسات الطلبة الجدد أو الحاليين. إنت طالب جديد ولا طالب حالي؟"
|
| 517 |
+
}
|
| 518 |
+
|
| 519 |
+
# لو عايز خدمة العملاء
|
| 520 |
if is_support_request(t):
|
| 521 |
return create_support_handoff_result(
|
| 522 |
flow_data=flow_data,
|
| 523 |
summary=f"استفسار إضافي بعد handoff: {text}"
|
| 524 |
)
|
| 525 |
|
| 526 |
+
# لو شكوى
|
| 527 |
+
if is_complaint(t):
|
| 528 |
+
return create_complaint_flow_result(flow_data)
|
| 529 |
+
|
| 530 |
+
# default
|
| 531 |
return {
|
| 532 |
"next_state": HANDOFF_DONE,
|
| 533 |
"flow_data": flow_data,
|
| 534 |
+
"reply": (
|
| 535 |
+
"تم تسجيل طلبك بالفعل، وفريقنا هيتواصل معاك قريب.\n"
|
| 536 |
+
"ولو تحب تبدأ استفسار جديد، اكتب: ابدأ من جديد."
|
| 537 |
+
)
|
| 538 |
+
}
|