예제 #1
0
def message_text(event):

    # line_bot_api.reply_message(
    #     event.reply_token,
    #     TextSendMessage(text=event.message.text)

    Reply_token = event.reply_token

    text_fromUSer = event.message.text
    # ### Set Text
    # text_tosend_1 = TextSendMessage(text='Uncle Engineer 01',quick_reply=None)
    # text_tosend_2 = TextSendMessage(text='Uncle Engineer 02',quick_reply=None)

    # ### Set Image

    # image_message_1 = ImageSendMessage(
    #     original_content_url='https://image.shutterstock.com/image-vector/free-red-square-grunge-stamp-260nw-340650854.jpg'
    #     ,preview_image_url='https://www.webopedia.com/imagesvr_ce/8660/404-error.jpg'
    # )

    # line_bot_api.reply_message(
    #     Reply_token ,
    #     messages = [text_tosend_1 , text_tosend_2 , image_message_1]
    # )

    if 'เช็คราคา' in text_fromUSer:
        from Resource.bxAPI import GetBxPrice
        from random import randint
        num = randint(1, 10)
        data = GetBxPrice(Number_to_get=num)

        from Resource.FlexMessage import setCarousel, setbubble

        flex = setCarousel(data)

        from Resource.reply import SetMenuMessage_Object, send_flex

        flex = SetMenuMessage_Object(flex)
        send_flex(Reply_token,
                  file_data=flex,
                  bot_access_key=channel_access_token)

    else:
        text_list = [
            'ฉันไม่เข้าใจที่คุณพูด กรุณาลองใหม่อีกครั้ง',
            'ขออภัย ฉันไม่เข้า่ใจ กรุณาลองใหม่อีกครั้ง',
            'ขอโทษค่ะ มีความหมายอย่างไงค่ะ กรุณาลองใหม่อีกครั้ง'
        ]

        from random import choice

        text_data = choice(text_list)

        text = TextSendMessage(text=text_data)
        line_bot_api.reply_message(Reply_token, text)
예제 #2
0
def message_text(event):
    ### function reply token

    Reply_token = event.reply_token
    text_fromUser = event.message.text

    # text_tosend_1 = TextSendMessage(text='BullBotThai',quick_reply=None)
    # text_tosend_2 = TextSendMessage(text='วันนี้เล่นตัวไหนดี',quick_reply=None)

    # line_bot_api.reply_message(
    #     Reply_token ,
    #     messages = [text_tosend_1, text_tosend_2]
    # )
    # image_message_1 = ImageMessage(
    #     origianl_content_url='xxx'
    #     ,preview_image_url='xxx'
    # )
    if 'เช็คราคา' in text_fromUser:
        from Resource.bxAPI import GetBxPrice
        from random import randint

        num = randint(1, 10)
        data = GetBxPrice(Number_to_get=num)  ##เก็บจำนวนข้อมูล

        from Resource.FlexMessage import setbubble, setCarousel

        flex = setCarousel(data)

        from Resource.reply import SetMenuMessage_Object, send_flex

        flex = SetMenuMessage_Object(flex)
        send_flex(Reply_token,
                  file_data=flex,
                  bot_access_key=channel_access_token)

    else:
        text_list = [
            'ฉันไม่เข้าใจที่คุณพูด กรุณาเลือกใหม่อีกครั้ง',
            'ขออภัยฉันไม่เข้าใจจริงๆ ลองใหม่อีกครั้ง',
            'ขอโทษครับ ไม่ทราบว่าหมายความว่าอะไร',
            'กรุณากรอกข้อมูลใหม่อีกครั้งนึง'
        ]
        from random import choice
        text_data = choice(text_list)
        text_random = TextSendMessage(text=text_data)
        line_bot_api.reply_message(Reply_token, text_random)
