コード例 #1
0
ファイル: app.py プロジェクト: AshleyChuang/linebot-mommy
def post_video1():
    """
    Comment for demo.

    if not request.content_type == 'application/json':
        abort(401)

    x = request.GET
    data = request.get_json()
    user_id = data.get('user_id')
    if not user_id:
        abort(401)
    print(user_id)
    profile = line_bot_api.get_profile(user_id)
    user_name = profile.display_name
    """
    user_id = request.args.get("user_id")
    print(user_id)

    message = []
    #message.append(TextSendMessage(text="寶寶已經七個月囉~%s媽咪來回顧一下寶寶的成長吧!"%(user_name)))
    message.append(TextSendMessage(text="寶寶已經五個月囉~媽咪來回顧一下寶寶的成長吧!"))
    message.append(VideoSendMessage(
        original_content_url='https://line-mommy-baby.herokuapp.com/static/video_1.mp4',
        preview_image_url='https://cdn-b-east.streamable.com/image/kdebf_first.jpg?token=6m7RlkvMHXKg7I-g9fezJA&expires=1534826912'
    ))
    line_bot_api.push_message(user_id, message)

    return 'OK'
コード例 #2
0
ファイル: app.py プロジェクト: AshleyChuang/linebot-mommy
def post_video2():
    """
    Comments for demo.

    if not request.content_type == 'application/json':
        abort(401)

    data = request.get_json()
    user_id = data.get('user_id')
    if not user_id:
        abort(401)
    print(user_id)
    profile = line_bot_api.get_profile(user_id)
    user_name = profile.display_name
    """
    user_id = request.args.get("user_id")

    message = []
    #message.append(TextSendMessage(text="恭喜寶寶已經出生了~~這十個月辛苦%s媽媽了!這是寶寶說送給媽咪的小禮物喔~好好回顧一下這十個月肚子的變化吧!"%(user_name)))
    message.append(TextSendMessage(text="恭喜寶寶已經出生了~~這十個月辛苦媽媽了!這是寶寶說送給媽咪的小禮物喔~好好回顧一下這十個月肚子的變化吧!"))
    message.append(VideoSendMessage(
        original_content_url='https://line-mommy-baby.herokuapp.com/static/video_2.mp4',
        preview_image_url='https://cdn-b-east.streamable.com/image/87kji_first.jpg?token=mDniALD2iAqCs1GqZeUDqA&expires=1534827632'
    ))
    line_bot_api.push_message(user_id, message)
    return 'OK'
コード例 #3
0
ファイル: bot_app.py プロジェクト: DoHoNi/test
def reply_result_video(my_instance_id, reply_token, room_info, my_cur_info):

    print "result_file : ", my_cur_info["result_file"]
    result_file_url = my_cur_info["result_file"].split("hello_bot/")[1]
    print "result_file_url = ", result_file_url

    if room_info["all_files"][my_cur_info["all_data_names"]
                              [0]]['ext'] == 'jpg':
        pre_view = room_info["all_files"][my_cur_info["all_data_names"][0]][
            my_cur_info["fm"]]
        print "jpg"
    else:
        print room_info["all_files"][my_cur_info["all_data_names"]
                                     [0]]['iconic']
        pre_view = room_info["all_files"][my_cur_info["all_data_names"]
                                          [0]]['iconic'][my_cur_info["fm"]]
        print "mp4"

    room_path = room_info["room_path"].split("hello_bot/")[1]
    preview_image_url = os.path.join(room_path, 'imgs', pre_view)
    print "result : ", result_file_url
    print "preview : ", preview_image_url
    line_bot_api.push_message(
        my_instance_id,
        VideoSendMessage(
            original_content_url="https://intern-bot.line-apps-beta.com:443/" +
            result_file_url,
            preview_image_url="https://intern-bot.line-apps-beta.com:443/" +
            preview_image_url))
