Esempio n. 1
0
	def allow_late_report(self, request, queryset):
                #rows_updated = queryset.update(accept_late_report = True)

                allowed_reporters = []
                reporters_messages = []
                today = datetime.now()
                new_deadline = None
                message = "Please send your report before %s"
                for late_healthpost in queryset:
                    late_healthpost.accept_late_report = True
                    late_healthpost.save()

                    # new deadline
                    new_deadline = today + timedelta(days=int(late_healthpost.extended_days))
                    reporters_messages.append({"reporter": late_healthpost.rutf_reporter, "message":message % new_deadline})
                    allowed_reporters.append(late_healthpost.rutf_reporter)

                    EventSchedule.objects.create(callback='rutfet.utils.deny_allowed_health_posts',
                                                months=set([new_deadline.month]),
                                                days_of_month=set([new_deadline.day]),
                                                hours = set([0]),
                                                minutes=set([0]),
                                                callback_kwargs = {"late_healthpost":late_healthpost})
                    

                # send message to the reporter to
                # report with the extended days
                send_text_message(reporters_messages = reporters_messages)
                
                rows_updated = len(allowed_reporters)                  

                # Display message to the user
                if rows_updated ==1:
                    message_no = "1 health post was"
                elif rows_updated > 1:
                    message_no = "%s health posts were" % rows_updated

                self.message_user(request, "%s allowed to report late" % message_no)
Esempio n. 2
0
 def on_enter_nasi_detail(self, event):
     print("I'm entering nasi campur detail")
     reply_token = event.reply_token
     send_text_message(reply_token, data['nasi_campur']['detail'])
Esempio n. 3
0
 def on_enter_encounterBBB(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "http://evenews24.com/wp-content/uploads/2013/05/dead_owned_wreck.jpg")
     response = send_text_message(sender_id, "You choose to retreat again, but all efforts are invain. your fleet has been destoryed.")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 4
0
 def on_enter_encounterBAB(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "http://www.guinnessworldrecords.com/Images/eve-online-1_tcm25-522237.jpg")
     response = send_text_message(sender_id, "You choose to retreat as you think you cannot hold more damege. Thankfully the burners is dameged so that thay cannot stop you from wrapping.\nYour fleet returned safely.")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 5
0
 def on_enter_encounterCC(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "https://1dfq7235s7hdjun832pbscof-wpengine.netdna-ssl.com/wp-content/uploads/2018/10/project-nova-750x445.jpg")
     response = send_text_message(sender_id, "You tried to surrender to keep your fleet alive, but they did not accpet your surrender. your fleet is destoryed")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 6
0
 def on_enter_encounterCA(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "http://evenews24.com/wp-content/uploads/2013/05/dead_owned_wreck.jpg")
     response = send_text_message(sender_id, "As you realize you must fight them, it has been too late.\nYour fleet is destoryed!")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 7
0
 def on_enter_encounterBA(self, event):
     sender_id = event['sender']['id']
     response = send_text_message(sender_id, "Your fleet engaged the burners. The burners suffered huge damege, but the condition is not optimistic")
     response = send_text_message(sender_id, "options:\nbaa. Fire!\nbab. Retreat!")
     self.advance(event)
Esempio n. 8
0
 def on_enter_encounterB(self, event):
     sender_id = event['sender']['id']
     response = send_text_message(sender_id, "You ordered your fleet to active shield and armor hardeners, they are now prepared!")
     response = send_text_message(sender_id, "options:\nba. Fire!\nbb. Retreat!")
     self.advance(event)
Esempio n. 9
0
 def on_enter_state6(self, event):
     reply_token = event.reply_token
     send_text_message(reply_token, "你的幼稚指數35%:你心智成熟!好棒棒!")
     self.go_back()
Esempio n. 10
0
 def on_enter_state5(self, event):
     reply_token = event.reply_token
     send_text_message(reply_token,
                       "你的幼稚指數80%:看來你比較大男人或大女人,表面上很成熟,其實內心是非常幼稚的")
     self.go_back()
Esempio n. 11
0
 def on_enter_flavor12(self, event):
     print("In flavor12")
     reply_token = event.reply_token
     rstr = search_flavor(12)
     send_text_message(reply_token, rstr)
     self.go_back()
