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"
     )
Exemple #2
0
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'
Exemple #3
0
    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()
Exemple #4
0
 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()
Exemple #5
0
    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()
Exemple #6
0
    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()
Exemple #7
0
    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()
Exemple #8
0
    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()
Exemple #9
0
    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()
Exemple #10
0
    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()
Exemple #11
0
    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()
Exemple #12
0
    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()
Exemple #13
0
    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()
Exemple #14
0
    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()
Exemple #15
0
    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()
Exemple #16
0
    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()
Exemple #17
0
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"
Exemple #18
0
    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, "轉帳帳號如圖,請問是否使用轉帳(是)")
Exemple #19
0
 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]])
Exemple #20
0
 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)
Exemple #21
0
    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()
Exemple #22
0
    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'])
Exemple #23
0
    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'])
Exemple #24
0
    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'])
Exemple #25
0
    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()
Exemple #26
0
 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))
Exemple #27
0
 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)
Exemple #28
0
    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()
Exemple #29
0
 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)
Exemple #30
0
 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)