Best Python code snippet using robotframework-appiumlibrary_python
fsm.py
Source:fsm.py
...266 text = update.message.text267 return text.lower() == 'turbo'268 def on_enter_stateNCKUCSIEIntroduction(self, update):269 update.message.reply_text("history or professor")270 #self.go_back(update)271 def on_exit_stateNCKUCSIEIntroduction(self, update):272 print('Leaving stateNCKUCSIEIntroduction')273 def on_enter_stateHistory(self, update):274 update.message.reply_text("ç³»ææ·å²è沿é©\næ¬ç³»çºåå°ç£ç¬¬ä¸åç´ä»¥è³è¨åè¨ç®æ©å·¥ç¨çºéå¿çé«ç´å¸è¡å®ä½ï¼ æ¼æ°åä¸åå
å¹´å
«ææç«ç¢©å£«çï¼å
«åä¸å¹´å
«ææç«å士çï¼ æ¼å
«åå
å¹´å
«ææç«å¤§å¸é¨ï¼ä¹åä¸å¹´å
«ææ´å¢å¤§å¸é¨çºå
©çï¼ ä¸¦æ¼ä¹åäºå¸å¹´åº¦åå¢è¨é«å¸è³è¨ç 究æï¼ä¸ç¾å¹´å
«æ製é è³è¨è系統ç 究ææ´åè³æ¬ç³»ï¼ä»¥ä¸ç³»ä¸æä¹æ¨¡å¼é²è¡ã\nçºå æåå
§é«ç§æç¢æ¥äººåéæ±ï¼ æ¯ä½ææåç 究çåç©æ¥µåèåå
§å¤å¸è¡æ´»åï¼ä¸¦å¨é«æ°´æºçæååæè°ä¸ç¼è¡¨ç 究ææï¼ ä¸¦æå¤ä½ææç²å¾å¸è¡æ¦®è½å¦åç§æååºç 究çççé
ã")275 self.go_back(update)276 def on_exit_stateHistory(self, update):277 print('Leaving stateHistory')278 def on_enter_stateProfessor(self, update):279 update.message.reply_text("1.é«å®å®\n2.é£éæ°\n3.æåç\n4.éè³ç°\n5.å³å®æ²\n6.å«æ°¸å¹´\n7.é»å´æ\n8.è¬å«æº\n9.é»å®ç«\n10.éèç
\n11.é³è£æ°\n12.è£æ¦®å
\n13.é³å¹æ®·\n14.æå¼·\n15.é³é¿äº®\n16.éæ²å®\n17.æ¥å¤§å\n18.èæéº\n19.å¼µçå
\n20.éæ·ç¾\n21.ç士豪\n22.èéæ¸
\n23.èå®ç« \n24.張大緯\n25.æ¢åå¯\n26.許éè³\n27.ç§æ祥\n28.æ¥ä¸å¹³\n29.èå´å±\n30.æè±è¶
\n31.å³æé¾\n32.é³æé\n33.æ家岩\n34.è¶æ¢ç¨\n35.è¡åå³\n36.èå¤é\n37.è¡ä½©ç\n38.è¡æå\n39.æ¶åæ\n40.æä¿¡æ°\n41.å¼µçç´\n42.é»æ¬ç¾¤\nexit")280 #self.go_back(update)281 def on_exit_stateProfessor(self, update):282 print('Leaving stateProfessor')283 def on_enter_state1(self, update):284 update.message.reply_text("é«å®å® ææ å
¼ 代ç系主任 å
¼ é«è³ææé·\n\nå°é·åç 究é å:\nè³è¨æª¢ç´¢/è³è¨æ·åãè³ææ¢åãæ©å¨å¸ç¿ãå
¨çè³è¨ç¶²è³è¨ç³»çµ±ãçç©è³è¨ã社群網路è¨ç®\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62546\n\nE-mailï¼\nhykao@mail.ncku.edu.tw\n\n實é©å®¤ï¼\næºæ
§åç¥è管ç實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨9F 65903)\n\nå人網é ï¼\nhttp://myweb.ncku.edu.tw/~hykao/\n")285 self.go_back(update)286 def on_exit_state1(self, update):287 print('Leaving state1')288 289 def on_enter_state2(self, update):290 update.message.reply_text("é£éæ° ææ å
¼ å¯ç³»ä¸»ä»» å
¼ 製é ææé·\n\nå°é·åç 究é å:\næºæ
§åæ©å¨äººåèªååã人æ©äºååæ´å¢å¯¦å¢ã3Dèªåå
å¸æª¢æ¸¬ãè¦è¦ºä¼ºææ§å¶ãå½±åèç,3Dé»è
¦è¦è¦ºåå形辨èãæ©å¨å¸ç¿ãåµå
¥å¼ç³»çµ±ãé²ç«¯æºæ
§åç£æ§æå\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / 製é æ\n\né»è©±ï¼\n06-2757575 ext 62540\n\nE-mailï¼\njjlien@csie.ncku.edu.tw\n\n實é©å®¤ï¼\næ©å¨äººå¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨9F 65904)")291 self.go_back(update)292 def on_exit_state2(self, update):293 print('Leaving state2')294 295 def on_enter_state3(self, update):296 update.message.reply_text("æåç è¬åº§ææ\n\nå°é·åç 究é å:\n3Déæ²è¨è¨ (3D Game Design)ã3D NPRåç«åæ(3D Non-photo-realistic rendering)ãé»è
¦ç¹ªåèåç«(Computer Graphics and Animation)ãé»è
¦è¦è¦ºå模æ¬(Visualization)ãèæ¬å¯¦å¢èç°å¢(Virtual Reality and Environment)ãé«å¸æè¡æ¨¡æ¬ç³»çµ±(3D Medical Surgical Simulation and Application)ãVideo/Image Retargetingã3D Captcha Design for Internet Security\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62531\n\nE-mailï¼\ntonylee@mail.ncku.edu.tw\n\n實é©å®¤ï¼\né»è
¦ç¹ªåç 究群/è¦è¦ºç³»çµ±å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨7F 65701)")297 self.go_back(update)298 def on_exit_state3(self, update):299 print('Leaving state3')300 301 def on_enter_state4(self, update):302 update.message.reply_text("éè³ç° è¬åº§ææ\n\nå°é·åç 究é å:\nEå製é (å·¥æ¥4.0)ãåå°é«çç¢èªååãèæ¬é測ãé 測ä¿é¤ãæºæ
§å製é 系統\n\nç³»æå¥ï¼\nè³è¨ç³» / 製é æ\n\né»è©±ï¼\n06-2757575 ext 34224\n\nE-mailï¼\nchengft@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nèªåå實é©å®¤ (èªå¼·æ ¡ååå¨è¨å大æ¨95619)\n\nå人網é ï¼\nhttp://super.ime.ncku.edu.tw/pages/teacher.htm")303 self.go_back(update)304 def on_exit_state4(self, update):305 print('Leaving state4')306 307 def on_enter_state5(self, update):308 update.message.reply_text("å³å®æ² è¬åº§ææ\n\nå°é·åç 究é å:\n人工æºæ
§è深度å¸ç¿ãèªé³èèªè
èå¥ãèªé³åæèè®é³ãå£è¿°èªè¨å°è©±èç解ãå¤åªé«æ
ç·è¾¨èè追蹤ãå½±é³å¤åªé«æè¦è檢索ãè½èªéå£/æèªå¸ç¿è¼å
ዎȏ
¦è¼å©å£èªªèªè¨å¸ç¿ãå¤åªé«äººæ©äºå\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\né»è©±ï¼06-2757575 ext 62521\n\nE-mailï¼\nchunghsienwu@gmail.com; chwu@csie.ncku.edu.tw\n\n實é©å®¤ï¼\nå¤åªé«äººæ©éè¨å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨8F 65801)\n\nå人網é ï¼\nhttp://chinese.csie.ncku.edu.tw/web_tw/professor/")309 self.go_back(update)310 def on_exit_state5(self, update):311 print('Leaving state5')312 313 def on_enter_state6(self, update):314 update.message.reply_text("å«æ°¸å¹´ ç¹èææ\n\nå°é·åç 究é å:\nå½±åèçãé»è
¦è¦è¦ºãé«å¸å½±åãå·¥æ¥æª¢æ¸¬ãé«å¸è³è¨ãè¦è¨ç§å¸ãèæ¬ç°å¢\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62526\n\nE-mailï¼\nynsun@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nè¦è¦ºç³»çµ±å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨7F 65702)")315 self.go_back(update)316 def on_exit_state6(self, update):317 print('Leaving state6')318 319 def on_enter_state7(self, update):320 update.message.reply_text("é»å´æ ç¹èææ\n\nå°é·åç 究é å:\nç¡ç·åè¡å網路ååå®è¨è¨èåæãå¤åªé«èçå串æµæè¡ãç¶ è²éè¨èè¨ç®ãåµæ網路æç¨èæå\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62523\n\nE-mailï¼\nhuangcm@locust.csie.ncku.edu.tw\ncmdhuang@gmail.com\n\n實é©å®¤ï¼\nå¤åªé«è¡åé»è
¦ç¶²è·¯å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨3F 65303)")321 self.go_back(update)322 def on_exit_state7(self, update):323 print('Leaving state7')324 325 def on_enter_state8(self, update):326 update.message.reply_text("è¬å«æº ç¹èææ å
¼ ç ç¼é·\n\nå°é·åç 究é å:\n容é¯è¨ç®ãçç©è³è¨ãå¹³è¡ååæ£å¼è¨ç®ãæ¼ç®æ³è¨è¨èåæãåå½¢çè«\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62538\n\nE-mailï¼\nhsiehsy@mail.ncku.edu.tw\n\n實é©å®¤ï¼\näºé£ç¶²è·¯æ¨é«æçè¨ç®å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨8F 65803)\n\nå人網é ï¼\nhttp://algorithm.csie.ncku.edu.tw/syhsieh.htm")327 self.go_back(update)328 def on_exit_state8(self, update):329 print('Leaving state8')330 331 def on_enter_state9(self, update):332 update.message.reply_text("é»å®ç« ç¹èææ\n\nå°é·åç 究é å:\nå¯ç¢¼æè¡ã網路å®å
¨ãè³è¨å®å
¨ãéç¦ç³»çµ±ãé¯èª¤æ§å¶ç¢¼ãéåå¯ç¢¼å¸\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62524\n\nE-mailï¼\nhwangtl@csie.ncku.edu.tw\n\n實é©å®¤ï¼\néåè³è¨è網路å®å
¨å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨6F 65603)")333 self.go_back(update)334 def on_exit_state9(self, update):335 print('Leaving state9')336 337 def on_enter_state10(self, update):338 update.message.reply_text("éèç
ç¹èææ\n\nå°é·åç 究é å:\nåµå
¥å¼ç³»çµ±èæç¨ãæ測網路èé¨æè¨ç®ãå¯¬é »ç¶²è·¯ç³»çµ±ãæºæ
§åè³è¨ç³»çµ±ã網é網路æåãç©ä»¶å°åå¼è¨è¨ã模ç³ç³»çµ±ãç¥è庫系統ã系統æ¶çè¨è¨ã人工æºæ
§ãæ
å¢æç¥ãæ¸ä½å®¶åº\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62522\n\nE-mailï¼\nkuoyh@ismp.csie.ncku.edu.tw\n\n實é©å®¤ï¼\næºæ
§å系統æ¨åªé«èç實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨5F 65507)")339 self.go_back(update)340 def on_exit_state10(self, update):341 print('Leaving state10')342 343 def on_enter_state11(self, update):344 update.message.reply_text("é³è£æ° ç¹èææ\n\nç³»æå¥ï¼\nè³è¨ç³» / 製é æ\n\né»è©±ï¼\n06-2757575 ext 34222\n\nE-mailï¼\nymchen@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nä¼æ¥å·¥ç¨èæ´å實é©å®¤ (èªå¼·æ ¡ååå¨è¨å大æ¨95604)")345 self.go_back(update)346 def on_exit_state11(self, update):347 print('Leaving state11')348 349 def on_enter_state12(self, update):350 update.message.reply_text("è£æ¦®å
ç¹èææ å
¼ è¨ç®æ©è網路ä¸å¿ä¸»ä»»\n\nå°é·åç 究é å:\nçé«è³è¨æ¢åã人工æºæ
§ãæºæ
§åè¨ç®ãé²ç«¯é«çç
§è·ãççè幹細èç 究ãå·¨éè³æåæãææç©¿æ´è£ç½®è¡åè¨ç®\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ / è¨ç¶²ä¸å¿\n\né»è©±ï¼\n06-2757575 ext 62534\n\nE-mailï¼\njchiang@mail.ncku.edu.tw\n\n實é©å®¤ï¼\næºæ
§åè³è¨æ·å實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨6F 65604)")351 self.go_back(update)352 def on_exit_state12(self, update):353 print('Leaving state12')354 355 def on_enter_state13(self, update):356 update.message.reply_text("é³å¹æ®· ç¹èææ å
¼ é»è³å¸é¢å¯é¢é·\n\nå°é·åç 究é å:\nVLSIé»è·¯/FPGAæ¶çè¨è¨ã人工æºæ
§AIå½±åèçèæç¨ãè³è¨ç³»çµ±éç¼ãåµå
¥å¼ç³»çµ±éç¼è¨è¨\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62547\n\nE-mailï¼\npychen@mail.ncku.edu.tw\n\n實é©å®¤ï¼\næ¸ä½æ¶çè¨è¨å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨10F 65A01)")357 self.go_back(update)358 def on_exit_state13(self, update):359 print('Leaving state13')360 361 def on_enter_state14(self, update):362 update.message.reply_text("æå¼· ææ\n\nå°é·åç 究é å:\n大æ¸æ/å·¨éè³æèçæè¡ã社群網ç«/é²ç«¯å¹³è¡è¨ç®ãå°çè³è¨ç³»çµ±ã網é網路è³æ庫èèçæè¡\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62528\n\nE-mailï¼\nleec@mail.ncku.edu.tw\n\n實é©å®¤ï¼\né«çè³æ系統(ADS)實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨3F 65302)")363 self.go_back(update)364 def on_exit_state14(self, update):365 print('Leaving state14')366 367 def on_enter_state15(self, update):368 update.message.reply_text("é³é¿äº® ææ\n\nå°é·åç 究é å:\nè³è¨èæ©é»æ´åãæºæ
§åé 端ç£æ§ç³»çµ±ãC#ç©ä»¶å°åç¨å¼è¨è¨ãPC-based å¤è»¸æ§å¶å¨è¨è¨ãèªååå
å¸æª¢æ¸¬ãCAD/CAMãé²ç«¯æå系統\n\nç³»æå¥ï¼\nè³è¨ç³» / 製é æ\n\né»è©±ï¼\n06-2757575 ext 61001\n\nE-mailï¼\nslchen@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nè³è¨èæ©é»æ´å實é©å®¤ (èªå¼·æ ¡ååå¨è¨å大æ¨95507)\n\nå人網é ï¼\nhttp://140.116.86.180")369 self.go_back(update)370 def on_exit_state15(self, update):371 print('Leaving state15')372 373 def on_enter_state16(self, update):374 update.message.reply_text("éæ²å® ææ\n\nå°é·åç 究é å:\né²ç«¯è¨ç®,è¡åè£ç½®Appç 究èéç¼,ç¡ç·éè¨, è¡åè¨ç®, æ¸ä½çæ´»ç§æ, éåè¨ç®èéè¨, é»è
¦ç¶²è·¯\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62529\n\nE-mailï¼\nstcheng@mail.ncku.edu.tw\n\n實é©å®¤ï¼\n塵éæç¥èé²ç«¯è¨ç®å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨6F 65607)")375 self.go_back(update)376 def on_exit_state16(self, update):377 print('Leaving state16')378 379 def on_enter_state17(self, update):380 update.message.reply_text("æ¥å¤§å ææ\n\nç³»æå¥ï¼\nè³è¨ç³» / 製é æ\n\né»è©±ï¼\n06-2757575 ext 34225\n\nE-mailï¼\ntyang@mail.ncku.edu.tw\n\n實é©å®¤ï¼\n製é 管ç實é©å®¤ (èªå¼·æ ¡ååå¨è¨å大æ¨95623)")381 self.go_back(update)382 def on_exit_state17(self, update):383 print('Leaving state17')384 385 def on_enter_state18(self, update):386 update.message.reply_text("èæéº ææ\n\nå°é·åç 究é å:\næ¸ä½é³è¨èçãå½±åè¦è¨èçèå£ç¸®ãé»è
¦é³æ¨åæåæãæ件影åèçãåªé«èçæ©è¨è¨ãMPEG-4å¤åªé«æ¨æºãæ¸ä½è¨èèçç¨SoC\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62537\n\nE-mailï¼\nalvinsu@mail.ncku.edu.tw\n\n實é©å®¤ï¼\né³æ¨å¤åªé«ç³»çµ±å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨7F 65707)")387 self.go_back(update)388 def on_exit_state18(self, update):389 print('Leaving state18')390 391 def on_enter_state19(self, update):392 update.message.reply_text("å¼µçå
ææ\n\nå°é·åç 究é å:\nRouter & Switch DesignãScalable Web ServerãCooperative Web ProxyãQoSãNetwork Processor DesignãComputer ArchitectureãMultiprocessor Network and Cache Coherence DesignãFault-Tolerant\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62539\n\nE-mailï¼\nykchang@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nè¨ç®æ©ç¶²è·¯æ¶æ§å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨5F 65502)\n\nå人網é ï¼\nhttp://cial.csie.ncku.edu.tw/")393 self.go_back(update)394 def on_exit_state19(self, update):395 print('Leaving state19')396 397 def on_enter_state20(self, update):398 update.message.reply_text("éæ·ç¾ ææ\n\nå°é·åç 究é å:\nå½±åèçãé«çå½±åèçãé²åè¨ç®è«ã渾æ²ç³»çµ±æç¨ã模ç³çè«ã系統工ç¨\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62525\n\nE-mailï¼\nguosm@mail.ncku.edu.tw\n\n實é©å®¤ï¼\næºæ
§åæ¸ä½å½±åèç實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨4F 65403)")399 self.go_back(update)400 def on_exit_state20(self, update):401 print('Leaving state20')402 403 def on_enter_state21(self, update):404 update.message.reply_text("ç士豪 ææ å
¼ æ大é«é¢è³è¨å®¤ä¸»ä»»\n\nå°é·åç 究é å:\nè¶
é³æ³¢è¨èåæåæè¡ãè¶
é³æ³¢éå¥çç©çµç¹èææãé«ç¨ç©è¯ç¶²èæ©å¨å¸ç¿ãè¨èèå½±åèçãé«å¸èå¥åº·ç
§è·è³è¨ãé«çå¨æ\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62519\n\nE-mailï¼\nshyhhau@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nçé«è¶
é³æ³¢ç³»çµ±å¯¦é©å®¤ (è³è¨å¤§æ¨8æ¨) (è³è¨ç³»é¤¨æ°å¤§æ¨8F 65804)")405 self.go_back(update)406 def on_exit_state21(self, update):407 print('Leaving state21')408 409 def on_enter_state22(self, update):410 update.message.reply_text("èéæ¸
ææ\n\nå°é·åç 究é å:\nå
æ¥å網路ãå¤æ³¢é·åæ³¢å¤å·¥å
çºç¶²è·¯ãç¡ç·æ測網路ã網é網路é»è¦ç³»çµ±\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62543\n\nE-mailï¼\nsuecc@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nå¯é è¨ç®å網路實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨7F 65703)")411 self.go_back(update)412 def on_exit_state22(self, update):413 print('Leaving state22')414 415 def on_enter_state23(self, update):416 update.message.reply_text("èå®ç« ææ\n\nå°é·åç 究é å:\nå·¨éè³æå²åé«èè¨ç®å¹³å°ãApacheéæºå°æ¡ãå¹³è¡æ¨åæ£å¼è¨ç®ãé²ç«¯è¨ç®ãåå網路\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62548\n\nE-mailï¼\nhchsiao@csie.ncku.edu.tw\n\n實é©å®¤ï¼\nåæ£å¼è¨ç®å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨10F 65A03)")417 self.go_back(update)418 def on_exit_state23(self, update):419 print('Leaving state23')420 421 def on_enter_state24(self, update):422 update.message.reply_text("張大緯 ææ\n\nå°é·åç 究é å:\n容é¯æ©å¶ãä½æ¥ç³»çµ±ãèæ¬æ©å¨ãåµå
¥å¼ç³»çµ±\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62551\n\nE-mailï¼\ndavidchang@csie.ncku.edu.tw\n\n實é©å®¤ï¼\nä½æ¥ç³»çµ±èåµå
¥å¼ç³»çµ±å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨4F 65409)\n\nå人網é ï¼\nhttp://140.116.247.213/")423 self.go_back(update)424 def on_exit_state24(self, update):425 print('Leaving state24')426 427 def on_enter_state25(self, update):428 update.message.reply_text("æ¢åå¯ ææ\n\nå°é·åç 究é å:\næºæ
§åç§æåå
¶æç¨ãç¥ç¶èªç¥è
¦æ©çé¢ãçé«è¨èèçãå¯æå¼åµå
¥å¼ç³»çµ±ãå¤åªé«è¨èè系統\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62549\n\nE-mailï¼\nsfliang@mail.ncku.edu.tw\n\nå人網é ï¼\nncbci.csie.ncku.edu.tw")429 self.go_back(update)430 def on_exit_state25(self, update):431 print('Leaving state25')432 433 def on_enter_state26(self, update):434 update.message.reply_text("許éè³ å¯ææ\n\nå°é·åç 究é å:\nå
æ³¢åå²å¤å·¥ç¶²è·¯ãç¹å¾çç¥è¨è¨ã網é網路éè¨åå®\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62535\n\nE-mailï¼\nhsucf@csie.ncku.edu.tw\n\n實é©å®¤ï¼\né«é網路實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨5F 65503)")435 self.go_back(update)436 def on_exit_state26(self, update):437 print('Leaving state26')438 439 def on_enter_state27(self, update):440 update.message.reply_text("ç§æ祥 å¯ææ\n\nå°é·åç 究é å:\næ件æ¢åã網路æ¢åãè³è¨æª¢ç´¢ãèªç¶èªè¨èçãæ©å¨ç¿»è¯ãè·¨èªç¥è系統ãæ¸ä½å
¸èãé«å¸è³è¨æª¢ç´¢\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62545\n\nE-mailï¼\nwhlu@mail.ncku.edu.tw\n\n實é©å®¤ï¼\n網路æ¢åæ¨è·¨èªç¥è系統實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨8F 65802)")441 self.go_back(update)442 def on_exit_state27(self, update):443 print('Leaving state27')444 445 def on_enter_state28(self, update):446 update.message.reply_text("æ¥ä¸å¹³ å¯ææ\n\nå°é·åç 究é å:\nMicroprocessor Architecture and InterfaceãReal-time Embedded SystemãVirtual Instrumentation\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62533\n\nE-mailï¼\ndryncku@gmail.com\n\n實é©å®¤ï¼\nè¯ç¶²ååµå
¥å¼æç¨èæè¡å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨4F 65402)")447 self.go_back(update)448 def on_exit_state28(self, update):449 print('Leaving state28')450 451 def on_enter_state29(self, update):452 update.message.reply_text("èå´å± å¯ææ\n\nå°é·åç 究é å:\nè»è¼ç¶²è·¯, æ測網路, ç©è¯ç¶², é é²é«å¸å¤§è³æåæ, é²ç«¯ç
§è·, ä¸é«é»è
¦å(èªå診æ·. ç¡çéç¸, æºæ
§èæ¹ç³»\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62550\n\nE-mailï¼\nklan@csie.ncku.edu.tw\n\n實é©å®¤ï¼\nç²¾æºé«çè網路系統實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨5F 65501)\n\nå人網é ï¼\nhttp://www.csie.ncku.edu.tw/~klan/")453 self.go_back(update)454 def on_exit_state29(self, update):455 print('Leaving state29')456 457 def on_enter_state30(self, update):458 update.message.reply_text("æè±è¶
å¯ææ\n\nå°é·åç 究é å:\nè¨ç®æ©çµæ§ãå¯é ç¯è½ç³»çµ±è¨è¨ãé»åè¨è¨èªååãåµå
¥å¼ç³»çµ±è¨è¨ãè¶
大åç©é«é»è·¯/系統å®æ¶çè¨è¨ ãç©è¯ç¶²ç³»çµ±åæ¶æ§ãè¨æ¶é«ç³»çµ±åæ¶æ§ãæ¸ä½ç³»çµ±è¨è¨ãç°è³ªéç®ç³»çµ±åæ¶æ§è¨è¨\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62553\n\nE-mailï¼\niclin@csie.ncku.edu.tw\n\n實é©å®¤ï¼\né»è
¦æ¶æ§èæ¶çè¨è¨å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨10F 65A02)\n\nå人網é ï¼\nhttps://sites.google.com/a/caid.tw/iclin/")459 self.go_back(update)460 def on_exit_state30(self, update):461 print('Leaving state30')462 463 def on_enter_state31(self, update):464 update.message.reply_text("å³æé¾ å¯ææ\n\nå°é·åç 究é å:\nçé«å½±åèçãå¹³è¡è¨ç®ãæ ¸ç£å
±æ¯å½±åæåæè¡ã大è
¦åè½æ§ç£æ¯é å½±ãæ ¸ç£å
±æ¯èè¡åºåè¨è¨ãæ©å¨å¸ç¿ãè³æç§å¸\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62541\n\nE-mailï¼\nminglong.wu@csie.ncku.edu.tw\n\n實é©å®¤ï¼\nçé«å½±å實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨9F 65902)")465 self.go_back(update)466 def on_exit_state31(self, update):467 print('Leaving state31')468 469 def on_enter_state32(self, update):470 update.message.reply_text("é³æé å¯ææ\n\nç³»æå¥ï¼\nè³è¨ç³» / 製é æ\n\né»è©±ï¼\n06-2757575 ext 34226\n\nE-mailï¼\nchaochun@mail.ncku.edu.tw\n\n實é©å®¤ï¼\n製é èè¡åè³æ庫實é©å®¤ (èªå¼·æ ¡ååå¨è¨å大æ¨95508)")471 self.go_back(update)472 def on_exit_state32(self, update):473 print('Leaving state32')474 475 def on_enter_state33(self, update):476 update.message.reply_text("æ家岩 å¯ææ\n\nç³»æå¥ï¼\nè³è¨ç³» / 製é æ\n\né»è©±ï¼\n06-2757575 ext 34223\n\nE-mailï¼\ncylee@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nçç¢åæä½³å實é©å®¤")477 self.go_back(update)478 def on_exit_state33(self, update):479 print('Leaving state33')480 481 def on_enter_state34(self, update):482 update.message.reply_text("è¶æ¢ç¨ å¯ææ\n\nå°é·åç 究é å:\né«å¸å½±åèæ¸ä½å½±åèçãè¨ç®ç¥ç¶å¸ãç£æ¯é å½±æè¡ãç£æ¯é å½±å éæ¼ç®æ³ãåå系統模æ¬\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext\n\nE-mailï¼\ntcchao@mail.ncku.edu.tw\n\n實é©å®¤ï¼\né«å¸å½±åèç實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨4F 65401)")483 self.go_back(update)484 def on_exit_state34(self, update):485 print('Leaving state34')486 487 def on_enter_state35(self, update):488 update.message.reply_text("è¡åå³ å¯ææ\n\nå°é·åç 究é å:\n網路æè½è©ä¼°ãè¡å網路è¨è¨èåæã網é網路é»è©±ãè¡åè¨ç®ãè¡å網路è網é網路æ´å\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62518\n\nE-mailï¼\ntsaimh@csie.ncku.edu.tw\n\n實é©å®¤ï¼\næºæ
§åè¡åæå實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨10F 65A04)\n\nå人網é ï¼\nhttp://imslab.org/~tsaimh/")489 self.go_back(update)490 def on_exit_state35(self, update):491 print('Leaving state35')492 493 def on_enter_state36(self, update):494 update.message.reply_text("èå¤é å©çææ\n\nå°é·åç 究é å:\nè³ææ¢åãè³æ庫系統ãè¡åéç®ã網路è³è¨ç³»çµ±\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / é«è³æ\n\né»è©±ï¼\n06-2757575 ext 62556\n\nE-mailï¼\nktchuang@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nåç»ç¶²è·¯è³æ庫實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨6F 65602)\n\nå人網é ï¼\nhttp://cv_ktchuang.cannerapp.com/")495 self.go_back(update)496 def on_exit_state36(self, update):497 print('Leaving state36')498 499 def on_enter_state37(self, update):500 update.message.reply_text("è¡ä½©ç å©çææ\n\nå°é·åç 究é å:\nå³æå®ä½èå°èªæåãæºæ
§å系統èæç¨ç¨å¼éç¼ãå½±åå£ç¸®èå³æå³è¼¸ãå³ææç¨çè«ã使ç¨è
ä»é¢çµæ§è¨è¨ãå¥åº·çè·æç¨åå人è¨å\n\nç³»æå¥ï¼\nè³è¨ç³» / 製é æ\n\né»è©±ï¼\n06-2757575 ext 34228\n\nE-mailï¼\nphtsai@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nè³è¨ç³»çµ±èæç¨å¯¦é©å®¤ (èªå¼·æ ¡ååå¨è¨å大æ¨95508)")501 self.go_back(update)502 def on_exit_state37(self, update):503 print('Leaving state37')504 505 def on_enter_state38(self, update):506 update.message.reply_text("è¡æå å©çææ\n\nå°é·åç 究é å:\nå¤åªé«è³è¨ç³»çµ±ãé²ç«¯å¤åªé«è¨ç®ãé»è
¦è¦è¦ºèåå½¢èå¥ãæ©å¨å¸ç¿ãé»è
¦åå¸ãèæ¬å¯¦å¢èæ´å¢å¯¦å¢æè¡æç¨\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62557\n\nE-mailï¼\nanita_hu@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nå¤åªé«è³è¨ç³»çµ±å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨6F 65601)\n\nå人網é ï¼\nhttp://mislab.csie.ncku.edu.tw/trimy")507 self.go_back(update)508 def on_exit_state38(self, update):509 print('Leaving state38')510 511 def on_enter_state39(self, update):512 update.message.reply_text("æ¶åæ å©çææ\n\nå°é·åç 究é å:\nç°è³ªå¹³è¡è¨ç®ãåµå
¥å¼ç³»çµ±è¨è¨èæä½³åãç·¨è¯å¨è¨è¨\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ\n\né»è©±ï¼\n06-2757575 ext 62527\n\nE-mailï¼\nchiaheng@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nåç»ç³»çµ±ç 究實é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨7F 65708)\n\nå人網é ï¼\nhttp://chiaheng.wordpress.com")513 self.go_back(update)514 def on_exit_state39(self, update):515 print('Leaving state39')516 517 def on_enter_state40(self, update):518 update.message.reply_text("æä¿¡æ° å¯ææ\n\nå°é·åç 究é å:\nè»é«å·¥ç¨ã網é èªåå測試ãæåå°åæ¶æ§ãç¨å¼ç¢¼åæãè»é«ä»£ç人\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / è¨ç¶²ä¸å¿\n\né»è©±ï¼\n06-2757575 ext 61035\n\nE-mailï¼\njielee@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nè»é«å·¥ç¨å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨9F 65912)")519 self.go_back(update)520 def on_exit_state40(self, update):521 print('Leaving state40')522 523 def on_enter_state41(self, update):524 update.message.reply_text("å¼µçç´ å©çææ\n\nå°é·åç 究é å:\nè³æææãé²ç«¯éç®å¹³å°æç¨ãè³æ庫管çã系統åæèè¨è¨ãæ¸ä½å¸ç¿ç³»çµ±ãç¨å¼è¨è¨èæ°å¯«ãç¨å¼è¨è¨èæ°å¯«\n\nç³»æå¥ï¼\nè³è¨ç³» / è³è¨æ / è¨ç¶²ä¸å¿\n\né»è©±ï¼\n06-2757575 ext 61053\n\nE-mailï¼\nchangrh@mail.ncku.edu.tw\n\n實é©å®¤ï¼\nåµæ°ç³»çµ±è»é«æç¨å¯¦é©å®¤ (è³è¨ç³»é¤¨æ°å¤§æ¨9F 65912)")525 self.go_back(update)526 def on_exit_state41(self, update):527 print('Leaving state41')528 529 def on_enter_state42(self, update):530 update.message.reply_text("é»æ¬ç¾¤ æ¥çå°å®¶ å
¼ å©çææ\n\nå°é·åç 究é å:\nä½æ¥ç³»çµ±ãåµå
¥å¼ç³»çµ±ãæ¶è²»æ§é»åç¢å\n\nç³»æå¥ï¼\nè³è¨ç³»\n\né»è©±ï¼\n06-2757575 ext 62542\n\nE-mailï¼\njserv.tw@gmail.com\n\nå人網é ï¼\nhttp://wiki.csie.ncku.edu.tw/User/jserv")531 self.go_back(update)532 def on_exit_state42(self, update):533 print('Leaving state42')534 535 def on_enter_statePsychologicalTest(self, update):536 update.message.reply_text("love or personality or work")537 #self.go_back(update)538 def on_exit_statePsychologicalTest(self, update):539 print('Leaving statePsychologicalTest')540 def on_enter_stateLove(self, update):541 update.message.reply_text("ä½ èµ°å¨æ£®æä¸ï¼çªç¶æç¥ç¶ç´æ¯åºç¾ï¼ç¥è¦éä½ ä¸æ¬¾ææ
ç³æï¼ä½ 覺å¾ä»éä½ çæ¯ä¸é¢åªä¸æ¬¾ï¼\naãç´
ç½æ¢ç´ç³\nbã彩è²é½ç³ç³\ncãä¸å½©ææç³\ndãç½è²æ¹ç³\neãæ©è²åå½¢ç³")542 self.go_back(update)543 def on_exit_stateLove(self, update):544 print('Leaving stateLove')545 546 def on_enter_stateLoveA(self, update):547 update.message.reply_text("aãä½ çå¿
修課é¡æ¯ãæ¾ä¸çæèé¢åã\nä½ åæ¡ä¸å人å¾æ顯ï¼ç¼å
總æ¯è¿½èå°æ¹å¨è½ï¼æ¯æ¯éå£é½æ¯èå°æ¹æéç話é¡ï¼ç¶è碰å°ä½ ä¸åæ¡ç人ï¼ä½ ä¹ä¸æ浪費æéå¨ä»èº«ä¸ãå°æ¼ä½ æ好æçå°è±¡ï¼ä½ å»ä¸ä¸å®æåæ°£åç½ï¼ç¸½æ¯ä¸å試æ¢å°æ¹çæ覺ï¼å°±æèªå·±è¡¨é¯æ
ã\næé¢åæ²æé¯ï¼ä½ä½ æææä¹æå çºå¤ªæé¢åèä¸é¡ææ¿èªé¯èª¤ãåæ§æ´»æ½çä½ ï¼å
¶å¯¦ä¸ç¼ºæææ©æãåè¬ä¸è¦å°å°±å¨æ²æå¿åçéä¿ï¼æé¸èä½ å¢ååæµçå°è±¡ï¼æè½å½°é¡¯ä½ èç¼çç¹è³ªã")548 self.go_back(update)549 def on_exit_stateLoveA(self, update):550 print('Leaving stateLoveA')551 552 def on_enter_stateLoveB(self, update):553 update.message.reply_text("bãä½ çå¿
修課é¡æ¯ãå¸ç¿æ¾ä¸æ¦è£èé¢å
·ã\nä½ æ¯åå¤æåæç人ï¼å¨ææ
ä¸åéä¸å°å·å®³ï¼ç«¥å¹´ä¸åéè¦çé°å½±ãéå°å¹´ååççå·ææ ï¼ï¼å°è´ç¾å¨çä½ å°ææ
缺ä¹ä¿¡å¿ãçºäºä¿è·èªå·±æ¦è£æå°é³ãé£ä»¥ææ¸ç人ãå
¶å¯¦ä½ çå
§å¿æ¯å®ç´è渴ææçï¼ååä½ èæ¯æä¸èä½ ä¸åä¸çç人ï¼è®ä½ é·å
¥ç¡æ¢å¢ççå¿éæ²ã\næå¾ï¼ä½ åªå¥½æµé£æ¼ææ§éä¿ï¼å¿è»èå¼±çä½ ï¼å çºå®³æå¯å¯ï¼å¿è£¡é¢å
¶å¯¦æ²æå®å
¨æå»åæ¨ä¸å¾æ¾æï¼å°è´èªå·±ä¸æ·è¼ªè¿´ãæ¯è©²è®èªå·±è§£è«çæåäºï¼æ½èº«ï¼å
¶å¯¦æ¯ä½ æ³çé容æã")554 self.go_back(update)555 def on_exit_stateLoveB(self, update):556 print('Leaving stateLoveB')557 558 def on_enter_stateLoveC(self, update):559 update.message.reply_text("cãä½ çå¿
修課é¡æ¯ãæ¾ä¸å°ææ
ççæ³åï¼æ¾å平衡æã\nä½ å°æ¼ææ
æ±æè太ç¾å¥½çæ§æ¬ï¼ä½ 渴æå¦ä¸åå¯ä»¥å¾¹åºäºè§£ä½ çæ³æ³ï¼æ以ç¶å
©äººå çºæäºäºèæè¦ä¸åæï¼ä½ ææå°é常沮åªãç¶èï¼å¨å樣çé·ç°å¢ä¸çå§å¦¹é½ææè¦ä¸åçæåï¼æ´ä½æ³æ¯ä¸åçé·å®¶åºãç°å¢é½ä¸åç人ã\nä½ éè¦å¨å¤¢æ³èç¾å¯¦éæ±å¾å¹³è¡¡ãå¸ç¿å¨é»è©çéä¿ä¸ï¼æ¾åç¨èæçå¹³éãç¶ä½ å¸æ寬宥èªå·±èå°æ¹ï¼ä½ å°ææåå°æ´èªå¨çæ
æéä¿ã")560 self.go_back(update)561 def on_exit_stateLoveC(self, update):562 print('Leaving stateLoveC')563 564 def on_enter_stateLoveD(self, update):565 update.message.reply_text("dãä½ çå¿
修課é¡æ¯ãæ¾åå°èªå·±çèªä¿¡ã\nä½ æ ¹æ¬éæ²æºå好è«ææï¼åææ¯å°ææå¿åææ¼ï¼å®³æèªå·±æ²è³æ ¼è¢«æï¼æèªå·±é½ç
§é¡§ä¸å¥½èªå·±äºï¼å¦ä½å»å°å¥äººå¥½ï¼ä½ çåé¡å¨æ¼å°èªå·±ç¼ºä¹èªä¿¡ï¼ç¿æ
£æäºæ
æ³ç太æ²è§ä¾åèªå·±ã\nåæ³ä¸ä¸ä½ ææå¿éçäºï¼æ¯å¦æ許å¤ä¸æ¾ç¼çãè®èªå·±ç½æå¿ä¸å ´å¢ï¼é£éº½ï¼ä½ éå¨æå¿ä»éº½å¢ï¼åæ¢å»æå§ãç¸ä¿¡èªå·±å¼å¾è¢«æï¼ä½ ä¹æè½åå»æå¥äººã")566 self.go_back(update)567 def on_exit_stateLoveD(self, update):568 print('Leaving stateLoveD')569 570 def on_enter_stateLoveE(self, update):571 update.message.reply_text("eãä½ çå¿
修課é¡æ¯ãå¸æç¨ç«ï¼æ¾ä¸å®³æ被忽ç¥çæåã\nå¨ææ
é¢åï¼ä½ éæ¯åå©åï¼è²ªç©ãä»»æ§ãä¾è³´ãå®èº«æï¼ä½ ä¾è³´ä½ ç家人ãä½ çé¨èï¼è«ææãçµå©å¾ï¼ä¾è³´ä½ çå¦ä¸åã好å¥çä½ åæ¡åãçºä»éº½ï¼ãå¾ä¸å°æ»¿æççæ¡ä¾¿èªé¡§èªççæ°£ãä¸åæ¡è¢«å°æ¹å¿½ç¥çæ覺ï¼å»å¸¸å çºå°æ³¨å¨èªå·±çè趣è忽ç¥å°æ¹ã\næä¸ä½ å¾æç
§é¡§å©åçå¿çæºåãä½ è¦å¸æçï¼æ¯ç¨ç«ï¼ä¸è¦æå¿å¦ä¸åéä¸å»æ²æ³ä½ ï¼å°±ææä½ å¿è¨ãè¦ç¥éï¼æä¸å人æ¯æ¾å¨å¿ä¸ï¼èä¸æ¯æå¨å´éã")572 self.go_back(update)573 def on_exit_stateLoveE(self, update):574 print('Leaving stateLoveE')575 def on_enter_statePersonality(self, update):576 update.message.reply_text("å¦æè¦ä½ é¨èº«æ帶ã幸é符ãï¼ä½ ææå®æ¾å¨åªè£¡ï¼ä»¥ä¿ä½ä½ å¹³å®å¢ï¼\naãæ¾å¨å
§è¡£è£¡\nbãæ¾å¨é¨èº«çå
å
ä¸\ncãæå¨ææ©ä¸\ndãç¶æé
éææéæå¨èº«ä¸")577 #self.go_back(update)578 def on_exit_statePersonality(self, update):579 print('Leaving statePersonality')580 def on_enter_statePersonalityA(self, update):581 update.message.reply_text("aãç·å¼µå¤§å¸«ææ¸ï¼100% \nä½ æ¯å¤§å¤¥äººç¼ä¸çç·å¼µå¤§å¸«ï¼åªè¦ä½ ä¸ç·å¼µèµ·ä¾ï¼èè²å°±è·èé£çï¼èº«æç人é½ææåå°ä½ çç·å¼µæ°£æ°ãå çºä½ çåæ§æ¥ï¼éä¸çæ³æ¥è快快解決ï¼èæªè½æèå®åå°±è¡åï¼åèæé·å
¥å¦ä¸å麻ç
©ä¸ã")582 self.go_back(update)583 def on_exit_statePersonalityA(self, update):584 print('Leaving statePersonalityA')585 def on_enter_statePersonalityB(self, update):586 update.message.reply_text("bãç·å¼µå¤§å¸«ææ¸ï¼50% \nä½ ä¸æéæ¼ç·å¼µï¼å çºä»»ä½äºæ
å°ä½ ä¾èªªï¼é½æ¯æ解決æ¹æ³çï¼èå
¶è±è²»å¤ªå¤æéï¼è®èªå·±é·å
¥ç¦æ
®çè¦ççæ
ï¼ä¸å¦èç¥å¨å¨ï¼çå°äºæ
ç¼çåå»æèã")587 self.go_back(update)588 def on_exit_statePersonalityB(self, update):589 print('Leaving statePersonalityB')590 def on_enter_statePersonalityC(self, update):591 update.message.reply_text("cãç·å¼µå¤§å¸«ææ¸ï¼20% \nä½ ç¥ç¶ç®æäºå¤§æ¢ï¼ææåäºæ
大家é½ç¥éäºï¼ä½ ææç¶å¤§æï¼å¯ä»¥èªªå¸¸å¨çæ³å¤ãä½ä½ å»å¾å®¹æå人影é¿ï¼åªè¦è¦ªæ好åç·å¼µå
®å
®å°æ¾ä½ åéäºæ
ï¼å³ä½¿ä½ éæä¸æ¸
æ¥çæ³ï¼ä¹è·èä¸èµ·çª®ç·å¼µï¼")592 self.go_back(update)593 def on_exit_statePersonalityC(self, update):594 print('Leaving statePersonalityC')595 def on_enter_statePersonalityD(self, update):596 update.message.reply_text("dãç·å¼µå¤§å¸«ææ¸ï¼80%\nä½ æ¯ä¸å滿容æç·å¼µç人ï¼ä¸é»é¢¨å¹èåï¼å°±æè®ä½ è¡æäºæ³èµ·ä¾ï¼è¦æ¯ççç¼ç大äºï¼å¾å®¹æå¾å£èæ³ãèä½ åä¸æ³è®å¥äººç¼ç¾èåªåæä½ï¼ç¡å½¢ä¸è®ä½ çç²¾ç¥ã身é«é½é·æèæ¼ç·å¼µççæ
ï¼")597 self.go_back(update)598 def on_exit_statePersonalityD(self, update):599 print('Leaving statePersonalityD')600 def on_enter_stateWork(self, update):601 update.message.reply_text("å¦æä½ æ¯ä¸å®¶å¤§ä¼æ¥çè² è²¬äººï¼æä¸ä½å¹´è¼è²ç¾çç§äººç§æ¸ï¼ä½ ææ¬è¦å®å¥¹çä¸çæè£ï¼ä½ èªçºä¸åä½è
è¼ç¬¦åä½ çæ³æ³ï¼\naãä¿å®çå¥è£è£é·éèæ顯å¾èé\nbãçªé¡¯èº«æççªè£ä¸ä½å¯ä»¥å¸¶åºå»æé
¬èªå·±ä¹è³å¿æ
ç®\ncãä¸å¾åå
¶ä»è·å¡ä¸æ¨£ç©¿å·¥ä½æå
¬å¸è¦æ³¨æç´å¾\ndãä»»å
¶èªç±ç©¿è")602 #self.go_back(update)603 def on_exit_stateWork(self, update):604 print('Leaving stateWork')605 def on_enter_stateWorkA(self, update):606 update.message.reply_text("aãä¿å®çå¥è£è£é·éèæ顯å¾èé\nä½ æ¯å平常çèµ·ä¾å¾æ£æ¼«ï¼å¯¦éä¸åªè¦æå
¥å·¥ä½ä¾¿ä¸æ¬æ£ç¶ç人ãèªçæ¯ä½ ä¸è²«çåäºæ¹å¼ï¼èä¸åæ¼è² 責ï¼çµ²æ¯«ä¸é¦¬èï¼ä½ æçæ¨æ·è¡äºäºçå·¥ä½æ
度ï¼æä»¥ä½ æ¯å足çå·¥ä½çã")607 self.go_back(update)608 def on_exit_stateWorkA(self, update):609 print('Leaving stateWorkA')610 def on_enter_stateWorkB(self, update):611 update.message.reply_text("bãçªé¡¯èº«æççªè£ä¸ä½å¯ä»¥å¸¶åºå»æé
¬èªå·±ä¹è³å¿æ
ç®\nä½ å¾è°ææ©éï¼æå¾å¨è©²åªåçæååªåå·¥ä½ï¼è½å·æ¶çæåä¹ä¸æ¾éä¼æ¯çæ©æï¼æä»¥ä½ å¨å·¥ä½æç²¾ç¥ç¹å¥å¥½ï¼é滿注æå·¥ä½ç°å¢çæ
調ï¼ä½ åªè½èªªæ¯çèµ·ä¾è±¡åå·¥ä½çã")612 self.go_back(update)613 def on_exit_stateWorkB(self, update):614 print('Leaving stateWorkB')615 def on_enter_stateWorkC(self, update):616 update.message.reply_text("cãä¸å¾åå
¶ä»è·å¡ä¸æ¨£ç©¿å·¥ä½æå
¬å¸è¦æ³¨æç´å¾\nä½ æ¯åå
¬ç§åæç人ï¼éç¶è«ä¸ä¸æ¯åå·¥ä½çï¼ä½æ¯åªè¦è¾¦å
¬äºæï¼ä½ ä¸åæ¡æ¶åç§äººçäºæ
ï¼åºæ¬ä¸ä½ ä¹ç®å·¥ä½çåç人ç©ã")617 self.go_back(update)618 def on_exit_stateWorkC(self, update):619 print('Leaving stateWorkC')620 def on_enter_stateWorkD(self, update):621 update.message.reply_text("dãä»»å
¶èªç±ç©¿è\nä½ æ¯åå¥æå人ç©ï¼æ¯è¼æ
é·çåæ§çå·¥ä½ï¼å¦æèªçèµ·ä¾ï¼åäºä¸çµ²ä¸èï¼ä½æ¯å¦æä½ æ ¹æ¬æ²è趣ï¼ä½ å°±ææªå¡éå»ï¼ä¸å¤§çæãæä»¥ä½ æ¯ä¸æ¯å·¥ä½çï¼å®å
¨è¦å·¥ä½æ§è³ªèå®ã")622 self.go_back(update)623 def on_exit_stateWorkD(self, update):624 print('Leaving stateWorkD')625 def on_enter_stateChat(self, update):626 update.message.reply_text("Hi!")627 #self.go_back(update)628 def on_exit_stateChat(self, update):629 print('Leaving stateChat')630 def on_enter_stateChat1(self, update):631 update.message.reply_text("How are you?")632 #self.go_back(update)633 def on_exit_stateChat1(self, update):634 print('Leaving stateChat1')635 def on_enter_stateChat2(self, update):636 update.message.reply_text("Are you single?")637 #self.go_back(update)638 def on_exit_stateChat2(self, update):639 print('Leaving stateChat2')640 def on_enter_stateChat3(self, update):641 update.message.reply_text("Ok~This is for you.\nhttps://youtu.be/WCpKhCyqmFE")642 self.go_back(update)643 def on_exit_stateChat3(self, update):644 print('Leaving stateChat3')645 def on_enter_stateChat4(self, update):646 update.message.reply_text("Congratulations!\n")647 update.message.reply_photo('https://pbs.twimg.com/media/DB4AHDFU0AEu6G4.jpg')648 self.go_back(update)649 def on_exit_stateChat4(self, update):650 print('Leaving stateChat4')651 def on_enter_stateJoke(self, update):652 update.message.reply_text("normal or turbo")653 #self.go_back(update)654 def on_exit_stateJoke(self, update):655 print('Leaving stateJoke')656 def on_enter_stateJokeNormal(self, update):657 update.message.reply_text("æä¸å¤©ç¸½çµ±ä¸å°å¿æå°æ°´æºéäº.æ°å¥½æä¸åå°å©ç¶é\n總統就å°ä»å說:ãå¦æä½ åææèµ·ä¾æå°±çµ¦ä½ åæ¯äººä¸åé¡æã\n第ä¸åå°å©å°±èªªä»è¦ä¸è¼è
³è¸è»\n第äºåå°å©å°±èªªä»è¦ä¸åæ£çæå¥\n第ä¸åå°å©æ³äºå¾ä¹
說ä»è¦ä¸å°è¼ªæ¤
\n總統å¿é就覺å¾å¾å¥æªæè
³å¥½å¥½ççºä»éº¼éè¦è¼ªæ¤
å¢?\nå°±å第ä¸åå°å©èªª:ãä½ çºä»éº¼è¦è¼ªæ¤
å¢?ã\n第ä¸åå°å©å°±èªª:ãå¦ææç¸ç¥éææä½ èµ·ä¾æææçè
¿ææ·ã\n")658 self.go_back(update)659 def on_exit_stateJokeNormal(self, update):660 print('Leaving stateJokeNormal')661 def on_enter_stateJokeTurbo(self, update):662 update.message.reply_text("æå人ï¼ä¾å°æ¬å°ä¸å®¶å¥èº«é¤¨æ³æ¸è¥ï¼å¥½ä½¿èªå·±èæ¢äºï¼å¥èº«é¤¨è£¡åæå種å¥èº«è¨åï¼çä¾æºè¤éï¼æ¼æ¯ï¼éå¢ä¼é¸äºä¸ç¨®æ便å®çï¼å°±æ¯å¨ä¸å°æå
§æ¸æä¸ç£
ãä»è¢«å¸¶å°ä¸éæ¿å裡ï¼è£¡é¢ç«èä¸å赤裸ç女å©åï¼æ裡æ¿èåçåï¼ä¸é¢å¯«éï¼ãå¦æä½ è½æä½æï¼å°±å
è¨±ä½ å¹¹æï¼ãéå¢ä¼ç«å³æ¥åäºææ°ï¼éå§è¿½é女å©ï¼ä½æ¯æ¬¡é½æ¯å¿«è¦æä½å¥³å©æï¼å給她è·æï¼ä¸åå°æéå»äºï¼ä»ä»æ²ææä½é£å女å©ï¼å¥èº«æ練帶ä»å»ç¨±äºä¸ä¸é«éï¼å好å°äºä¸ç£
ããéæºä¸é¯åï¼ãéå¢ä¼å¿æ³ï¼ãææ¢è½æ¸è¥ï¼åè½éå¿è¶ãã\né次ï¼ä»é¸äºä¸åç¨è²´äºçæ¸è¥æ¹æ¡ï¼å¯ä»¥å¨ä¸å°æå
§æ¸å»å
©ç£
ãä»è¢«å¸¶å°ä¸éæ¿è£¡ï¼è£¡é¢ç«èå
©ä½å
¨è£¸ç女å©ï¼æ裡é½æ¿èçåï¼ä¸é¢ä¹å¯«éï¼ãå¦æä½ è½æä½æï¼å°±å
è¨±ä½ å¹¹æï¼ãéå¢ä¼ååè奮ï¼æå½å°è¿½è¶éå
©å女å©åï¼æå¾éæ¯ä¸åä¹æ²è¿½å°ï¼ä¸å°æå¾ï¼æç·´å給ä»ç¨±äºä¸é«éï¼å好æäºå
©ç£
èã\néæï¼éå¢ä¼è¢«æ¿æäºï¼ä»å訴ç¶çï¼ä»è¦é¸ç¨æè²´çæ¸è¥æ¹æ¡ï¼ç¶çåä»ä¿èä»ä¸å®è½å¤ å¨ä¸å°æå
§æ¸å»åç£
ï¼ä½æ¯åè£å
說ï¼éåæ¹æ¡ååå±éªï¼éå¢ä¼å¿æ³ï¼ä¸å°±æ¯åå¤å¹¾å女å©åï¼è¶å¤å°±è¶ææ©æï¼è³å°è½å¤ æä½ä¸åå§ãä»å¬ç¶çè¶å¿«æä»éå°é£åæè²´çæ¿éå»ï¼å管ç¶çä¸æ·åä»è²æå±éªãæ¼æ¯ï¼é人被帶å°ä¸åç¨é äºçä¸éæ¿å裡ï¼ä»åè®ä»é²å»å¾ï¼å¨å¤é¢éä¸äºéï¼æ¿é裡çå
ææï¼çå¾
ä»çæ¯ä¸é»é»ç©ç©ï¼åªè¦å®æ裡æ¿èä¸åçåï¼ä¸é¢å¯«éï¼ãå¦æææä½ä½ ï¼æå°±å¹¹ä½ ã")663 self.go_back(update)664 def on_exit_stateJokeTurbo(self, update):...
menu.py
Source:menu.py
...97 menu_count = main.main_menu_switcher(main.activated)98 # "7. ÐапÑоÑ: ÐвÑомобили в пÑокаÑе"99 elif position == 6:100 request.rent_request()101 go_back()102 # "8. СоÑ
Ñанение в Ñайл"103 elif position == 7:104 file.save_file()105 go_back()106 # "9. ÐагÑÑзка из Ñайла"107 elif position == 8:108 file.load_file()109 go_back()110 # "i. СпÑавка"111 elif position == 9:112 show_info()113 go_back()114 # "0. ÐÑÑ
од"115 elif position == 10:116 return 0117 else:118 # "1. Ðаполнение ÑаблиÑÑ"119 if position == 0:120 menu_count = const.FILL_LIST_MENU_COUNT121 menu(const.FILL_LIST_MENU_MODE, menu_count)122 menu_count = main.main_menu_switcher(main.activated)123 # "2. ÐагÑÑзка из Ñайла"124 elif position == 1:125 file.load_file()126 go_back()127 # "i. СпÑавка"128 elif position == 2:129 show_info()130 go_back()131 # "0. ÐÑÑ
од"132 elif position == 3:133 return 0134 elif mode == const.PRINT_LIST_MENU_MODE:135 if position == 0:136 out.print_employee_table()137 go_back()138 elif position == 1:139 out.print_position_table()140 go_back()141 elif position == 2:142 out.print_brand_table()143 go_back()144 elif position == 3:145 out.print_service_table()146 go_back()147 elif position == 4:148 out.print_car_table()149 go_back()150 elif position == 5:151 out.print_client_table()152 go_back()153 elif position == 6:154 out.print_rent_table()155 go_back()156 elif mode == const.FILL_LIST_MENU_MODE:157 if position == 0:158 fill.fill_employee_table(main.table_row[const.EMPLOYEE_TABLE])159 go_back()160 elif position == 1:161 fill.fill_position_table(main.table_row[const.POSITION_TABLE])162 go_back()163 elif position == 2:164 fill.fill_brand_table(main.table_row[const.BRAND_TABLE])165 go_back()166 elif position == 3:167 fill.fill_service_table(main.table_row[const.SERVICE_TABLE])168 go_back()169 elif position == 4:170 fill.fill_car_table(main.table_row[const.CAR_TABLE])171 go_back()172 elif position == 5:173 fill.fill_client_table(main.table_row[const.CLIENT_TABLE])174 go_back()175 elif position == 6:176 fill.fill_rent_table(main.table_row[const.RENT_TABLE])177 go_back()178 elif mode == const.ADD_LIST_MENU_MODE or mode == const.DELETE_LIST_MENU_MODE:179 if position == 0:180 edit.edit_employee_table()181 go_back()182 elif position == 1:183 edit.edit_position_table()184 go_back()185 elif position == 2:186 edit.edit_brand_table()187 go_back()188 elif position == 3:189 edit.edit_service_table()190 go_back()191 elif position == 4:192 edit.edit_car_table()193 go_back()194 elif position == 5:195 edit.edit_client_table()196 go_back()197 elif position == 6:198 edit.edit_rent_table()199 go_back()200 elif mode == const.REQUEST_HRD_LIST_MENU_MODE:201 if position == 0:202 request.hrd_request()203 go_back()204 elif position == 1:205 request.hrd_filter_specific_position()206 go_back()207 elif mode == const.REQUEST_AUTOPARK_LIST_MENU_MODE:208 if position == 0:209 request.autopark_request()210 go_back()211 elif position == 1:212 request.autopark_filter_specific_brand()213 go_back()214 elif position == 2:215 request.autopark_filter_in_and_off_rent()216 go_back()217 elif position == 3:218 request.autopark_filter_specific_delivery_and_return_date()219 go_back()220 elif position == 4:221 request.autopark_filter_paid_and_unpaid_rented_cars()222 go_back()223 # ÐеÑеÑиÑовка224 if mode == const.MAIN_MENU_MODE:225 show_main_menu(cursor)226 elif mode == const.PRINT_LIST_MENU_MODE:227 show_print_list_menu(cursor)228 elif mode == const.FILL_LIST_MENU_MODE:229 show_fill_list_menu(cursor)230 elif mode == const.ADD_LIST_MENU_MODE:231 show_add_list_menu(cursor)232 elif mode == const.DELETE_LIST_MENU_MODE:233 show_delete_list_menu(cursor)234 elif mode == const.REQUEST_HRD_LIST_MENU_MODE:235 show_request_hrd_list_menu(cursor)236 elif mode == const.REQUEST_AUTOPARK_LIST_MENU_MODE:237 show_request_autopark_list_menu(cursor)238def show_main_menu(cur):239 os.system("clear")240 print("\t\t _____ _____ _____ _ _ _____ _____")241 print("\t\t| | | \\ / \\ | | | | / \\ |__ __|")242 print("\t\t| | | | | <=> | | | | | | |/ / | <=> | | |")243 print("\t\t| | | | | ___/ | | | | | | | _ | | |")244 print("\t\t| | | | | | | | | | | |\\ \\ | | | | | |")245 print("\t\t|_| |_| |_| \\_____/ |_| |_| |_| |_| |_|\n")246 print("\t\t _____ _____ _____ _____")247 print("\t\t / \\ | \\ |__ __| / \\")248 print("\t\t | <=> | | <=> | | | | | | |")249 print("\t\t | _ | | < | | | | | |")250 print("\t\t | | | | | <=> | | | | | | |")251 print("\t\t |_| |_| |_____/ |_| \\_____/\n\n")252 if main.activated:253 print("\t\t %s 1. ÐÑвод ÑаблиÑÑ" % (cur[0]))254 print("\t\t %s 2. Ðаполнение ÑаблиÑÑ" % (cur[1]))255 print("\t\t %s 3. Ðобавление ÑлеменÑов в ÑаблиÑÑ" % (cur[2]))256 print("\t\t %s 4. Удаление ÑлеменÑов из ÑаблиÑÑ" % (cur[3]))257 print("\t\t ___________________________________\n")258 print("\t\t %s 5. ÐапÑоÑ: ÐÑдел кадÑов" % (cur[4]))259 print("\t\t %s 6. ÐапÑоÑ: ÐвÑопаÑк" % (cur[5]))260 print("\t\t %s 7. ÐапÑоÑ: ÐвÑомобили в пÑокаÑе" % (cur[6]))261 print("\t\t ___________________________________\n")262 print("\t\t %s 8. СоÑ
Ñанение в Ñайл" % (cur[7]))263 print("\t\t %s 9. ÐагÑÑзка из Ñайла" % (cur[8]))264 print("\t\t ___________________________________\n")265 print("\t\t %s i. СпÑавка" % (cur[9]))266 print("\t\t %s 0. ÐÑÑ
од" % (cur[10]))267 else:268 print("\t\t %s 1. Ðаполнение ÑаблиÑÑ" % (cur[0]))269 print("\t\t ___________________________________\n")270 print("\t\t %s 2. ÐагÑÑзка из Ñайла" % (cur[1]))271 print("\t\t ___________________________________\n")272 print("\t\t %s i. СпÑавка" % (cur[2]))273 print("\t\t %s 0. ÐÑÑ
од" % (cur[3]))274def show_print_list_menu(cur):275 os.system("clear")276 print("\n\n\t\tÐакÑÑ ÑаблиÑÑ ÐÑ Ñ
оÑиÑе вÑвеÑÑи:")277 print("\t\t %s 1. СоÑÑÑдники" % (cur[0]))278 print("\t\t %s 2. ÐолжноÑÑи" % (cur[1]))279 print("\t\t %s 3. ÐаÑки авÑомобилей" % (cur[2]))280 print("\t\t %s 4. ÐополниÑелÑнÑе ÑÑлÑги" % (cur[3]))281 print("\t\t %s 5. ÐвÑомобили" % (cur[4]))282 print("\t\t %s 6. ÐлиенÑÑ" % (cur[5]))283 print("\t\t %s 7. ÐÑокаÑ" % (cur[6]))284def show_fill_list_menu(cur):285 os.system("clear")286 print("\n\n\t\tÐакÑÑ ÑаблиÑÑ ÐÑ Ñ
оÑиÑе заполниÑÑ:")287 print("\t\t %s 1. СоÑÑÑдники" % (cur[0]))288 print("\t\t %s 2. ÐолжноÑÑи" % (cur[1]))289 print("\t\t %s 3. ÐаÑки авÑомобилей" % (cur[2]))290 print("\t\t %s 4. ÐополниÑелÑнÑе ÑÑлÑги" % (cur[3]))291 print("\t\t %s 5. ÐвÑомобили" % (cur[4]))292 print("\t\t %s 6. ÐлиенÑÑ" % (cur[5]))293 print("\t\t %s 7. ÐÑокаÑ" % (cur[6]))294def show_add_list_menu(cur):295 os.system("clear")296 print("\n\n\t\tРкакÑÑ ÑаблиÑÑ ÐÑ Ñ
оÑиÑе добавиÑÑ ÑлеменÑ:")297 print("\t\t %s 1. СоÑÑÑдники" % (cur[0]))298 print("\t\t %s 2. ÐолжноÑÑи" % (cur[1]))299 print("\t\t %s 3. ÐаÑки авÑомобилей" % (cur[2]))300 print("\t\t %s 4. ÐополниÑелÑнÑе ÑÑлÑги" % (cur[3]))301 print("\t\t %s 5. ÐвÑомобили" % (cur[4]))302 print("\t\t %s 6. ÐлиенÑÑ" % (cur[5]))303 print("\t\t %s 7. ÐÑокаÑ" % (cur[6]))304def show_delete_list_menu(cur):305 os.system("clear")306 print("\n\n\t\tРкакÑÑ ÑаблиÑÑ ÐÑ Ñ
оÑиÑе добавиÑÑ ÑлеменÑ:")307 print("\t\t %s 1. СоÑÑÑдники" % (cur[0]))308 print("\t\t %s 2. ÐолжноÑÑи" % (cur[1]))309 print("\t\t %s 3. ÐаÑки авÑомобилей" % (cur[2]))310 print("\t\t %s 4. ÐополниÑелÑнÑе ÑÑлÑги" % (cur[3]))311 print("\t\t %s 5. ÐвÑомобили" % (cur[4]))312 print("\t\t %s 6. ÐлиенÑÑ" % (cur[5]))313 print("\t\t %s 7. ÐÑокаÑ" % (cur[6]))314def show_request_hrd_list_menu(cur):315 os.system("clear")316 print("\n\n\t\tÐÑбеÑиÑе Ñежим:")317 print("\t\t %s ÐапÑÐ¾Ñ \"ÐÑдел кадÑов\"" % (cur[0]))318 print("\t\t %s ФилÑÑÑ Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑоÑÑÑдников оÑделÑнÑÑ
должноÑÑей" % (cur[1]))319def show_request_autopark_list_menu(cur):320 os.system("clear")321 print("\n\n\t\tÐÑбеÑиÑе Ñежим:")322 print("\t\t %s ÐапÑÐ¾Ñ \"ÐвÑопаÑк\"" % (cur[0]))323 print("\t\t %s ФилÑÑÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð°Ð²Ñомобилей оÑделÑнÑÑ
маÑок" % (cur[1]))324 print("\t\t %s ФилÑÑÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð°Ð²Ñомобилей, наÑ
одÑÑиÑ
ÑÑ Ð¸ не наÑ
одÑÑиÑ
ÑÑ Ð² пÑокаÑе" % (cur[2]))325 print("\t\t %s ФилÑÑÑ Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð°Ð²Ñомобилей вÑданнÑÑ
и возвÑаÑÑннÑÑ
в опÑеделÑннÑÑ Ð´Ð°ÑÑ" % (cur[3]))326 print("\t\t %s ФилÑÑÑ Ð¾Ð¿Ð»Ð°ÑеннÑÑ
и не оплаÑеннÑÑ
авÑомобилей в пÑокаÑе" % (cur[4]))327def show_info():328 os.system("clear")329 print("\n\n\t\tСпÑавка:\n")330 print("\t\tÐÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÐ½Ñ Ð¸ÑполÑзÑÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑнÑе ÑÑÑелки")331 print("\t\tлибо vi-подобнÑе клавиÑи ÑпÑавлениÑ:")332 print("\t\t^ или k -- пеÑемеÑение ввеÑÑ
")333 print("\t\tv или j -- пеÑемеÑение вниз")334 print("\t\t< или h или Esc -- пеÑемеÑение назад по менÑ")335 print("\t\t> или l или Enter -- вÑÐ±Ð¾Ñ Ð¿ÑнкÑа менÑ\n")336 print("\t\tÐÑполнил кÑÑÑовой пÑоекÑ: блаблабла\n") # TODO: поÑÑÐ°Ð²Ñ ÑÑда Ñвое имÑ337 print("\t\tÐажмиÑе < или h или Esc, ÑÑÐ¾Ð±Ñ Ð²ÑйÑи в главное менÑ.")338def go_back():339 while True:340 os.system("stty raw -echo")341 c = sys.stdin.read(1)342 os.system("stty -raw echo")343 if c == 'h':...
shell_options.py
Source:shell_options.py
1#!/usr/bin/env python2# encoding: UTF-83"""4This file is part of Commix Project (https://commixproject.com).5Copyright (c) 2014-2022 Anastasios Stasinopoulos (@ancst).6This program is free software: you can redistribute it and/or modify7it under the terms of the GNU General Public License as published by8the Free Software Foundation, either version 3 of the License, or9(at your option) any later version.10 11For more see the file 'readme/COPYING' for copying permission.12"""13import re14import os15import sys16import time17from src.utils import logs18from src.utils import menu19from src.utils import settings20from src.core.shells import bind_tcp21from src.core.shells import reverse_tcp22from src.core.injections.controller import checks23from src.thirdparty.six.moves import urllib as _urllib24from src.thirdparty.colorama import Fore, Back, Style, init25from src.core.injections.results_based.techniques.classic import cb_injector26from src.core.injections.results_based.techniques.eval_based import eb_injector27from src.core.injections.semiblind.techniques.file_based import fb_injector28"""29Check for established connection30"""31def check_established_connection():32 while True:33 time.sleep(1)34 if settings.VERBOSITY_LEVEL == 1:35 print(settings.SINGLE_WHITESPACE)36 warn_msg = "Something went wrong with the reverse TCP connection."37 warn_msg += " Please wait while checking state."38 print(settings.print_warning_msg(warn_msg))39 lines = os.popen('netstat -anta').read().split("\n")40 for line in lines:41 if settings.LHOST + ":" + settings.LPORT in line and "ESTABLISHED" in line:42 pass43 else:44 return 45"""46Execute the bind / reverse TCP shell47"""48def execute_shell(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, payload, OUTPUT_TEXTFILE):49 if settings.EVAL_BASED_STATE != False:50 # Command execution results.51 start = time.time()52 response = eb_injector.injection(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename)53 end = time.time()54 diff = end - start55 # Evaluate injection results.56 shell = eb_injector.injection_results(response, TAG, cmd)57 else:58 # Command execution results.59 start = time.time()60 if settings.FILE_BASED_STATE == True:61 response = fb_injector.injection(separator, payload, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)62 else:63 whitespace = settings.WHITESPACES[0]64 if whitespace == " ":65 whitespace = _urllib.parse.quote(whitespace) 66 response = cb_injector.injection(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename)67 end = time.time()68 diff = end - start69 # Evaluate injection results.70 shell = cb_injector.injection_results(response, TAG, cmd)71 if settings.REVERSE_TCP and (int(diff) > 0 and int(diff) < 6):72 check_established_connection()73 else:74 if settings.VERBOSITY_LEVEL == 1:75 print(settings.SINGLE_WHITESPACE)76 err_msg = "The " + os_shell_option.split("_")[0] + " "77 err_msg += os_shell_option.split("_")[1].upper() + " connection has failed."78 print(settings.print_critical_msg(err_msg))79"""80Configure the bind TCP shell81"""82def bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE):83 settings.BIND_TCP = True84 # Set up RHOST / LPORT for the bind TCP connection.85 bind_tcp.configure_bind_tcp(separator)86 if settings.BIND_TCP == False:87 if settings.REVERSE_TCP == True:88 os_shell_option = "reverse_tcp"89 reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)90 return go_back, go_back_again91 while True:92 if settings.RHOST and settings.LPORT in settings.SHELL_OPTIONS:93 result = checks.check_bind_tcp_options(settings.RHOST)94 else: 95 cmd = bind_tcp.bind_tcp_options(separator)96 result = checks.check_bind_tcp_options(cmd)97 if result != None:98 if result == 0:99 go_back_again = False100 elif result == 1 or result == 2:101 go_back_again = True102 settings.BIND_TCP = False103 elif result == 3:104 settings.BIND_TCP = False105 reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE) 106 return go_back, go_back_again107 # execute bind TCP shell 108 execute_shell(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, payload, OUTPUT_TEXTFILE)109"""110Configure the reverse TCP shell111"""112def reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE):113 settings.REVERSE_TCP = True114 # Set up LHOST / LPORT for the reverse TCP connection.115 reverse_tcp.configure_reverse_tcp(separator)116 if settings.REVERSE_TCP == False:117 if settings.BIND_TCP == True:118 os_shell_option = "bind_tcp"119 bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)120 return go_back, go_back_again121 while True:122 if settings.LHOST and settings.LPORT in settings.SHELL_OPTIONS:123 result = checks.check_reverse_tcp_options(settings.LHOST)124 else: 125 cmd = reverse_tcp.reverse_tcp_options(separator)126 result = checks.check_reverse_tcp_options(cmd)127 if result != None:128 if result == 0:129 go_back_again = False130 elif result == 1 or result == 2:131 go_back_again = True132 settings.REVERSE_TCP = False133 elif result == 3:134 settings.REVERSE_TCP = False135 bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)136 #reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again) 137 return go_back, go_back_again138 # execute reverse TCP shell 139 execute_shell(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, payload, OUTPUT_TEXTFILE)140"""141Check commix shell options142"""143def check_option(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, technique, go_back, no_result, timesec, go_back_again, payload, OUTPUT_TEXTFILE):144 os_shell_option = checks.check_os_shell_options(cmd.lower(), technique, go_back, no_result) 145 if os_shell_option == "back" or os_shell_option == True or os_shell_option == False:146 go_back = True147 if os_shell_option == False:148 go_back_again = True149 return go_back, go_back_again150 # The "os_shell" option151 elif os_shell_option == "os_shell": 152 warn_msg = "You are already into the '" + os_shell_option + "' mode."153 print(settings.print_warning_msg(warn_msg))154 return go_back, go_back_again155 # The "bind_tcp" option156 elif os_shell_option == "bind_tcp":157 go_back, go_back_again = bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)158 return go_back, go_back_again159 # The "reverse_tcp" option160 elif os_shell_option == "reverse_tcp":161 go_back, go_back_again = reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)162 return go_back, go_back_again163 # The "quit" option164 elif os_shell_option == "quit": 165 logs.print_logs_notification(filename, url) 166 raise SystemExit()167 else:...
12425_shell_options.py
Source:12425_shell_options.py
1#!/usr/bin/env python2# encoding: UTF-83"""4This file is part of Commix Project (http://commixproject.com).5Copyright (c) 2014-2017 Anastasios Stasinopoulos (@ancst).6This program is free software: you can redistribute it and/or modify7it under the terms of the GNU General Public License as published by8the Free Software Foundation, either version 3 of the License, or9(at your option) any later version.10 11For more see the file 'readme/COPYING' for copying permission.12"""13import re14import os15import sys16import time17import urllib18import urlparse19from src.utils import menu20from src.utils import settings21from src.core.injections.controller import checks22from src.thirdparty.colorama import Fore, Back, Style, init23from src.core.shells import bind_tcp24from src.core.shells import reverse_tcp25from src.core.injections.results_based.techniques.classic import cb_injector26from src.core.injections.results_based.techniques.eval_based import eb_injector27from src.core.injections.semiblind.techniques.file_based import fb_injector28"""29Check for established connection30"""31def check_established_connection():32 while True:33 if settings.VERBOSITY_LEVEL == 1:34 print ""35 warn_msg = "Something went wrong with the reverse TCP connection."36 warn_msg += " Please wait while checking state."37 print settings.print_warning_msg(warn_msg)38 time.sleep(10)39 lines = os.popen('netstat -anta').read().split("\n")40 found = False41 for line in lines:42 if "ESTABLISHED" in line and settings.LPORT in line.split():43 found = True44 pass45 if not found:46 return 47"""48Execute the bind / reverse TCP shell49"""50def execute_shell(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, payload, OUTPUT_TEXTFILE):51 if settings.EVAL_BASED_STATE != False:52 # Command execution results.53 start = time.time()54 response = eb_injector.injection(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename)55 end = time.time()56 diff = end - start57 # Evaluate injection results.58 shell = eb_injector.injection_results(response, TAG, cmd)59 else:60 # Command execution results.61 start = time.time()62 if settings.FILE_BASED_STATE == True:63 response = fb_injector.injection(separator, payload, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, OUTPUT_TEXTFILE, alter_shell, filename)64 else:65 whitespace = settings.WHITESPACE[0]66 if whitespace == " ":67 whitespace = urllib.quote(whitespace) 68 response = cb_injector.injection(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename)69 end = time.time()70 diff = end - start71 # Evaluate injection results.72 shell = cb_injector.injection_results(response, TAG, cmd)73 if settings.REVERSE_TCP and (int(diff) > 0 and int(diff) < 6):74 check_established_connection()75 else:76 if settings.VERBOSITY_LEVEL == 1:77 print ""78 err_msg = "The " + os_shell_option.split("_")[0] + " "79 err_msg += os_shell_option.split("_")[1].upper() + " connection has failed!"80 print settings.print_critical_msg(err_msg)81"""82Configure the bind TCP shell83"""84def bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE):85 settings.BIND_TCP = True86 # Set up RHOST / LPORT for the bind TCP connection.87 bind_tcp.configure_bind_tcp()88 if settings.BIND_TCP == False:89 if settings.REVERSE_TCP == True:90 os_shell_option = "reverse_tcp"91 reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)92 return go_back, go_back_again93 while True:94 if settings.RHOST and settings.LPORT in settings.SHELL_OPTIONS:95 result = checks.check_bind_tcp_options(settings.RHOST)96 else: 97 cmd = bind_tcp.bind_tcp_options()98 result = checks.check_bind_tcp_options(cmd)99 if result != None:100 if result == 0:101 go_back_again = False102 elif result == 1 or result == 2:103 go_back_again = True104 settings.BIND_TCP = False105 elif result == 3:106 settings.BIND_TCP = False107 reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE) 108 return go_back, go_back_again109 # execute bind TCP shell 110 execute_shell(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, payload, OUTPUT_TEXTFILE)111"""112Configure the reverse TCP shell113"""114def reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE):115 settings.REVERSE_TCP = True116 # Set up LHOST / LPORT for the reverse TCP connection.117 reverse_tcp.configure_reverse_tcp()118 if settings.REVERSE_TCP == False:119 if settings.BIND_TCP == True:120 os_shell_option = "bind_tcp"121 bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)122 return go_back, go_back_again123 while True:124 if settings.LHOST and settings.LPORT in settings.SHELL_OPTIONS:125 result = checks.check_reverse_tcp_options(settings.LHOST)126 else: 127 cmd = reverse_tcp.reverse_tcp_options()128 result = checks.check_reverse_tcp_options(cmd)129 if result != None:130 if result == 0:131 go_back_again = False132 elif result == 1 or result == 2:133 go_back_again = True134 settings.REVERSE_TCP = False135 elif result == 3:136 settings.REVERSE_TCP = False137 bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)138 #reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again) 139 return go_back, go_back_again140 # execute reverse TCP shell 141 execute_shell(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, payload, OUTPUT_TEXTFILE)142"""143Check commix shell options144"""145def check_option(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, technique, go_back, no_result, timesec, go_back_again, payload, OUTPUT_TEXTFILE):146 os_shell_option = checks.check_os_shell_options(cmd.lower(), technique, go_back, no_result) 147 if os_shell_option == "back" or os_shell_option == True or os_shell_option == False:148 go_back = True149 if os_shell_option == False:150 go_back_again = True151 return go_back, go_back_again152 # The "os_shell" option153 elif os_shell_option == "os_shell": 154 warn_msg = "You are already into the '" + os_shell_option + "' mode."155 print settings.print_warning_msg(warn_msg)156 return go_back, go_back_again157 # The "bind_tcp" option158 elif os_shell_option == "bind_tcp":159 go_back, go_back_again = bind_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)160 return go_back, go_back_again161 # The "reverse_tcp" option162 elif os_shell_option == "reverse_tcp":163 go_back, go_back_again = reverse_tcp_config(separator, TAG, cmd, prefix, suffix, whitespace, http_request_method, url, vuln_parameter, alter_shell, filename, os_shell_option, go_back, go_back_again, payload, OUTPUT_TEXTFILE)164 return go_back, go_back_again165 # The "quit" option166 elif os_shell_option == "quit": 167 sys.exit(0)168 else:...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!