Mr-Help commited on
Commit
f12b328
·
verified ·
1 Parent(s): bdbe92a

Update knowledge/replies.py

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