예제 #3
0
def message_text(event):

    # line_bot_api.reply_message(
    #     event.reply_token,#ได้ reply token
    #     TextSendMessage(text=event.message.text)#ส่ง text
    # )

    text_fromuser = event.message.text  #ข้อความจาก user
    Reply_token = event.reply_token
    # userid='U4dd62d9af204ed4fa2f0a3f58c47db19'

    # image_message_1 = ImageSendMessage(
    #     original_content_url='https://image.shutterstock.com/image-photo/beautiful-water-drop-on-dandelion-260nw-789676552.jpg',
    #     preview_image_url='https://image.shutterstock.com/image-photo/beautiful-water-drop-on-dandelion-260nw-789676552.jpg'
    # )

    # text_fromuser_1 = TextSendMessage(text='Pop1',quick_reply=None)
    # text_fromuser_2 = TextSendMessage(text='Pop2',quick_reply=None)

    # line_bot_api.reply_message(Reply_token,messages=[text_fromuser_1,text_fromuser_2,image_message_1])#ส่งได้ 5 ข้อความ แบบ array
    # line_bot_api.push_message(to=userid,messages=[text_fromuser_1,text_fromuser_2,image_message_1])

    if 'check' in text_fromuser:
        from Resource.bxAPI import GetBxPrice
        from random import randint
        num = randint(1, 10)
        data = GetBxPrice(Number_to_get=num)
        from Resource.FlexMessage import setCarousel, setbubble
        flex = setCarousel(data)
        from Resource.reply import SetMenuMessage_Object, send_flex
        flex = SetMenuMessage_Object(flex)
        send_flex(Reply_token,
                  file_data=flex,
                  bot_access_key=channel_access_token)
    else:
        text_list = [
            'ฉันไม่เข้าใจที่คุณพูด กรุณารองใหม่อีกครัง',
            'ขออภัย ฉันไม่เข้าใจจริงๆ',
            'ขอโทษนะครับ ไม่ทราบว่ามีความหมายอย่างไรครับ', 'กรุณาพิมพ์ใหม่'
        ]
        from random import choice
        text_data = choice(text_list)
        text = TextSendMessage(text=text_data)
        line_bot_api.reply_message(Reply_token, text)
예제 #4
0
def message_text(event):
    #fuction reply_token #line ส่งมาหา server เรา ได้
    print("reply_token: " + event.reply_token)  #debug
    print("userId: " + event.source.user_id)  #debug
    print("message id: " + event.message.id)  #debug
    print("message: " + event.message.text)  #debug

    Reply_token = event.reply_token  # reply token

    text_fromuser = event.message.text  # get ข้อความที่ user ส่งมา

    if "ราคา" in text_fromuser:
        from Resource.bxAPI import GetBxPrice
        #from random import randint
        #num = randint(1,5)
        data = GetBxPrice(Number_to_get=3)
        from Resource.FlexMessage import setCarousel, setbubble

        flex = setCarousel(data)
        from Resource.reply import SetMenuMessage_Object, send_flex
        flex = SetMenuMessage_Object(flex)
        send_flex(Reply_token,
                  file_data=flex,
                  bot_access_key=channel_access_token)
        #text_tosend = TextSendMessage(text=str(price))
        #text_tosend02 = TextSendMessage(text="Hello")
        #line_bot_api.reply_message(Reply_token,messages=text_tosend)
    else:
        text_list = [
            "ฉันไม่เข้าใจที่คุณพูด ลองใหม่", "ขออภัย ไม่ทราบ",
            "ขอโทษ ระบบไม่มีข้อมูล"
        ]

        from random import choice  # random ข้อควมมตอบ user

        text_data = choice(text_list)

        text_random = TextSendMessage(text=text_data)
        line_bot_api.reply_message(Reply_token, text_random)
예제 #5
0
def message_text(event):

    ### function reply_token
    Reply_token = event.reply_token  #### reply token
    text_fromUser = event.message.text  ### ข้อความจาก ยูสเซอ line
    print(text_fromUser)

    #### ตรวจสอบ ว่า ภายในข้อความของยูส มีคำว่า เช็คราคา อยู่หรือไม่ ถ้าใช้ บอทจะตอบกลับเป็น flex message
    if 'เช็คราคา' in text_fromUser:
        from Resource.bxAPI import GetBxPrice
        from random import randint
        num = randint(1, 10)
        data = GetBxPrice(Number_to_get=num)  ## เก็บจำนวนข้อมูล

        from Resource.FlexMessage import setbubble, setCarousel

        flex = setCarousel(data)

        from Resource.reply import SetMenuMessage_Object, send_flex

        flex = SetMenuMessage_Object(flex)
        send_flex(Reply_token,
                  file_data=flex,
                  bot_access_key=channel_access_token)

    ##### check newsapi
    elif 'เช็คข่าวสาร' in text_fromUser:
        text = TextSendMessage(
            text='ท่านได้ทำการเลือกเมนู เช็คข่าวสาร')  #setup text message

        from Resource.FlexMessage import news_setbubble
        from Resource.reply import SetMenuMessage_Object, send_flex
        from Resource.GetNews import get_cnn_news

        data = get_cnn_news()
        flex = news_setbubble(data['title'], data['description'], data['url'],
                              data['image_url'])

        text = TextSendMessage(
            text='รายงานข่าวสารสำหรับ CNN ล่าสุด').as_json_dict()

        msg = SetMenuMessage_Object([text, flex])

        send_flex(Reply_token,
                  file_data=msg,
                  bot_access_key=channel_access_token)

    else:
        message = ''  ### message ที่เราจะส่งกลับไปให้ยูสเสอ
        from dialogflow_uncle import detect_intent_texts
        project_id = os.getenv('DIALOGFLOW_PROJECT_ID')
        session_id = event.source.user_id  ## get user id
        message = detect_intent_texts(project_id, session_id, text_fromUser,
                                      'th')

        text = []
        user_data = None

        for i in message['fulfillment_messages']:  ### เพิ่มจากในคลิบ
            txt = TextSendMessage(text=i)  ### เพิ่มจากในคลิบ
            text.append(txt)  ### เพิ่มจากในคลิบ

        if message[
                'action'] == 'Uncleregister.Uncleregister-custom.Uncleregister-courses-custom.Uncleregister-courses-where-custom.Uncleregister-courses-where-when-yes':
            user_data = TextSendMessage(text=str(
                message['parameters']))  ### เพิ่มจากในคลิบ
            text.append(user_data)  ### เพิ่มจากในคลิบ

        line_bot_api.reply_message(Reply_token, messages=text)