Esempio n. 12
0
 def on_enter_base5(self, event):
     print("In base0")
     reply_token = event.reply_token
     rstr = search_base(5)
     send_text_message(reply_token, rstr)
     self.go_back()
    def on_enter_default_search_keyword(self, event):
        print("I'm entering default_search_keyword")

        reply_token = event.reply_token
        send_text_message(reply_token, "請直接輸入關鍵字")
    def on_enter_custom_search_count(self, event):
        print("I'm entering custom_search_count")

        self.nPush = int(event.message.text)
        reply_token = event.reply_token
        send_text_message(reply_token, "輸入顯示文章數量 (1~15)")
Esempio n. 15
0
def webhook_handler():
    body = request.json
    print('\nFSM STATE: ' + machine.state)
    print('REQUEST BODY: ')
    print(body)

    global game_type
    if body['object'] == "page":
        event = body['entry'][0]['messaging'][0]
        if 'message' in event and 'nlp' in event['message']:
            if 'recommend_game' in event['message']['nlp'][
                    'entities'] and machine.state == 'user':
                machine.recommend(event)
            elif 'boolean' in event['message']['nlp'][
                    'entities'] and machine.state == 'ask_price':  #     ask for game v
                sender_id = event['sender']['id']
                if event['message']['nlp']['entities']['boolean'][0][
                        'value'] == 'false':
                    if game_type == 'RPG':
                        sender_id = event['sender']['id']
                        responese = send_text_message(
                            sender_id,
                            "https://store.steampowered.com/app/292030/The_Witcher_3_Wild_Hunt/"
                        )
                    elif game_type == 'WuSha':
                        sender_id = event['sender']['id']
                        responese = send_text_message(
                            sender_id,
                            "https://store.steampowered.com/app/882790/_Fate_Seeker/"
                        )
                    elif game_type == 'action':
                        sender_id = event['sender']['id']
                        responese = send_text_message(
                            sender_id,
                            "https://store.steampowered.com/app/271590/Grand_Theft_Auto_V/"
                        )
                    elif game_type == 'metroidvania':
                        sender_id = event['sender']['id']
                        responese = send_text_message(
                            sender_id,
                            "https://store.steampowered.com/app/367520/Hollow_Knight/"
                        )
                    elif game_type == 'STG':
                        sender_id = event['sender']['id']
                        responese = send_text_message(
                            sender_id,
                            "https://store.steampowered.com/app/289070/Sid_Meiers_Civilization_VI/"
                        )
                    elif game_type == 'SLG':
                        sender_id = event['sender']['id']
                        responese = send_text_message(
                            sender_id,
                            "https://store.steampowered.com/app/255710/Cities_Skylines/"
                        )
                else:
                    responese = send_text_message(
                        sender_id, "you are too young to play game")
                machine.another_question(event)  #      ask for game ^
            elif 'pixiv' in event['message']['nlp'][
                    'entities'] and machine.state == 'user':
                machine.search(event)
            elif 'game_type' in event['message']['nlp'][
                    'entities'] and machine.state == 'ask_game':
                game_type = event['message']['nlp']['entities']['game_type'][
                    0]['value']
                machine.about_price(event)
            elif 'gm_type' in event['message']['nlp'][
                    'entities'] and machine.state == 'pixiv':
                gm_type = event['message']['nlp']['entities']['gm_type'][0][
                    'value']
                sender_id = event['sender']['id']
                if gm_type == 'ps4':
                    responese = send_message(sender_id, "ps4", "ps4")
                    responese = send_text_message(sender_id,
                                                  "wish you have a nice day")
                elif gm_type == 'xbox one':
                    responese = send_text_message(sender_id,
                                                  "wish you have a nice day")
                elif gm_type == 'switch':
                    responese = send_text_message(sender_id,
                                                  "wish you have a nice day")
            elif 'greetings' in event['message']['nlp']['entities']:
                sender_id = event['sender']['id']
                responese = send_text_message(sender_id,
                                              "hello, what can I do for you?")
            elif 'bye' in event['message']['nlp'][
                    'entities'] and machine.state != 'user':
                sender_id = event['sender']['id']
                responese = send_text_message(sender_id,
                                              "wish you have a nice day")
                machine.go_back(event)
            elif machine.state == 'user':
                sender_id = event['sender']['id']
                responese = send_text_message(
                    sender_id, "I don't understand what you say")
            else:
                sender_id = event['sender']['id']
                responese = send_text_message(sender_id,
                                              "you are away from the theme")

        #if event.get("message"):
        #    text = event['message']['text']
        #    print(text.lower())
        #    if text.lower() == 'game':
        #        machine.recommend(event)
        return 'OK'
