def on_enter_riddle_right(self, event): reply_token = event.reply_token send_text_message(reply_token, "答對了 \n輸入Menu回到主選單 \n輸入「猜謎」再猜一次") send_image_url( event.source.user_id, "https://raw.githubusercontent.com/arthurchang09/img/main/19737.jpg" )
def webhook_handler(): body = request.json print('\nFSM STATE: ' + machine.state) print('REQUEST BODY: ') print(body) if body['object'] == "page": event = body['entry'][0]['messaging'][0] if machine.is_state1(): machine.go_input(event) elif machine.is_state2(): machine.go_back(event) elif machine.is_state3(): machine.go_upper(event) elif machine.is_state4(): machine.re_enter(event) else: machine.advance(event) if machine.is_user(): sender_id = event['sender']['id'] if machine.in_bot_flag: send_image_url( sender_id, "http://pic.pimg.tw/unicorn3q/1413511774-943890435.gif" ) responese = send_text_message(sender_id, "請問需要什麼服務呢?") return 'OK'
def on_enter_state7(self, event): print("是我吃過CP值最高的丼飯~價位在100附近,便宜又大碗,最推炸豬排丼飯") sender_id = event['sender']['id'] send_text_message(sender_id, "是我吃過CP值最高的丼飯~價位在100附近,便宜又大碗,最推炸豬排丼飯") send_image_url(sender_id,"https://pic.pimg.tw/fanimko1/1483517475-869695584_n.jpg") self.go_back()
def on_enter_about(self, event): print("I'm entering introduce") sender_id = event['sender']['id'] send_button_message(sender_id, "*PTT查詢小幫手*\n可以使用此ChatBot將PTT的看板及貼文爬下來並且條件搜索。") send_image_url(sender_id, "http://m.news.ptt.cc/images/PTT.png") self.go_back()
def on_enter_Referendum14Oppose(self, event): print("I'm entering Referendum14") global number if number == '7': top = '是否同意' + '\n' + '以平均毎年至少降低1%之方式' + '\n' + '逐年降低火力発電廠発電量' if number == '9': top = '是否同意' + '\n' + '政府維持禁止開放' + '\n' + '日本福島311核災相関地區農産品' + '\n' + '及食品進口' if number == '8': top = '是否同意' + '\n' + '確立停止新建' + '\n' + '任何燃煤発電廠或発電機組' + '\n' + '(包括深澳電廠拡建)之能源政策' if number == '10': top = '是否同意' + '\n' + '民法婚姻規定應限定在一男一女的結合' if number == '11': top = '是否同意' + '\n' + '在國民教育階段内(國中及國小)' + '\n' + '教育部及各級學校不應對學生實施' + '\n' + '性別平等教育法施行細則所定之同志教育' if number == '12': top = '是否同意' + '\n' + '以民法婚姻規定以外' + '\n' + '之其他形式來保障同性別二人' + '\n' + '經営永久共同生活的權益' if number == '13': top = '是否同意' + '\n' + '以「台灣」(taiwan)為全名' + '\n' + '申請參加所有國際運動賽事' + '\n' + '及2020年東京奧運' if number == '14': top = '是否同意' + '\n' + '以民法婚姻章保障' + '\n' + '同性別二人建立婚姻関係' if number == '15': top = '是否同意,以『性別平等教育法』明定' + '\n' + '在國民教育各階段實施性別平等教育且' + '\n' + '涵蓋情感教育.性教育.同志教育等課程' if number == '16': top = '是否同意' + '\n' + '廢除電業法「核能発電設備應於' + '\n' + '中華民國114年以前全部停止運轉」' + '\n' + '之條文?' sender_id = event['sender']['id'] send_image_url(sender_id, opinionPoll(number, 'oppose', top)) send_text_message(sender_id, "以上為我們所做簡單的民意調查,你可以繼續使用本Chat bot的其他功能") self.go_back()
def on_enter_state11(self, event): print("最推排骨蛋炒飯+小籠包,排骨蛋炒飯的肉是炸的喔,然後比較油,吃清淡的朋友自行斟酌") sender_id = event['sender']['id'] send_text_message(sender_id, "最推排骨蛋炒飯+小籠包,排骨蛋炒飯的肉是炸的喔,然後比較油,吃清淡的朋友自行斟酌") send_image_url(sender_id,"https://img.bopomo.tw/20180825150654_31.jpg") self.go_back()
def on_enter_state6(self, event): print("I'm entering state6") url = "https://stats.nba.com/team/" + self.team_id[self.team] with urllib.request.urlopen(url) as urls: html = urls.read() str1 = "Record" str_html = str(html, encoding="utf-8") index = str_html.find(str1) new = str_html[index:index + 200] regex = re.compile(r'\d* - \d*') match = regex.search(new) standings = match.group(0) regex2 = re.compile(r'\d+') match2 = regex2.findall(standings) win = match2[0] lose = match2[1] response_str = win + "W : " + lose + "L\n" sender_id = event['sender']['id'] send_image_url( sender_id, "http://content.sportslogos.net/logos/6/213/thumbs/slhg02hbef3j1ov4lsnwyol5o.gif" ) send_text_message(sender_id, response_str) send_text_message(sender_id, "請輸入\'scores\' 或 \'today scores\' 或 \'team\'") self.go_back()
def on_enter_state23(self, event): print("個人認為是離成大最近且最好喝的牛肉湯,大推他們的牛肉炒飯,但是有點辣,不吃辣的朋友自行斟酌") sender_id = event['sender']['id'] send_text_message(sender_id, "個人認為是離成大最近且最好喝的牛肉湯,大推他們的牛肉炒飯,但是有點辣,不吃辣的朋友自行斟酌") send_image_url(sender_id,"https://cdn3.tw.orstatic.com/userphoto/photo/9/7Q6/01IY8MD7E08BFDBBDA2051px.jpg") self.go_back()
def on_enter_state13(self, event): print("全品項拉麵都是無限加到爽,吃過CP值最高的拉麵") sender_id = event['sender']['id'] send_text_message(sender_id, "全品項拉麵都是無限加到爽,吃過CP值最高的拉麵") send_image_url(sender_id,"https://pic.pimg.tw/kel8257/1515676810-3435954578_n.jpg") self.go_back()
def on_enter_state21(self, event): print("在地台南人公認最好喝牛肉湯,沒有之一,在網路上比較不有名,多台南在地老饕光顧") sender_id = event['sender']['id'] send_text_message(sender_id, "在地台南人公認最好喝牛肉湯,沒有之一,在網路上比較不有名,多台南在地老饕光顧") send_image_url(sender_id,"https://pic.pimg.tw/songster/1428286360-2889139926.jpg") self.go_back()
def on_enter_state17(self, event): print("台南傳統小吃代表,每次必點大碗意麵+10顆水餃") sender_id = event['sender']['id'] send_text_message(sender_id, "台南傳統小吃代表,每次必點大碗意麵+10顆水餃") send_image_url(sender_id,"https://farm8.staticflickr.com/7062/6937935363_2d6fdd001c_b.jpg") self.go_back()
def on_enter_state19(self, event): print("網路最夯牛肉湯,多觀光客與藝人光臨") sender_id = event['sender']['id'] send_text_message(sender_id, "網路最夯牛肉湯,多觀光客與藝人光臨") send_image_url(sender_id,"https://img.foodieteller.com/20160813204740_12.jpg") self.go_back()
def on_enter_state9(self, event): print("最推小卷炒飯,100元有5條小卷94爽,建議電話預約,不然有時候要等很久") sender_id = event['sender']['id'] send_text_message(sender_id, "最推小卷炒飯,100元有5條小卷94爽,建議電話預約,不然有時候要等很久") send_image_url(sender_id,"https://img.gwan.tw/20171008230104_80.jpg") self.go_back()
def on_enter_state15(self, event): print("是我吃過台南最頂級的拉麵,價位偏高,大概200元一碗,建議開店前20分鐘到,否則都要等一小時甚至更久") sender_id = event['sender']['id'] send_text_message(sender_id, "是我吃過台南最頂級的拉麵,價位偏高,大概200元一碗,建議開店前20分鐘到,否則都要等一小時甚至更久") send_image_url(sender_id,"https://pic.pimg.tw/pinkmayday0928/1498578575-2851167905.jpg") self.go_back()
def on_enter_state5(self, event): print("最推宮保雞丁炒飯,但是切記,你去點餐的時候不能說很冗,例如:我要吃宮保雞丁炒飯,這樣會被老闆娘碎碎念,你只能說我要吃宮保") sender_id = event['sender']['id'] send_text_message(sender_id, "最推宮保雞丁炒飯,但是切記,你去點餐的時候不能說很冗,例如:我要吃宮保雞丁炒飯,這樣會被老闆娘碎碎念,你只能說我要吃宮保") send_image_url(sender_id,"https://cfcdn2.azsg.opensnap.com/azsg/snapphoto/photo/LA/GTPU/3BNBSCBBBECCC2C04C3569lv.jpg") self.go_back()
def on_enter_stateP2(self, event): print("I'm entering P2") sender_id = event['sender']['id'] send_image_url(sender_id, "https://imgur.com/1GhMJLg.jpg") #juliet self.go_back()
def webhook_handler(): signature = request.headers["X-Line-Signature"] # get request body as text body = request.get_data(as_text=True) app.logger.info(f"Request body: {body}") # parse webhook body try: events = parser.parse(body, signature) except InvalidSignatureError: abort(400) usr_id = ''; # if event is MessageEvent and message is TextMessage, then echo text for event in events: if not isinstance(event, MessageEvent): continue if not isinstance(event.message, TextMessage): continue if not isinstance(event.message.text, str): continue print(f"\nFSM STATE: {machine.state}") print(f"REQUEST BODY: \n{body}") if event.message.text == "FSM": send_image_url(event.source.user_id, "https://imgur.com/gallery/DvRcRcC") continue response = machine.advance(event) if response == False: send_text_message(event.reply_token, "Not Entering any State") return "OK"
def on_enter_state_sponsor(self, event): print("I'm entering state_sponsor") sender_id = event['sender']['id'] send_image_url( sender_id, "https://anfansy.files.wordpress.com/2015/10/1211790456.gif") send_text_message(sender_id, "轉帳帳號如圖,請問是否使用轉帳(是)")
def on_enter_ending(self, event): sender_id = event['sender']['id'] send_image_url( sender_id, end_img[self.life_data[0]][self.life_data[1]][self.life_data[2]]) send_text_message( sender_id, Ending[self.life_data[0]][self.life_data[1]][self.life_data[2]])
def on_enter_equal(self, event): print("I'm entering equal") reply_token = event.reply_token self.low_limit = self.guess #send_text_message(reply_token,"答案正確") send_image_url(reply_token, "https://f74064070toc.herokuapp.com/show-fsm") self.show_fsm_to_user = True self.go_back_user(event)
def on_enter_TaipeiMayor(self, event): print("I'm entering TaipeiMayor") global city if city == '基隆市': toChoose = 's10017000000000000.html' if city == '台北市': toChoose = 's63000000000000000.html' if city == '新北市': toChoose = 's65000000000000000.html' if city == '桃園市': toChoose = 's68000000000000000.html' if city == '新竹市': toChoose = 's10018000000000000.html' if city == '新竹縣': toChoose = 's10004000000000000.html' if city == '苗栗縣': toChoose = 's10005000000000000.html' if city == '台中市': toChoose = 's66000000000000000.html' if city == '彰化縣': toChoose = 's10007000000000000.html' if city == '南投縣': toChoose = 's10008000000000000.html' if city == '雲林縣': toChoose = 's10009000000000000.html' if city == '嘉義市': toChoose = 's10020000000000000.html' if city == '嘉義縣': toChoose = 's10010000000000000.html' if city == '台南市': toChoose = 's67000000000000000.html' if city == '高雄市': toChoose = 's64000000000000000.html' if city == '屏東縣': toChoose = 's10013000000000000.html' if city == '台東縣': toChoose = 's10014000000000000.html' if city == '花蓮縣': toChoose = 's10015000000000000.html' if city == '宜蘭縣': toChoose = 's10002000000000000.html' if city == '澎湖縣': toChoose = 's10016000000000000.html' if city == '金門縣': toChoose = 's09020000000000000.html' if city == '連江縣': toChoose = 's09007000000000000.html' ur = 'http://vote.2018.nat.gov.tw/pc/zh_TW/TC/' + toChoose tp = city + '市長候選人得票數' sender_id = event['sender']['id'] send_image_url(sender_id, candidate(ur, tp)) send_text_message(sender_id, "以上為查詢的結果,你可以繼續使用本Chat+bot的其他功能") self.go_back()
def on_enter_fried_rice(self, event): print("I'm entering fried rice") sender_id = event['sender']['id'] send_text_message(sender_id, data['Local Food']['Fried Rice']['text']) send_image_url(sender_id, data['Local Food']['Fried Rice']['image'], data['Local Food']['Fried Rice']['image_type']) send_button_message(sender_id, "quick options:", data['Local Food']['Fried Rice']['buttons'])
def on_enter_rendang(self, event): print("I'm entering rendang") sender_id = event['sender']['id'] send_text_message(sender_id, data['Local Food']['Rendang']['text']) send_image_url(sender_id, data['Local Food']['Rendang']['image'], data['Local Food']['Rendang']['image_type']) send_button_message(sender_id, "quick options:", data['Local Food']['Rendang']['buttons'])
def on_enter_dieng_plateau(self, event): print("I'm entering dieng plateau") sender_id = event['sender']['id'] send_text_message(sender_id, data['Naturals']['Dieng Plateau']['text']) send_image_url(sender_id, data['Naturals']['Dieng Plateau']['image'], data['Naturals']['Dieng Plateau']['image_type']) send_button_message(sender_id, "quick options:", data['Naturals']['Dieng Plateau']['buttons'])
def on_enter_state2(self, event): print("I'm entering state2") reply_token = event.reply_token send_image_url( reply_token, "https://images.pexels.com/photos/2691784/pexels-photo-2691784.jpeg?cs=srgb&dl=white-and-red-petaled-flowers-close-up-photography-2691784.jpg&fm=jpg" ) self.go_back()
def on_enter_champions(self, event): print("In champions") userid = event.source.user_id reply_token = event.reply_token send_image_url(reply_token, lol.get_champions_icon_url(self.champion_name)) push_message( userid, "您選擇的英雄是 {}\n\n目前有四種功能:\n\n1.查詢推薦核心裝備\n\n2.查詢推薦符文\n\n3.查詢推薦技能點法\n\n4.閱讀傳記故事\n\n請輸入\"核心裝備\"、\"符文點法\"、\"技能點法\"、\"傳記故事\",來查詢,或者輸入\"1\"、\"2\"、\"3\"、\"4\"\n若要重新選擇英雄,請輸入\"離開\"或是\"exit\"" .format(self.champion_name))
def on_enter_background(self, event): print("your background is set") sender_id = event['sender']['id'] b = background(self.life_data[0]) #random self.my_life.append(b) self.life_data.append(Background[self.life_data[0]].index(b)) buttons = [{'type': 'postback', 'title': 'go', 'payload': 'go'}] send_text_message(sender_id, "家庭背景:\n" + self.my_life[1]) send_image_url(sender_id, people_img[Background[self.life_data[0]].index(b)]) send_button_message(sender_id, '按下go,進入下一階段', buttons)
def on_enter_state_crew_list(self, event): print("I'm entering state_crew_list") sender_id = event['sender']['id'] send_image_url(sender_id, "https://ppt.cc/f0a3Xx") send_text_message( sender_id, "工作人員名單如下\n------藝術組------\n導演:湯雅瑭\n編劇:吳念真\n演員:陳怡亘 吳念真 郭予凡\n陳宜青 張瑋庭 徐子歡\n\n------技術組------\n舞台監督:黃臆璇\n舞台設計:馬佳琳\n舞台組員:蔡欣芸 張碩真 藍詩雅 林欣融\n燈光設計:李沛思\n音效設計:王凱莉\n服化妝設計:黃子菁\n服化妝組員:吳念真 吳沛潔\n\n------行政組------\n行政組長:曾恩瑜\n宣傳:馬佳琳 何竹昀 張碩真\n公關:黃沛瑀 藍詩雅\n前台:秦仕真 吳欣凌 蔡欣芸 林欣融 黃珮慈" ) send_button_message(sender_id, "我們還有其他相關演出,請參閱") self.go_back()
def on_enter_3(self, text, event): if text == "donnnne": sender_id = event['sender']['id'] send_text_message(sender_id, "accept") send_image_url(sender_id, "https://i.imgur.com/knh0XyK.png") #self.go_back("","") self.set_state('0') if text != "": print("3!!!!!!!!!!!!!!!!!!!!IP:", event['sender']['id']) sender_id = event['sender']['id'] send_text_message(sender_id, text)
def on_enter_1(self, text, event): if text == "donnnne": sender_id = event['sender']['id'] send_text_message(sender_id, "fail") send_image_url(sender_id, "https://i.imgur.com/lnEezmF.jpg") #self.go_back("","") self.set_state('0') if text != "": print("1!!!!!!!!!!!!!!!!!!!!IP:", event['sender']['id']) sender_id = event['sender']['id'] send_text_message(sender_id, text)