예제 #6
0
def message_text(event):
    print(event)
    Text_fromUser = event.message.text
    reply_Token = event.reply_token

    if 'เช็คราคา' in Text_fromUser:
        from Resource.bxAPI import GetBxPrice
        msg = GetBxPrice(Number_to_get=10)
        from Resource.FlexMessage import setCarousel
        flex = setCarousel(msg)  ### setup carousel
        flex = SetMenuMessage_Object(flex) ### setup flex
        send_flex(reply_Token , flex , channel_access_token)
    
    elif 'เช็คข่าวสาร' in Text_fromUser:
        from Resource.GetNews import get_cnn_news
        data = get_cnn_news()
        from Resource.FlexMessage import news_setbubble
        msg = news_setbubble(data['title'],data['description'],data['url'],data['image_url'])
        flex = SetMenuMessage_Object(msg)
        send_flex(reply_Token , flex , channel_access_token)
    
    else :
        message = '' ### message ที่เราจะส่งกลับไปให้ยูสเสอ
        text = []
        user_data = None

        from dialogflow_uncle import detect_intent_texts
        project_id = os.getenv('DIALOGFLOW_PROJECT_ID')
        session_id = event.source.user_id  ## get user id
        message = detect_intent_texts(project_id,session_id,Text_fromUser,'th')
        

        for i in message['fulfillment_messages']: ### เพิ่มจากในคลิบ
            txt = TextSendMessage(text=i)### เพิ่มจากในคลิบ
            text.append(txt)### เพิ่มจากในคลิบ

        ## adding imagemap message เรียนอะไร
        if message['action'] == 'register':
            from MessageTemplate.Imgmap import selectCourse
            imagemap = Base.get_or_new_from_json_dict(selectCourse(),ImagemapSendMessage)
            text.append(imagemap)
            ### prepare imagemap message to send

        #### เรียนที่ไหน
        elif message['action'] == 'selectcourses':
            from MessageTemplate.Imgmap import selectWhere
            imagemap = Base.get_or_new_from_json_dict(selectWhere(),ImagemapSendMessage)
            text.append(imagemap)
            ### prepare Imagemap message to send

        ### ให้ยูสเซอลงเวลา
        elif message['action'] == 'selecttype':
            from MessageTemplate.Imgmap import selectTime
            msg = Base.get_or_new_from_json_dict(selectTime(),TemplateSendMessage)
            text.append(msg)
        
        #### confirm message
        elif message['action'] == 'selectmonth':
            from MessageTemplate.Imgmap import confirmRegis
            msg = Base.get_or_new_from_json_dict(confirmRegis(),TemplateSendMessage)
            text.append(msg)
        
        ### sumarize message
        elif message['action'] == 'confirm':
            from google.protobuf.json_format import MessageToDict
            data = message['parameters']
            data = MessageToDict(data)

            from MessageTemplate.Imgmap import GetStudentCard


            ####เนื้องจากการส่งข้อความแบบ flex2019 SDK python ยังไม่รองรับทำให้เราต้องกลับมาส่งแบบ manual
            msg = []
            for i in text:
                Dict = i.as_json_dict()
                msg.append(Dict)
            msg.append(GetStudentCard(data['courses']))
            flex = SetMenuMessage_Object(msg)
            send_flex(reply_Token,file_data = flex,bot_access_key = channel_access_token)
        #### กรณีเข้าโหมดถามตอบ
        elif message['action'] == 'q&a':
            line_bot_api.link_rich_menu_to_user(session_id,richmenu['menu2'])
        #### กรณีกำลังถามตอบ
        elif message['action'] == 'qa.qa-fallback':
            from MessageTemplate.Imgmap import AnwserMsg

            from Resource.wolf import search_wiki

            result = search_wiki(Text_fromUser)

            ### set msg + answer
            Flex_Ans = AnwserMsg(Text_fromUser,result)

            ### set quick reply
            qbtn = QuickReplyButton(image_url='https://cdn0.iconfinder.com/data/icons/online-education-butterscotch-vol-2/512/Questions_And_Answers-512.png'
            ,action=MessageAction('หยุดถาม','หยุดถาม'))
            q = QuickReply(items=[qbtn])

            ### set text as json
            new_text1 = TextSendMessage(text='ลุงขอหาแปรป...').as_json_dict()
            new_text2 = TextSendMessage(text='อยากถามต่อไหม ถ้าไม่... กดปุ่ม หยุดถามได้เลยจร้า',quick_reply=q).as_json_dict()

            ### send msg with quick reply
            flex = SetMenuMessage_Object(Message_data=[new_text1,Flex_Ans,new_text2])

            r = send_flex(Reply_token,file_data = flex,bot_access_key = channel_access_token)
        #### กรณีหยุดถาม
        elif message['action'] == 'qa.qa-custom':
            line_bot_api.link_rich_menu_to_user(session_id,richmenu['menu1'])
            text = TextSendMessage(text='แล้วกลับมาถามใหม่น่าาาา...')
            line_bot_api.reply_message(reply_Token,text)
        print(message['action'])
        line_bot_api.reply_message(reply_Token,text)
            
    
    return 'OK'