Esempio n. 16
0
 def on_enter_encounterA(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "http://evenews24.com/wp-content/uploads/2013/05/dead_owned_wreck.jpg")
     response = send_text_message(sender_id, "You ordered your fleet to engage target, but they are not prepared.\nYour fleet has been destoryed.")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 17
0
 def on_enter_one3(self, event):
     reply_token = event.reply_token
     send_text_message(reply_token, "答錯了~ 若要繼續挑戰請輸入:金頭腦")
     self.go_back2()
Esempio n. 18
0
 def on_enter_encounterC(self, event):
     sender_id = event['sender']['id']
     response = send_text_message(sender_id, "You tried to active warp drive to escape from battle field, but the burners used warp scrambler toward your fleet.\nyou cannot retreat.")
     response = send_text_message(sender_id, "options:\nca. Fire!\ncb. Retreat!\ncc. Surrender.")
     self.advance(event)
Esempio n. 19
0
 def on_enter_two2(self, event):
     reply_token = event.reply_token
     send_text_message(reply_token, "恭喜答對!! 若要繼續挑戰請輸入:金頭腦")
     self.go_back2()
Esempio n. 20
0
 def on_enter_encounterBB(self, event):
     sender_id = event['sender']['id']
     response = send_text_message(sender_id, "As you found burners are capable to destory your fleet, you ordered retreat. But they webified and warp scrambled your fleet. You cannot escape!")
     response = send_text_message(sender_id, "options:\nbba. Fire!\nbbb. Retreat!")
     self.advance(event)
Esempio n. 21
0
 def on_enter_two4(self, event):
     reply_token = event.reply_token
     #count = count + 10
     send_text_message(reply_token, "答錯了~ 若要繼續挑戰請輸入:金頭腦")
     self.go_back2()
Esempio n. 22
0
 def on_enter_encounterCB(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "http://evenews24.com/wp-content/uploads/2013/05/dead_owned_wreck.jpg")
     response = send_text_message(sender_id, "You know that you cannot escape, but you still ordered retreat. You put your fleet into DEATH!")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 23
0
 def on_enter_state3(self, event):
     reply_token = event.reply_token
     send_text_message(reply_token, "你的幼稚指數99%:你簡直是活在童話世界中,幼稚到了極點 ! 成熟點好嗎~")
     self.go_back()
