File size: 5,226 Bytes
f12b328 16ce4cf | 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | from engine.states import (
WAITING_MAIN_MENU,
WAITING_USER_TYPE,
WAITING_AUDIENCE,
WAITING_PRIOR_STUDY,
WAITING_BEGINNER_SCHEDULE_CHOICE,
WAITING_PDF_102_CONFIRMATION,
WAITING_PLACEMENT_TEST_CONFIRMATION,
WAITING_CURRENT_STUDENT_ACTION,
WAITING_SUPPORT_QUESTION,
WAITING_LEVEL_SELECTION,
WAITING_PAYMENT_METHOD,
HANDOFF_DONE,
)
BEGINNER_SCHEDULE_LINK = "https://shorturl.at/8jCSz"
PLACEMENT_TEST_LINK = "https://shorturl.at/qj3HD"
def greeting_main_menu_reply(flow_data=None):
return {
"next_state": WAITING_MAIN_MENU,
"flow_data": flow_data or {},
"reply": (
"أهلاً بيك في ÄDK 👋\n"
"أنا مساعد ÄDK.\n"
"قولّي تحب تبدأ، أو ابعت سؤالك مباشرة."
)
}
def ask_new_or_current_reply(flow_data=None):
return {
"next_state": WAITING_USER_TYPE,
"flow_data": flow_data or {},
"reply": (
"محتاج أعرف الأول:\n"
"إنت طالب جديد ولا طالب حالي؟"
)
}
def ask_audience_reply(flow_data=None):
return {
"next_state": WAITING_AUDIENCE,
"flow_data": flow_data or {},
"reply": "تمام، الكورس للكبار ولا للأطفال؟"
}
def ask_prior_study_reply(flow_data=None):
return {
"next_state": WAITING_PRIOR_STUDY,
"flow_data": flow_data or {},
"reply": "هل درست اللغة الألمانية قبل كده؟ رد بنعم أو لا."
}
def beginner_schedule_reply(flow_data=None):
audience = (flow_data or {}).get("audience")
audience_label = "الأطفال" if audience == "children" else "الكبار"
return {
"next_state": WAITING_BEGINNER_SCHEDULE_CHOICE,
"flow_data": flow_data or {},
"reply": (
f"تمام، بما إنك/إنكِ لسه بادئ/بادئة، دي مواعيد كورسات المبتدئين لفئة {audience_label}:\n"
f"{BEGINNER_SCHEDULE_LINK}\n"
"بعد ما تراجع المواعيد، ابعتلي تم أو قولّي تحب نكمّل الحجز."
)
}
def pdf_102_reply(flow_data=None):
return {
"next_state": WAITING_PDF_102_CONFIRMATION,
"flow_data": flow_data or {},
"reply": (
"موجود ملف يحتوي على كل التفاصيل الخاصة بإجراءات الحجز والمتابعة.\n"
"برجاء الاطلاع عليه والرد بكلمة تم.\n"
"بعدها هنبعت لك طرق الدفع وإجراءات الحجز."
)
}
def placement_test_reply(flow_data=None):
audience = (flow_data or {}).get("audience")
audience_label = "الأطفال" if audience == "children" else "الكبار"
return {
"next_state": WAITING_PLACEMENT_TEST_CONFIRMATION,
"flow_data": flow_data or {},
"reply": (
f"تمام، بما إنك درست ألماني قبل كده، تقدر تحجز اختبار تحديد مستوى لفئة {audience_label}.\n"
"سعر الاختبار 300 جنيه.\n"
f"المواعيد من هنا:\n{PLACEMENT_TEST_LINK}\n"
"بعد ما تراجع المواعيد، ابعتلي تم."
)
}
def current_student_menu_reply(flow_data=None):
return {
"next_state": WAITING_CURRENT_STUDENT_ACTION,
"flow_data": flow_data or {},
"reply": "تمام، تحب تعمل استفسار بخصوص الكورس ولا حجز المستوى التالي؟"
}
def support_question_reply(flow_data=None):
return {
"next_state": WAITING_SUPPORT_QUESTION,
"flow_data": flow_data or {},
"reply": "اكتبلي استفسارك بالتفصيل، وأنا هرفعه لفريق خدمة العملاء."
}
def ask_level_selection_reply(flow_data=None):
return {
"next_state": WAITING_LEVEL_SELECTION,
"flow_data": flow_data or {},
"reply": (
"تمام، قولّي المستوى اللي تحب تحجزه:\n"
"1A / 2A / 1B / 1C2/B"
)
}
def payment_methods_reply(flow_data=None):
return {
"next_state": WAITING_PAYMENT_METHOD,
"flow_data": flow_data or {},
"reply": (
"طرق الدفع المتاحة:\n"
"- في الفرع\n"
"- تحويل بنكي\n"
"- Vodafone Cash\n"
"- Visa\n"
"- تقسيط Value\n"
"اختار الطريقة المناسبة لك."
)
}
def handoff_done_reply(flow_data=None):
return {
"next_state": HANDOFF_DONE,
"flow_data": flow_data or {},
"reply": "تمام، تم رفع طلبك للفريق المختص وهيتم التواصل معاك قريب."
}
def unknown_reply(flow_data=None):
return {
"next_state": WAITING_MAIN_MENU,
"flow_data": flow_data or {},
"reply": "ممكن توضّحلي قصدك أكتر؟ أو قولّي إذا كنت طالب جديد أو طالب حالي."
} |