コード例 #4
0
ファイル: sample.py プロジェクト: Dorggie/20190715
def handle_message(event):

    #訊息回傳貼圖
    '''
    message=StickerSendMessage(
    package_id='1',
    sticker_id='1'
    )
    line_bot_api.reply_message(event.reply_token,message)
    '''
    #訊息回傳圖片
    '''
    message=ImageSendMessage(
        original_content_url='https://static2.srcdn.com/wordpress/wp-content/uploads/2019/03/Naruto-Cover.jpg',
        preview_image_url='https://static2.srcdn.com/wordpress/wp-content/uploads/2019/03/Naruto-Cover.jpg'
    )
    line_bot_api.reply_message(event.reply_token,message)
    '''
    #訊息回傳影片

    message = VideoSendMessage(
        original_content_url='https://www.youtube.com/watch?v=WMVWxuJeWTc',
        preview_image_url='https://www.youtube.com/watch?v=WMVWxuJeWTc')
    line_bot_api.reply_message(event.reply_token, message)

    # 回應使用者輸入的話
    '''
コード例 #5
0
def handle_message(event):
    user_message = event.message.text
    reply_message = TextSendMessage(text='請輸入正確指令:「文字」、「圖片」、「貼圖」、「影片」、「地圖」')

    if user_message == '文字':
        reply_message = TextSendMessage(text=event.message.text)
    elif user_message == '圖片':
        reply_message = ImageSendMessage(
            original_content_url='https://i.imgur.com/0Ps4kYi.jpg',
            preview_image_url='https://i.imgur.com/0Ps4kYi.jpg')
    elif user_message == '貼圖':
        reply_message = StickerSendMessage(package_id='1', sticker_id='106')
    elif user_message == '影片':
        reply_message = VideoSendMessage(
            original_content_url='https://i.imgur.com/vxhjk3o.mp4',
            preview_image_url='https://i.imgur.com/0Ps4kYi.jpg')
    elif user_message == '地圖':
        reply_message = LocationSendMessage(title='My Location',
                                            address='Taipei City Goverment',
                                            latitude=25.037707,
                                            longitude=121.564422)
    elif user_message == '快速選單':
        '''
         pass 為 Python 內部關鍵字,主要為佔位符號,
         待之後再補充區塊程式邏輯而不會產生錯誤
        '''
        pass

    line_bot_api.reply_message(event.reply_token, reply_message)
コード例 #6
0
def detect_json_array_to_new_message_array(fileName):
    ''' message_type 判斷器

        讀取指定的 json檔,解析成不同格式的 SendMessage
    '''
    with open(fileName, 'r', encoding='utf8') as f:
        jsonArray = json.load(f)
    
    newmessage_Array = []
    for jsonObject in jsonArray:
        message_type = jsonObject.get('type')
        
        if message_type == 'text':
            newmessage_Array.append(TextSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'sticker':
            newmessage_Array.append(StickerSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'image':
            newmessage_Array.append(ImageSendMessage.new_from_json_dict(jsonObject))  
        elif message_type == 'video':
            newmessage_Array.append(VideoSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'audio':
            newmessage_Array.append(AudioSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'location':
            newmessage_Array.append(LocationSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'imagemap':
            newmessage_Array.append(ImagemapSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'template':
            newmessage_Array.append(TemplateSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'flex':
            newmessage_Array.append(FlexSendMessage.new_from_json_dict(jsonObject))        

    return newmessage_Array
コード例 #7
0
def send_highlight(reply_token):
    message = VideoSendMessage(
        original_content_url='https://www.youtube.com/embed/l0sSxqSUXJY',
        preview_image_url=
        'https://scontent.fkhh1-1.fna.fbcdn.net/v/t1.0-9/p720x720/78642628_2854360461262817_5363181969536450560_o.jpg?_nc_cat=100&_nc_ohc=kgNOhq7ewyAAQn419aRrnxRITRFTRSHhSZz0yNB5DxAKPqd_0RP_uI_CQ&_nc_ht=scontent.fkhh1-1.fna&oh=bfc80f3e242fb2a8f91d75f4c314dc1f&oe=5E8A7C5F'
    )
    line_bot_api = LineBotApi(channel_access_token)
    line_bot_api.reply_message(reply_token, message)
コード例 #8
0
ファイル: tool.py プロジェクト: iiiplay/trainbot
def sendVideoMessage(video_url,image_url,event):
    
    message=VideoSendMessage(
            original_content_url=video_url,
            preview_image_url=image_url,
    )

    line_bot_api.reply_message(event.reply_token,message)
コード例 #9
0
 def test_video_message(self):
     arg = {
         'type': 'video',
         'original_content_url': 'https://example.com/original.mp4',
         'preview_image_url': 'https://example.com/preview.jpg'
     }
     self.assertEqual(self.serialize_as_dict(arg, type=self.VIDEO),
                      VideoSendMessage(**arg).as_json_dict())
コード例 #10
0
def sendVedio(event):  #傳送影像
    try:
        message = VideoSendMessage(
            original_content_url=baseurl + 'robot.mp4',  #影片檔置於static資料夾
            preview_image_url=baseurl + 'robot.jpg'
        )
        line_bot_api.reply_message(event.reply_token, message)
    except:
        line_bot_api.reply_message(event.reply_token,TextSendMessage(text='發生錯誤!'))
コード例 #11
0
ファイル: message.py プロジェクト: nanato12/pylinebot
 def create(
     self, quick_reply: Optional[QuickReply] = None, sender: Optional[Sender] = None
 ) -> VideoSendMessage:
     return VideoSendMessage(
         original_content_url=self.content_url,
         preview_image_url=self.preview_url,
         quick_reply=quick_reply,
         sender=sender,
     )
コード例 #12
0
def send_video_url(id, video_url):
    line_bot_api = LineBotApi(accesstoken)
    try:
        line_bot_api.push_message(
            id, VideoSendMessage(original_content_url=video_url))
        return "OK video"
    except LineBotApiError as e:
        print(e)
        print("error whiel sending video")
コード例 #13
0
def text_message(user: User, msg: str):
    # First you need to finish the self introduction video
    if user.tutorial_step < 1 and msg != 'Finish!':
        return TextSendMessage(text='Please click \"Finish!\" to start!', quick_reply=quick_reply.get_quick_reply(['Finish!']))
    # Finish the video
    if (msg == 'Finish!'):
        user.tutorial_step = 1
        messages = list()
        messages.append(TextSendMessage(text='Nice to meet you!What part of me do you wanna know more!😇', quick_reply=quick_reply.get_quick_reply(['contact', 'skill','experience', 'course', 'motivation'])))
        return messages
    # Motivation's 4 stages
    if msg.lower() in ['begin', 'rookie in cardbo', 'engineer in cardbo', 'target']:
        # text: 簡述 / image: 代表照片 / quick_reply: 可以重新選
        messages = list()
        messages.append(TextSendMessage(text=motivation.text_stage(msg.lower())))
        messages.append(ImageSendMessage(
            original_content_url = motivation.image_stage(msg.lower()),
            preview_image_url = motivation.image_stage(msg.lower()),
            quick_reply=quick_reply.get_quick_reply(['Begin', 'Rookie in Cardbo', 'Engineer in Cardbo', 'Target'])
        )) 
        return messages
    # Contact  
    if msg.lower() == "contact":
        user.mode = 1  
        return FlexSendMessage(alt_text="contact me", contents=contact.contact_me())
    # Skill
    elif msg.lower() == "skill":
        user.mode = 2
        return FlexSendMessage(alt_text="my skill and project", contents=skill.get_skill_carousel())
    # Experience
    elif msg.lower() == "experience":
        user.mode = 3
        return FlexSendMessage(alt_text="my experience", contents=experience.get_exp_carousel())
    # Course
    elif msg.lower() == "course":
        user.mode = 4
        return FlexSendMessage(alt_text="my course", contents=course.get_course_carousel())
    # Motivation
    elif msg.lower() == "motivation":
        user.mode = 5
        return TextSendMessage(text='Below is my progress, or say "journey", in LINE development, hope you can enjoy, too!', quick_reply=quick_reply.get_quick_reply(['Begin', 'Rookie in Cardbo', 'Engineer in Cardbo', 'Target']))
    # Introduction Video
    elif msg.lower() == "self intro":
        user.mode = 6
        messages = list()
        messages.append(TextSendMessage(text='🙋‍♂️Hi!I am Hugo Chen, an undergraduate studied in NTUEE.\n📸The attached video is my brief introduction!\n😇If wanna know me more, please click your interested section below!'))
        messages.append(VideoSendMessage(
            original_content_url = 'https://i.imgur.com/siLRci5.mp4',
            preview_image_url = 'https://i.imgur.com/RtuVLZQ.jpg'
        ))        
        return messages
    # handle other input message
    else:
        return FlexSendMessage(alt_text="Choose one!", contents=greeting.get_greeting_carousel(['contact', 'skill', 'experience', 'course', 'motivation', 'self intro']))
コード例 #14
0
ファイル: lineHandler.py プロジェクト: irs37/Sauce-Bot-LINE
def handle_message(event):
    iid = lid(event)
    reply = ''

    m = proc_message(iid, event)

    if m is not None:
        if "status" in m:
            reply = TextSendMessage(text=m['status'])
        else:
            try:
                if m.get("source") == 'trace':
                    if m['info']['quota'] < 1:
                        handlers.handle_death(m["quota_ttl"], 'trace')

                    elif m['info']['limit'] < 1:
                        handlers.handle_sleep(m["limit_ttl"], 'trace')

                    reply = [
                        VideoSendMessage(original_content_url=m["vid_url"],
                                         preview_image_url=m["image_url"]),
                        TextSendMessage(text="Similarity: " +
                                        str(m['similarity']) + '%\n\n' +
                                        m["reply"])
                    ]
                elif m.get("code"):
                    handlers.sn_inc()
                    handlers.handle_sleep(30, 'sauce')
                    reply = TextSendMessage(
                        text=
                        "(-_-) zzz\n!sauce Bot is exhausted\n\nPlease wait for "
                        + str(handlers.sleep_time['sauce']) + " seconds")
                    if handlers.sn_counter > 2:
                        handlers.handle_death(86400, 'sauce')
                        reply = TextSendMessage(
                            text=
                            "(✖╭╮✖)\n!sauce Bot is dead\n\nPlease wait for resurrection in "
                            + str(handlers.death_time['sauce']) + " seconds")

                elif m.get("source") == 'sauce':
                    reply = [
                        ImageSendMessage(original_content_url=m["image_url"],
                                         preview_image_url=m["image_url"]),
                        TextSendMessage(text="Similarity: " +
                                        str(m['similarity']) + '%\n\n' +
                                        m["reply"])
                    ]
                else:
                    reply = TextSendMessage(text=m["reply"])
            except Exception as err:
                print(err)

        if reply:
            line_bot_api.reply_message(event.reply_token, reply)
コード例 #15
0
def follow_event_message(user: User):
    user.tutorial_step = 0
    messages = list()
    messages.append(TextSendMessage(text='🙋‍♂️Hi!I am Hugo Chen, an undergraduate studied in NTUEE.\n📸The attached video is my brief introduction!\n😇If wanna know me more, please click your interested section below!'))
    messages.append(VideoSendMessage(
        original_content_url = 'https://i.imgur.com/siLRci5.mp4',
        preview_image_url = 'https://i.imgur.com/RtuVLZQ.jpg',
        quick_reply=quick_reply.get_quick_reply(['Finish!'])
    ))
    
    return messages
コード例 #16
0
    def setUp(self):
        self.tested = LineBotApi('channel_secret')

        self.video_message = VideoSendMessage(
            original_content_url='https://example.com/original.mp4',
            preview_image_url='https://example.com/preview.jpg')

        self.message = [{
            "type": "video",
            "originalContentUrl": "https://example.com/original.mp4",
            "previewImageUrl": "https://example.com/preview.jpg",
        }]
コード例 #17
0
ファイル: main.py プロジェクト: LyNnYWu/hongru-linebot
def handle_message(event):
    user_message = event.message.text
    reply_message = TextSendMessage(text='Waht can I do for you?')
    user_id = event.source.user_id

    # 根據使用者 ID 暫存指令
    user_command = user_command_dict.get(user_id)

    # 根據使用者輸入 event.message.text 條件判斷要回應哪一種訊息
    #if user_message == 'text' or 'TEXT':

    #    reply_message = TextSendMessage(text=event.message.text)

    if user_message == 'pic':
        reply_message = ImageSendMessage(
            original_content_url='https://i.imgur.com/WhuIQql.jpg',
            preview_image_url='https://i.imgur.com/WhuIQql.jpg')
    if user_message == '@pic':
        reply_message = ImageSendMessage(
            original_content_url='https://i.imgur.com/J6a2biS.jpg',
            preview_image_url='https://i.imgur.com/J6a2biS.jpg')

    elif user_message == 'sticker':
        reply_message = StickerSendMessage(package_id='2', sticker_id='161')

    elif user_message == '@sticker':
        reply_message = StickerSendMessage(package_id='2', sticker_id='46')

    elif user_message == 'movie':
        reply_message = VideoSendMessage(
            original_content_url='https://i.imgur.com/0thlogL.mp4',
            preview_image_url='https://i.imgur.com/0thlogLm.mp4')

    elif user_message == '@query_by_code' and user_command != '@query_by_code':
        reply_message = TextSendMessage(
            text='Enter the stock\'s code you want to query:')
        user_command_dict[user_id] = '@query_by_code'

    elif user_message == '@selective_stocks':
        #random.choice 方法會從參數 list 隨機取出一個元素
        random_stock = random.choice(selective_stocks)
        reply_message = TextSendMessage(text=f'Selective Stock:{random_stock}')
        user_command_dict[user_id] = None

    elif user_command == '@query_by_code':
        stock_price = stock_price_dict[user_message]
        if stock_price:
            reply_message = TextSendMessage(
                text=f'Closing Price:{stock_price}')
            # 清除指令暫存
            user_command_dict[user_id] = None

    line_bot_api.reply_message(event.reply_token, reply_message)
コード例 #18
0
ファイル: fsm.py プロジェクト: tyler8812/python_dcard
    def on_enter_state9(self, event):
        print("I'm entering state9")
        reply_token = event.reply_token
        message = VideoSendMessage(
            original_content_url='https://i.imgur.com/esj1spp.mp4',
            preview_image_url=
            'https://upload.wikimedia.org/wikipedia/commons/f/f8/Dcard_Favicon_x520.png'
        )

        reply_token = event.reply_token
        send_temp_message(reply_token, message)
        self.go_back()
コード例 #19
0
def handle_message(event):
    msg = event.message.text
    rd = random.randint(1, 3)
    if rd == 1:
        r = '您好,請問有什麼是我可以為您服務的?'
    elif rd == 2:
        r = '您好,請問需要些什麼'
    elif rd == 3:
        r = '您好,如果您不知道怎麼使用,可以輸入「使用說明」'

    if msg == '謝謝':
        sticker_message = StickerSendMessage(package_id='11537',
                                             sticker_id='52002734')
        line_bot_api.reply_message(event.reply_token, sticker_message)
    elif msg != '謝謝':
        if '販賣機' in msg:
            r = '您想知道什麼?  自動販賣機功能,請輸入1; 零件介紹,請輸入2; 學習板介紹,請輸入3'
        elif '自動' in msg:
            r = '您想知道什麼?  自動販賣機功能,請輸入1; 零件介紹,請輸入2; 學習板介紹,請輸入3'
        elif '專題' in msg:
            r = '您想知道什麼?  專題內容請按4; 專題圖片請按5; 專題影片請按6'
        elif msg == '1':
            r = '當程式運作時,步進馬達會旋轉,使上頭的鐵絲也跟著旋轉,最後架上的商品就會掉下來'
        elif msg == '2':
            r = '步進馬達:利用程式碼能控制旋轉次數,也能用可變電阻來控制它的旋轉'
        elif msg == '3':

            image_message = ImageSendMessage(
                original_content_url=
                "https://direct.nuvoton.com/207-thickbox_default/learning-board-of-nuc140-series.jpg",
                preview_image_url=
                "https://direct.nuvoton.com/207-thickbox_default/learning-board-of-nuc140-series.jpg"
            )
            line_bot_api.reply_message(event.reply_token, image_message)
        elif msg == '4':
            r = '這個專題內容是利用學習板來控制步進馬達旋轉的圈數以及角度,來達到販賣機的效果'
        elif msg == '5':

            image_message = ImageSendMessage(
                original_content_url="https://i.imgur.com/RG6zFTv.mp4",
                preview_image_url="https://i.imgur.com/RG6zFTv.jpg")
            line_bot_api.reply_message(event.reply_token, image_message)
        elif msg == '6':
            r = ''
            video_message = VideoSendMessage(
                original_content_url=" https://i.imgur.com/RG6zFTv.mp4 ",
                preview_image_url=" https://i.imgur.com/RG6zFTv.jpg ")
            line_bot_api.reply_message(event.reply_token, video_message)
        elif msg == '使用說明':
            r = '您好,請打出「販賣機」或「專題」'

        line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r))
コード例 #20
0
    def setUp(self):
        self.tested = LineBotApi('d42b9b5dc4df7ad44e9bddd5ee915fc7')

        self.video_message = VideoSendMessage(
            original_content_url='https://example.com/original.mp4',
            preview_image_url='https://example.com/preview.jpg'
        )

        self.message = [{
            "type": "video",
            "originalContentUrl": "https://example.com/original.mp4",
            "previewImageUrl": "https://example.com/preview.jpg",
        }]
コード例 #21
0
def send_gif(recipient, query):
    """
	Send a random GIF with `query` tag to `recipient`.

	recipient - a user ID from `get_recipient_id()`
	query - a string to search as GIF tag
	"""

    gif = search_gif(query, recipient)

    line_bot_api.push_message(
        recipient,
        VideoSendMessage(original_content_url=gif['original']['mp4'],
                         preview_image_url=gif['480w_still']['url']))
コード例 #22
0
def message(event):
    text = event.message.text
    if want_video(text):
        text = '僕の仲間を呼ぶでち🐹'
        query = '#ハムスターのいる生活 OR #ハムスター好きと繋がりたい filter:videos'
        video_url, preview_url = get_video(query)
        line_bot_api.reply_message(event.reply_token, [
            TextSendMessage(text=text),
            VideoSendMessage(original_content_url=video_url,
                             preview_image_url=preview_url)
        ])
    else:
        text = get_reply(text)
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=text))
コード例 #23
0
def send_video_message(reply_token, movie_idx):
    global all_movie_infor
    global all_video_url
    video_url = all_movie_infor[int(movie_idx)].video
    if (video_url not in all_video_url):
        all_video_url.append(video_url)
        downloadYoutube(video_url)
    line_bot_api = LineBotApi(channel_access_token)
    message = VideoSendMessage(
        original_content_url="https://4f0651d08caa.ngrok.io/video" +
        str(len(all_video_url)) + ".mp4",
        preview_image_url=all_movie_infor[int(movie_idx)].image,
    )

    line_bot_api.reply_message(reply_token, message)
コード例 #24
0
    def send_video_message(self, user_ids, video_url, thumbnail_img_url):
        """
        Send video message specific one or more user ID.
        More detail about specifications : https://devdocs.line.me/en/#send-message-object Video section

        :param user_ids:
        :param video_url:
        :param thumbnail_img_url:
        :return:
        """
        user_ids = user_ids.split(",")
        self.__send_multicast(
            user_ids,
            VideoSendMessage(original_content_url=video_url,
                             preview_image_url=thumbnail_img_url))
コード例 #25
0
def handle_message(event):
    if event.message.text[0] == '/' or event.message.text[0] == '/':
        name = ''.join(random.choice(string.ascii_letters) for x in range(10))

        resp = requests.get(
            "http://api.giphy.com/v1/gifs/random?api_key=V5pYPSB0TKF00sZUnt7feN8cjbikI1UF&tag=%s"
            % (event.message.text))
        resp_json = resp.json()
        get_source_gif = resp_json['data']['images']['fixed_height_still'][
            'url']
        git_source_video = resp_json['data']['images']['fixed_width']['mp4']
        #        with open('%s/data/gif/%s.gif' %(FileRoute, name), 'wb') as f:
        #            f.write(requests.get(git_source).content)
        #        clip = mp.VideoFileClip("%s/data/gif/%s.gif" %(FileRoute, name))
        #        clip.write_videofile("%s/data/mp4/%s.mp4" %(FileRoute, name))
        video_message = VideoSendMessage(original_content_url=get_source_video,
                                         preview_image_url=git_source_gif)
        line_bot_api.reply_message(event.reply_token, video_message)
コード例 #26
0
def detect_json_array_to_new_message_array(fileName):

    #開啟檔案,轉成json
    with open(fileName) as f:
        jsonArray = json.load(f)

    # 解析json
    returnArray = []
    for jsonObject in jsonArray:

        # 讀取其用來判斷的元件
        message_type = jsonObject.get('type')

        # 轉換
        if message_type == 'text':
            returnArray.append(TextSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'imagemap':
            returnArray.append(
                ImagemapSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'template':
            returnArray.append(
                TemplateSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'image':
            returnArray.append(ImageSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'sticker':
            returnArray.append(
                StickerSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'audio':
            returnArray.append(AudioSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'location':
            returnArray.append(
                LocationSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'flex':
            returnArray.append(FlexSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'video':
            returnArray.append(VideoSendMessage.new_from_json_dict(jsonObject))
        # 新增flex message種類
        elif message_type == 'carousel':
            returnArray.append(FlexSendMessage.new_from_json_dict(jsonObject))

    # 回傳
    return returnArray
コード例 #27
0
ファイル: 介面.py プロジェクト: lihsianglin/siunn1ua2ah4
def 文字(event):
    回應 = False
    if event.source.type == 'user':
        回應 = True
        資料 = event.message.text
    elif re.match('[台臺]語[::]', event.message.text):
        回應 = True
        資料 = event.message.text[3:]
    if 回應:
        全部圖 = 圖片表.全部圖(event.source)
        影片 = 結果影片表.加影片(全部圖, [], [資料])
        line_bot_api.reply_message(event.reply_token, [
            TextSendMessage(text='完成矣!攏總收著 {} 張背景圖。影片網址: {}'.format(
                全部圖.count(), 影片.網頁下載網址())),
            VideoSendMessage(
                original_content_url=影片.影片網址(),
                preview_image_url=影片.縮圖網址(),
            ),
        ])
        全部圖.delete()
コード例 #28
0
ファイル: main.py プロジェクト: vincent0965/line_bot_material
def detect_json_array_to_new_message_array(fileName):
    # 開啟檔案,轉成json 程式碼編碼需要注意(utf8)
    # 因 window的預設編碼是 cp980 要將編碼調整為 utf8

    with open(fileName, encoding='utf8') as f:
        jsonArray = json.load(f)

    # 解析json
    returnArray = []
    for jsonObject in jsonArray:

        # 讀取其用來判斷的元件
        message_type = jsonObject.get('type')

        # 轉換
        if message_type == 'text':
            returnArray.append(TextSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'imagemap':
            returnArray.append(
                ImagemapSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'template':
            returnArray.append(
                TemplateSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'image':
            returnArray.append(ImageSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'sticker':
            returnArray.append(
                StickerSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'audio':
            returnArray.append(AudioSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'location':
            returnArray.append(
                LocationSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'flex':
            returnArray.append(FlexSendMessage.new_from_json_dict(jsonObject))
        elif message_type == 'video':
            returnArray.append(VideoSendMessage.new_from_json_dict(jsonObject))

            # 回傳
    return returnArray
コード例 #29
0
ファイル: line.py プロジェクト: tetuomi/tetsupy
def handle_message(event):
    if event.type == "message" and event.message.type == "text":
        if event.message.text == "show":
            messages = []
            contents = db.session.query(User).filter_by(user_id=event.source.user_id).all()

            for content in contents:
                messages.append(TextSendMessage(content.content))

            line_bot_api.reply_message(event.reply_token, messages[-5:])

        elif event.message.text == "画像":
            main_image_path = "static/images/hina.jpg"
            preview_image_path = "static/images/hina.jpg"

            image_message = ImageSendMessage(
                original_content_url=f"https://tetsupy.herokuapp.com/{main_image_path}",
                preview_image_url=f"https://tetsupy.herokuapp.com/{preview_image_path}",
            )

            line_bot_api.reply_message(event.reply_token, image_message)

        elif event.message.text == "動画":
            main_video_path = "static/videos/hina.MP4"
            preview_video_path = "static/videos/hina.MP4"

            video_message = VideoSendMessage(
                original_content_url=f"https://tetsupy.herokuapp.com/{main_video_path}",
                preview_image_url=f"https://tetsupy.herokuapp.com/{preview_video_path}",
            )
            line_bot_api.reply_message(event.reply_token, video_message)
            
        else:
            #データベースに追加
            user = User(event.source.user_id, event.message.text)
            db.session.add(user)
            db.session.commit()
        
            line_bot_api.reply_message(event.reply_token,TextSendMessage("記憶しました"))
コード例 #30
0
ファイル: huan7le7.py プロジェクト: lihsianglin/siunn1ua2ah4
def handle_message(event):
    資料 = event.message.text
    original_content_url = (
        'https://xn--lhrz38b.xn--v0qr21b.xn--kpry57d' +
        '/%E8%AA%9E%E9%9F%B3%E5%90%88%E6%88%90' +
        '?%E6%9F%A5%E8%A9%A2%E8%85%94%E5%8F%A3=%E9%96%A9%E5%8D%97%E8%AA%9E&' +
        '%E6%9F%A5%E8%A9%A2%E8%AA%9E%E5%8F%A5=' + quote(揣分詞(資料)))
    line_bot_api.reply_message(
        event.reply_token,
        [
            TextSendMessage(text=資料, ),
            TextSendMessage(text=original_content_url, ),
            VideoSendMessage(
                original_content_url=
                'https://www.dropbox.com/s/j69523t6bm9xz3g/Special_Course.mp4?dl=0',
                preview_image_url=
                'https://itaigi.tw/121c4ed080e9127a72d31ae85d1458fc.svg',
            ),
            #       AudioSendMessage(original_content_url=original_content_url,
            #    duration=500
            # ),
        ])