Esempio n. 24
0
 def on_enter_encounterBAA(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Eve_Online_-_Empyrean_Age_screenshot.jpg/800px-Eve_Online_-_Empyrean_Age_screenshot.jpg")
     response = send_text_message(sender_id, "Your fleet keeps fireing at burners. Though we lost some ships but victory claimed!")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 25
0
    def on_enter_state1(self, event):
        print("I'm entering state1")

        reply_token = event.reply_token
        #send_text_message(reply_token, "Trigger state1")  #依state1產生 output : "Trigger state1" ?
        text = event.message.text

        if text.lower() == "1-1":
            img_url = ''
            rand = random.randint(0, 13)
            if rand == 0:
                img_url = 'https://imgur.com/76qpcCc.png'
            elif rand == 1:
                img_url = 'https://imgur.com/Hbla4WE.png'
            elif rand == 2:
                img_url = 'https://imgur.com/EPnjFrF.png'
            elif rand == 3:
                img_url = 'https://imgur.com/FzXrxF4.png'
            elif rand == 4:
                img_url = 'https://imgur.com/VHKV9fh.png'
            elif rand == 5:
                img_url = 'https://imgur.com/a1OoV4s.png'
            elif rand == 6:
                img_url = 'https://imgur.com/5HWQuH0.png'
            elif rand == 7:
                img_url = 'https://imgur.com/C6pN6dN.png'
            elif rand == 8:
                img_url = 'https://imgur.com/AGcLk2B.png'
            elif rand == 9:
                img_url = 'https://imgur.com/8v09XgC.png'
            elif rand == 10:
                img_url = 'https://imgur.com/8ICBiAr.png'
            elif rand == 11:
                img_url = 'https://imgur.com/yAYDNVu.png'
            elif rand == 12:
                img_url = 'https://imgur.com/R1w37BY.png'
            elif rand == 13:
                img_url = 'https://imgur.com/8MGq627.png'

            send_image_url(reply_token, img_url)

        elif text.lower() == "1-2":
            text = ""
            rand = random.randint(0, 7)
            if rand == 0:
                text = "大吉"
            elif rand == 1:
                text = "中吉"
            elif rand == 2:
                text = "小吉"
            elif rand == 3:
                text = "吉"
            elif rand == 4:
                text = "半吉"
            elif rand == 5:
                text = "末吉"
            elif rand == 6:
                text = "末小吉"
            elif rand == 7:
                text = "小凶"

            send_text_message(reply_token, text)

        elif text.lower() == "1-3":
            sticker_ids = [
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21,
                100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
                112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
                124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
                136, 137, 138, 139, 401, 402
            ]
            index_id = random.randint(0, len(sticker_ids) - 1)
            sticker_id = str(sticker_ids[index_id])

            message = StickerSendMessage(package_id='1', sticker_id=sticker_id)
            send_sticker(reply_token, message)

        else:
            send_text_message(
                reply_token,
                "輸入數字 :  1-1.御主抽從者  1-2.參拜者抽御神籤  1-3.隨機貼圖  2.爬蟲--科技新報 ")

        self.go_back()  # state1產生output後自動回user state
Esempio n. 26
0
 def on_enter_encounterBBA(self, event):
     sender_id = event['sender']['id']
     send_img_message(sender_id, "http://www.guinnessworldrecords.com/Images/eve-online-1_tcm25-522237.jpg")
     response = send_text_message(sender_id, "You choose to fight back as you cannot escape. After a fierce battle, only few ships returned safely. The burners are eliminated.")
     response = send_text_message(sender_id, "Type: back\nto return to manual")
     self.advance(event)
Esempio n. 27
0
    def on_enter_state2(self, event):
        print("I'm entering state2")

        reply_token = event.reply_token
        send_text_message(reply_token, "Trigger state2")
Esempio n. 28
0
 def on_enter_sate_detail(self, event):
     print("I'm entering sate detail")
     reply_token = event.reply_token
     send_text_message(reply_token, data['sate']['detail'])
Esempio n. 29
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)

    # if event is MessageEvent and message is TextMessage, then echo text
    for event in events:
        if event.source.user_id not in machine:
            machine[event.source.user_id] = TocMachine(
                states=[
                    "user", "option", "music", "random", "play", "guest_num",
                    "right", "wrong_large", "wrong_small", "riddle",
                    "riddle_right", "riddle_wrong", "riddle_answer", "laugh",
                    "laugh_manage", "add_laugh", "add_success", "search_laugh",
                    "laugh_search_num", "delete_laugh", "confirm_delete",
                    "finish_delete", "music_manage", "add_music",
                    "add_music_name", "add_music_link", "add_music_composer",
                    "add_confirm", "delete_music", "confirm_delete_music",
                    "finish_delete_music", "modify_music", "modify_list",
                    "modify_name", "modify_link", "modify_composer",
                    "modify_confirm", "show_graph"
                ],
                transitions=[
                    {
                        "trigger": "advance",
                        "source": "user",
                        "dest": "option",
                    },
                    #music
                    {
                        "trigger": "advance",
                        "source": "option",
                        "dest": "music",
                        "conditions": "is_going_to_music",
                    },
                    #play music
                    {
                        "trigger": "advance",
                        "source": "music",
                        "dest": "play",
                        "conditions": "is_going_to_play",
                    },
                    {
                        "trigger": "advance",
                        "source": "play",
                        "dest": "music",
                        "conditions": "is_going_to_music",
                    },
                    #------
                    #random play music
                    {
                        "trigger": "advance",
                        "source": "music",
                        "dest": "random",
                        "conditions": "is_going_to_random",
                    },
                    {
                        "trigger": "advance",
                        "source": "random",
                        "dest": "music",
                        "conditions": "is_going_to_music",
                    },
                    #--------
                    #guess number
                    {
                        "trigger": "advance",
                        "source": "option",
                        "dest": "guest_num",
                        "conditions": "is_going_to_guest_num",
                    },
                    {
                        "trigger": "advance",
                        "source": "guest_num",
                        "dest": "right",
                        "conditions": "is_going_to_right",
                    },
                    {
                        "trigger": "advance",
                        "source": "right",
                        "dest": "guest_num",
                        "conditions": "is_going_to_guest_num",
                    },
                    {
                        "trigger": "advance",
                        "source": "guest_num",
                        "dest": "wrong_large",
                        "conditions": "is_going_to_wrong_large",
                    },
                    {
                        "trigger": "advance",
                        "source": "guest_num",
                        "dest": "wrong_small",
                        "conditions": "is_going_to_wrong_small",
                    },
                    {
                        "trigger": "advance",
                        "source": "wrong_large",
                        "dest": "right",
                        "conditions": "is_going_to_right",
                    },
                    {
                        "trigger": "advance",
                        "source": "wrong_small",
                        "dest": "right",
                        "conditions": "is_going_to_right",
                    },
                    {
                        "trigger": "advance",
                        "source": "wrong_large",
                        "dest": "wrong_large",
                        "conditions": "is_going_to_wrong_large",
                    },
                    {
                        "trigger": "advance",
                        "source": "wrong_large",
                        "dest": "wrong_small",
                        "conditions": "is_going_to_wrong_small",
                    },
                    {
                        "trigger": "advance",
                        "source": "wrong_small",
                        "dest": "wrong_large",
                        "conditions": "is_going_to_wrong_large",
                    },
                    {
                        "trigger": "advance",
                        "source": "wrong_small",
                        "dest": "wrong_small",
                        "conditions": "is_going_to_wrong_small",
                    },

                    #-------
                    #猜謎
                    {
                        "trigger": "advance",
                        "source": "option",
                        "dest": "riddle",
                        "conditions": "is_going_to_riddle",
                    },
                    {
                        "trigger": "advance",
                        "source": "riddle",
                        "dest": "riddle_right",
                        "conditions": "is_going_to_riddle_right",
                    },
                    {
                        "trigger": "advance",
                        "source": "riddle_right",
                        "dest": "riddle",
                        "conditions": "is_going_to_riddle",
                    },
                    {
                        "trigger": "advance",
                        "source": "riddle",
                        "dest": "riddle_wrong",
                        "conditions": "is_going_to_riddle_wrong",
                    },
                    {
                        "trigger": "advance",
                        "source": "riddle_wrong",
                        "dest": "riddle_wrong",
                        "conditions": "is_going_to_riddle_wrong",
                    },
                    {
                        "trigger": "advance",
                        "source": "riddle_wrong",
                        "dest": "riddle_answer",
                        "conditions": "is_going_to_riddle_answer",
                    },
                    {
                        "trigger": "advance",
                        "source": "riddle_answer",
                        "dest": "riddle",
                        "conditions": "is_going_to_riddle",
                    },
                    {
                        "trigger": "advance",
                        "source": "riddle_wrong",
                        "dest": "riddle_right",
                        "conditions": "is_going_to_riddle_right",
                    },
                    #---------
                    #笑話
                    {
                        "trigger": "advance",
                        "source": "option",
                        "dest": "laugh",
                        "conditions": "is_going_to_laugh",
                    },
                    {
                        "trigger": "advance",
                        "source": "laugh",
                        "dest": "laugh",
                        "conditions": "is_going_to_laugh",
                    },
                    #---------
                    #笑話管理
                    {
                        "trigger": "advance",
                        "source": "option",
                        "dest": "laugh_manage",
                        "conditions": "is_going_to_laugh_manage",
                    },
                    {
                        "trigger": "advance",
                        "source": "laugh_manage",
                        "dest": "add_laugh",
                        "conditions": "is_going_to_add_laugh",
                    },
                    {
                        "trigger": "advance",
                        "source": "add_laugh",
                        "dest": "add_success",
                        "conditions": "is_going_to_add_success",
                    },
                    {
                        "trigger": "advance",
                        "source": "laugh_manage",
                        "dest": "search_laugh",
                        "conditions": "is_going_to_search_laugh",
                    },
                    {
                        "trigger": "advance",
                        "source": "search_laugh",
                        "dest": "laugh_search_num",
                        "conditions": "is_going_to_laugh_search_num",
                    },
                    {
                        "trigger": "advance",
                        "source": "laugh_search_num",
                        "dest": "search_laugh",
                        "conditions": "is_going_to_search_laugh",
                    },
                    {
                        "trigger": "advance",
                        "source": "laugh_manage",
                        "dest": "delete_laugh",
                        "conditions": "is_going_to_delete_laugh",
                    },
                    {
                        "trigger": "advance",
                        "source": "delete_laugh",
                        "dest": "confirm_delete",
                        "conditions": "is_going_to_confirm_delete",
                    },
                    {
                        "trigger": "advance",
                        "source": "confirm_delete",
                        "dest": "finish_delete",
                        "conditions": "is_going_to_finish_delete",
                    },
                    #---------
                    #music manage
                    {
                        "trigger": "advance",
                        "source": "option",
                        "dest": "music_manage",
                        "conditions": "is_going_to_music_manage",
                    },
                    {
                        "trigger": "advance",
                        "source": "music_manage",
                        "dest": "add_music",
                        "conditions": "is_going_to_add_music",
                    },
                    {
                        "trigger": "advance",
                        "source": "add_music",
                        "dest": "add_music_name",
                        "conditions": "is_going_to_add_music_name",
                    },
                    {
                        "trigger": "advance",
                        "source": "add_music_name",
                        "dest": "add_music_link",
                        "conditions": "is_going_to_add_music_link",
                    },
                    {
                        "trigger": "advance",
                        "source": "add_music_link",
                        "dest": "add_music_composer",
                        "conditions": "is_going_to_add_music_composer",
                    },
                    {
                        "trigger": "advance",
                        "source": "add_music_composer",
                        "dest": "add_confirm",
                        "conditions": "is_going_to_add_confirm",
                    },
                    #delete music
                    {
                        "trigger": "advance",
                        "source": "music_manage",
                        "dest": "delete_music",
                        "conditions": "is_going_to_delete_music",
                    },
                    {
                        "trigger": "advance",
                        "source": "delete_music",
                        "dest": "confirm_delete_music",
                        "conditions": "is_going_to_confirm_delete_music",
                    },
                    {
                        "trigger": "advance",
                        "source": "confirm_delete_music",
                        "dest": "finish_delete_music",
                        "conditions": "is_going_to_finish_delete_music",
                    },
                    #modify
                    {
                        "trigger": "advance",
                        "source": "music_manage",
                        "dest": "modify_music",
                        "conditions": "is_going_to_modify_music",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_music",
                        "dest": "modify_list",
                        "conditions": "is_going_to_modify_list",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_list",
                        "dest": "modify_name",
                        "conditions": "is_going_to_modify_name",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_name",
                        "dest": "modify_list",
                        "conditions": "is_going_to_modify_name_to_list",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_list",
                        "dest": "modify_link",
                        "conditions": "is_going_to_modify_link",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_link",
                        "dest": "modify_list",
                        "conditions": "is_going_to_modify_link_to_list",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_list",
                        "dest": "modify_composer",
                        "conditions": "is_going_to_modify_composer",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_composer",
                        "dest": "modify_list",
                        "conditions": "is_going_to_modify_composer_to_list",
                    },
                    {
                        "trigger": "advance",
                        "source": "modify_list",
                        "dest": "modify_confirm",
                        "conditions": "is_going_to_modify_confirm",
                    },
                    #---------
                    {
                        "trigger": "advance",
                        "source": "option",
                        "dest": "show_graph",
                        "conditions": "is_going_to_show_graph",
                    },
                    #---------
                    {
                        "trigger":
                        "advance",
                        "source": [
                            "music", "random", "play", "guest_num", "right",
                            "wrong_large", "wrong_small", "riddle",
                            "riddle_right", "riddle_wrong", "riddle_answer",
                            "laugh", "laugh_manage", "add_laugh",
                            "add_success", "search_laugh", "laugh_search_num",
                            "delete_laugh", "confirm_delete", "finish_delete",
                            "music_manage", "add_music", "add_music_name",
                            "add_music_link", "add_music_composer",
                            "add_confirm", "delete_music",
                            "confirm_delete_music", "finish_delete_music",
                            "modify_music", "modify_list", "modify_name",
                            "modify_link", "modify_composer", "modify_confirm",
                            "show_graph"
                        ],
                        "dest":
                        "option",
                        "conditions":
                        "is_going_back"
                    },
                ],
                initial="user",
                auto_transitions=False,
                show_conditions=True,
            )
        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}")
        response = machine[event.source.user_id].advance(event)
        if response == False:
            send_text_message(event.reply_token, "輸入錯誤,請檢查並重新輸入")

    return "OK"
Esempio n. 30
0
 def on_enter_state4(self, event):
     print("I'm entering state4")
     sender_id = event['sender']['id']
     responese = send_text_message(sender_id,
                                   "Where do you want to go FROM ?")
Esempio n. 31
0
    def on_enter_state2(self, event):
        print("I'm entering state2")

        sender_id = event['sender']['id']
        send_text_message(sender_id, "I'm entering state2")
        self.go_back()