예제 #7
0
def message_text(event):

    Reply_token = event.reply_token  ### reply token
    text_fromUser = event.message.text  ## message from user

    #################### 1
    # Text_tosend1 = TextSendMessage(text='uncle engineer 01',quick_reply=None)
    # Text_tosend2 = TextSendMessage(text='uncle engineer 02',quick_reply=None)

    # image_message = ImageSendMessage(
    #     original_content_url='https://cdn.majorcineplex.com/uploads/movie/2686/thumb_2686.jpg',
    #     preview_image_url='https://www.logolynx.com/images/logolynx/04/04788b7d8705912db91b77cedfb16073.jpeg'
    # )
    # sticker_message = StickerSendMessage(
    #   package_id='1',
    #   sticker_id='1'
    # )

    # line_bot_api.reply_message(
    #     Reply_token,
    #     messages = [Text_tosend1,Text_tosend2,sticker_message,image_message]
    # )

    #################### 2
    # if 'price' in text_fromUser:
    #     from Resource.bxAPI import GetBxPrice
    #     price = GetBxPrice()
    #     text_tosend = TextSendMessage(text=str(price))
    #     line_bot_api.reply_message(Reply_token,text_tosend)

    #################### 3
    if 'เช็คราคา' in text_fromUser:
        from Resource.bxAPI import GetBxPrice
        from random import randint
        num = randint(1, 10)
        data = GetBxPrice(num)  ## เก็บจำนวนข้อมูล

        from Resource.FlexMessage import setbubble, setCarousel

        flex = setCarousel(data)

        from Resource.reply import SetMenuMessage_Object, send_flex

        flex = SetMenuMessage_Object(flex)

        send_flex(Reply_token,
                  file_data=flex,
                  bot_access_key=channel_access_token)

    else:
        text_list = [
            'ฉันไม่เข้าใจที่คุณพูด กรุณาลองใหม่อีกครั้งค่ะ',
            'ขออภัย ฉันไม่เข้าใจจริงๆค่ะ ลองใหม่อีกครั้งนะค่ะ',
            'ขอโทษค่ะ ไม่ทราบว่า มีความหมายอย่างไรค่ะ',
            'กรุณาลองพิมพ์ใหม่ได้ไหมค่ะ'
        ]

        from random import choice
        text_data = choice(text_list)
        text = TextSendMessage(text=text_data)
        line_bot_api.reply_message(Reply_token, text)