Exemple #1
0
def drink_menu(text):
    pattern = r'.*menu$'
    web = []
    if re.search(pattern, text.lower()):

        temp = get_image_link(text)
        print('fun' + str(temp))
        for t in temp:
            web.append(
                ImageSendMessage(original_content_url=t, preview_image_url=t))
        return web
Exemple #2
0
def handle_message(event):
    message = ImageSendMessage(
        original_content_url='https://i.imgur.com/LWyvy2Y.jpg',
        preview_image_url='https://i.imgur.com/LWyvy2Y.jpg')
    line_bot_api.reply_message(event.reply_token, message)
    '''
    message=StickerSendMessage(package_id='1',sticker_id='1')
    line_bot_api.reply_message(event.reply_token,message)
    '''
    # 回應使用者輸入的話
    '''
Exemple #3
0
def image_send_message_list(img_dir, img_list):
    image_name = random.choice(img_list)
    image_url = os.path.join(AP_URL, img_dir, image_name)
    image_thumb_url = os.path.join(AP_URL, img_dir, 'thumb', image_name)

    message = ImageSendMessage(
        original_content_url=image_url,
        preview_image_url=image_thumb_url
    )
    print('[Image Log] image_send_message_list image_url=' + image_url)
    return message
Exemple #4
0
def _response_to_message(response: dict):
    """ control_session が返す response から Line の Message オブジェクトを生成 """
    quick_reply = quick_reply_dict.get(response.get("quick_reply"))
    if "text" in response:
        return TextSendMessage(text=response["text"], quick_reply=quick_reply)
    elif "image" in response:
        return ImageSendMessage(original_content_url=response["image"],
                                preview_image_url=response["image"],
                                quick_reply=quick_reply)
    else:
        raise ValueError("Invalid response.")
Exemple #5
0
def handle_message(event):
    if event.message.text == '選單':
        buttons_template_message = TemplateSendMessage(
            alt_text='服務功能 template',
            template=ButtonsTemplate(
                thumbnail_image_url=
                'https://www8.water.gov.tw/ch/images/01_img/image002.png',
                title='選擇服務',
                text='請選擇',
                actions=[
                    MessageTemplateAction(label='漏水小區狀態查詢', text='查詢漏水區域')
                ]))
        line_bot_api.reply_message(event.reply_token, buttons_template_message)
    elif '澎湖' in event.message.text:
        global region
        region = '澎湖'
        location_list = os.listdir('data/澎湖')
        response = '您已選擇' + '[' + region + ']小區,' + \
        '可選擇以下共' + str(len(location_list)) + '個地點來查看漏水小區域資訊\n' + \
        '[' + ','.join(location_list) + ']'
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=response))
    elif event.message.text in os.listdir('data/' + region):
        global location
        location = event.message.text
        response = '您已選擇' + '[' + location + ']小區地點,可輸入[event]查看漏水事件圖' + \
        '[map]查看管線分佈位置地圖'
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=response))

    elif event.message.text == 'map' or event.message.text == 'event':
        region_encoded = urllib.parse.quote(region)
        location_encoded = urllib.parse.quote(location)
        service_type = event.message.text
        image_url = config['server'][
            'url'] + '/image/' + region_encoded + '/' + location_encoded + '/' + service_type
        app.logger.info("image url: {}".format(image_url))
        line_bot_api.reply_message(
            event.reply_token,
            ImageSendMessage(original_content_url=image_url,
                             preview_image_url=image_url))
    else:
        entity_list = wit_ai.retrive_message_entity(event.message.text)
        if 'region' in entity_list:
            # region_list = os.listdir('data')
            region_list = ['澎湖']
            region_str = '[' + ','.join(region_list) + ']'
            response = '總計有' + region_str + '共' + str(len(region_list)) + '個小區\n' + \
                       '請說要查詢的漏水小區名稱'
            app.logger.info('info')
        else:
            response = '寶寶聽不懂,所以寶寶不說QQ'
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=response))
 def on_enter_ask_symptom(self, event):
     self.reply_message_with_logging(
         event.reply_token,
         event.source.user_id,
         messages=[
             ImageSendMessage(original_content_url=symptom_origin_img_url,
                              preview_image_url=symptom_preview_img_url),
             TextSendMessage(
                 text=DengueBotMachine.reply_msgs['symptom_warning'])
         ])
     self.finish_ans()
Exemple #7
0
def handle_send_message5(event,reply,userid):
    result = hair_change.hair_image(event,userid)
    reply = str(reply)
    print("通過チェック画像:{}".format(main.FQDN + "/static/" + userid + "/" + event + "_face.jpg"))
    message = []
    message.append(TextSendMessage(text = "画像を加工中です..."))
    message.append(ImageSendMessage(
        original_content_url=main.FQDN + "/static/" + userid + "/" + event + "_face.jpg",
        preview_image_url=main.FQDN + "/static/" + userid + "/" + event + "_face.jpg",))
    message.append(TextSendMessage(text = "加工が終了しました。"))
    main.line_bot_api.reply_message(reply,message)
 def make_messsage(self, text):
     if text == "始解":
         text1 = TextSendMessage("砕けろ 鏡花水月")
         img = ImageSendMessage(
             original_content_url=
             "https://shota-imazeki.herokuapp.com/static/aizen.jpg",
             preview_image_url=
             "https://shota-imazeki.herokuapp.com/static/aizen.jpg",
         )
         text2 = TextSendMessage("僕の斬魄刀『鏡花水月』\n有する能力は『完全催眠』だ")
         return [text1, img, text2], True
     return None, False
Exemple #9
0
def stalk(username):
    url = 'https://www.instagram.com/'+username
    try :
        match = re.findall(r'"display_url":"(.*?)"', str(urllib.request.urlopen(url).read(100000)))
        if len(match) == 0:
            result = TextSendMessage(text = "Photo doesn't exist. Perhaps this user account private or don't have any photos yet") 
        else :
            random_img = match[random.randint(0,len(match)-1)]
            result = ImageSendMessage(original_content_url=random_img, preview_image_url=random_img)
    except:   # Ketika username yang dicari tidak ada
        result = TextSendMessage(text = "Username doesn't exist")
    return result
Exemple #10
0
 def reply_join(self):
     group_id = self.event.source.group_id
     line_bot_api.reply_message(
         self.event.reply_token,
         TextSendMessage(text="Bot not available for group"))
     reply_msg = "If you would like to use the bot, add the bot to friend with QR code first" + os.environ.get(
         'LINE')
     line_bot_api.push_message(group_id, TextSendMessage(text=reply_msg))
     url_code = os.environ.get('QRCODE')
     line_bot_api.push_message(group_id,
                               ImageSendMessage(url_code, url_code))
     line_bot_api.leave_group(group_id)
Exemple #11
0
 def on_enter_final_result(self, event):
     reply_token = event.reply_token
     line_bot_api.reply_message(event.reply_token, [
         TextSendMessage(text="回想之前的每個時刻,其實我們都有機會站出來為他發生,性向沒有對錯,錯的是你的觀念"),
         ImageSendMessage(
             original_content_url=
             "https://raw.githubusercontent.com/fancyshon/TOC_Project/master/img/final.png",
             preview_image_url=
             "https://raw.githubusercontent.com/fancyshon/TOC_Project/master/img/final.png"
         ),
         TextSendMessage(text="故事結束")
     ])
Exemple #12
0
def image_send_message_dir(img_dir):
    image_name = random.choice([os.path.basename(f) for f in (
        glob.glob(os.path.join(img_dir, '*.jpg')))])
    image_url = os.path.join(AP_URL, img_dir, image_name)
    image_thumb_url = os.path.join(AP_URL, img_dir, 'thumb', image_name)

    message = ImageSendMessage(
        original_content_url=image_url,
        preview_image_url=image_thumb_url
    )
    print('[Image Log] image_send_message_dir image_url=' + image_url)
    return message
Exemple #13
0
    def setUp(self):
        self.tested = LineBotApi('channel_secret')

        self.image_message = ImageSendMessage(
            original_content_url='https://example.com/original.jpg',
            preview_image_url='https://example.com/preview.jpg')

        self.message = [{
            "type": "image",
            "originalContentUrl": "https://example.com/original.jpg",
            "previewImageUrl": "https://example.com/preview.jpg",
        }]
Exemple #14
0
def create_image_message(filename):
    """画像"""
    import secrets
    token = secrets.token_hex()
    return ImageSendMessage(
        original_content_url='{address}/get_image/{filename}/{token}'.format(
            address=NGROK_ADDRESS, filename=filename, token=token),
        preview_image_url='{address}/get_image/{filename}/{token}'.format(
            address=NGROK_ADDRESS, filename=filename, token=token)
        # original_content_url='https://storage.googleapis.com/smartse-team3/{filename}.jpg'.format(filename=filename),
        # preview_image_url='https://storage.googleapis.com/smartse-team3/{filename}.jpg'.format(filename=filename),
    )
Exemple #15
0
    def setUp(self):
        self.tested = LineBotApi('d42b9b5dc4df7ad44e9bddd5ee915fc7')

        self.image_message = ImageSendMessage(
            original_content_url='https://example.com/original.jpg',
            preview_image_url='https://example.com/preview.jpg')

        self.message = [{
            "type": "image",
            "originalContentUrl": "https://example.com/original.jpg",
            "previewImageUrl": "https://example.com/preview.jpg",
        }]
Exemple #16
0
def skill(reply_token):
    
    message1 = ImageSendMessage(
		original_content_url='https://imgur.com/kpKimU4.jpg',
        preview_image_url='https://imgur.com/kpKimU4.jpg')

    message2 = TextMessage(text="在程式語言的部分我接觸過前端設計(JavaScript、HTML、CSS)等做網頁設計與應用程式開發,也利用過C#、JAVA等做後端程式應用\n"+"而在研究所後由於課程與競賽需求我自學Python語言做資料分析與視覺處理\n"+"我主要運用的開發工具有Visual Studio、Jupyter、Unity、Eclipse等")
    message3= TextMessage(text="由於我的興趣是畫畫,因此有在自學電繪,主要使用的電繪軟體為Painting及Photoshop,大學時為了訂立目標,我曾經上架過LINE貼圖(不過當時繪畫能力還不夠成熟,就不獻醜了"+"\uDBC0\uDC8E !) \n"+"另外我的文書處理能力(包括Word撰寫與PPT製作能力...等)都很不錯喔!")

    line_bot_api.reply_message(
        reply_token,
        [message1,message2,message3])
Exemple #17
0
def work(reply_token):
   
    message1 = ImageSendMessage(
		original_content_url='https://imgur.com/unEjMBg.jpg',
        preview_image_url='https://imgur.com/unEjMBg.jpg')

    message2 = TextMessage(text="以上經歷是曾經在校支援的一些工作\n"+"(包含計畫撰寫、課程助教、輔導教師等)")
    message3= TextMessage(text="但我還沒有參與過任何企業實習計畫\n"+"希望能在碩一到畢業前獲取實習經驗!而LINE正是我夢想的企業之一"+"\uDBC0\uDC8D \n"+"期望有機會能夠加入你們的團隊,為你們盡心盡力!")

    line_bot_api.reply_message(
        reply_token,
        [message1,message2,message3])
Exemple #18
0
def send_image_message(reply_token, text):
    line_bot_api = LineBotApi(channel_access_token)

    line_bot_api.reply_message(
        reply_token,
        ImageSendMessage(original_content_url=
                         'https://arcane-meadow-43606.herokuapp.com/show-fsm',
                         preview_image_url=
                         'https://arcane-meadow-43606.herokuapp.com/show-fsm'))

    print("send!!")
    return "OK"
Exemple #19
0
def notification(text, img_url):
    with open('data/notify_list.json', 'r') as file:
        notify_list = json.load(file)
    if len(notify_list) == 0:
        return False
    image_message = ImageSendMessage(original_content_url=img_url,
                                     preview_image_url=img_url)
    # content = "{}\n{}".format(title, link)
    line_bot_api.multicast(notify_list,
                           [TextSendMessage(text=text), image_message])
    # line_bot_api.multicast(notify_list, [TextSendMessage(text=content)])
    return True
def handle_send_message4(event, relpy):
    result = dot_change.dot_image(event)
    reply = str(relpy)
    main.line_bot_api.reply_message(
        reply,
        ImageSendMessage(
            original_content_url=main.FQDN + "/static/" + event + "_face.jpg",
            preview_image_url=main.FQDN + "/static/" + event + "_face.jpg",
        ))


################################################################
Exemple #21
0
def img_search(event):
    try:
        random_img_url = utils.get_img_url(event.message.text)

        line_bot_api.reply_message(
            event.reply_token,
            ImageSendMessage(original_content_url=random_img_url,
                             preview_image_url=random_img_url))
        return True

    except:
        return False
Exemple #22
0
 def on_enter_drop(self, event):
     reply_token = event.reply_token
     send_multiple_message(reply_token, [
         TextSendMessage("快退吧!你沒救了!"),
         ImageSendMessage(
             original_content_url=
             'https://3.bp.blogspot.com/-2QLT7Uk6WnI/V77pnCrd0RI/AAAAAAAAHWc/qSgCr7BrJUERswcvL0tiAkihdNpsngkUACLcB/s1600/SnapShot%25280%25292.jpg',
             preview_image_url=
             'https://3.bp.blogspot.com/-2QLT7Uk6WnI/V77pnCrd0RI/AAAAAAAAHWc/qSgCr7BrJUERswcvL0tiAkihdNpsngkUACLcB/s1600/SnapShot%25280%25292.jpg'
         )
     ])
     self.go_back()
Exemple #23
0
 def on_enter_keep(self, event):
     reply_token = event.reply_token
     send_multiple_message(reply_token, [
         TextSendMessage("別退!教授和同學會拯救你的!"),
         ImageSendMessage(
             original_content_url=
             'https://stickershop.line-scdn.net/stickershop/v1/product/13127/LINEStorePC/main.png;compress=true',
             preview_image_url=
             'https://stickershop.line-scdn.net/stickershop/v1/product/13127/LINEStorePC/main.png;compress=true'
         )
     ])
     self.go_back()
Exemple #24
0
def handle_message(event):
    text = event.message.text
    try:
        if 10 > len(text) > 0:
            f_name = ('%032x' % int(datetime.datetime.now().timestamp()))[-10:]
            stock_id = get_stock_id(text)
            match = get_match_result(text)
            if stock_id == STATUS_ID_NOT_FOUND:
                raise ValueError('查無股票代號 / 名稱, Invalid Stock Name / Id.')
            if stock_id != STATUS_PASS:
                klp = FugleKLinePlotter(stock_id, f_name)
                file_name = stock_id + '-' + f_name
                if match.group(1).lower() == 'p':
                    klp.draw_plot()
                    img_url = server_url + '/images/{file_name}.png'.format(
                        file_name=file_name)
                    lower_img_url = server_url + '/images/lower_{file_name}.png'.format(
                        file_name=file_name)
                    line_bot_api.reply_message(
                        event.reply_token,
                        ImageSendMessage(original_content_url=img_url,
                                         preview_image_url=lower_img_url))
                elif match.group(1).lower() == 'q':
                    line_bot_api.reply_message(
                        event.reply_token,
                        TextSendMessage(klp.get_best_five_quote()))
                elif match.group(1).lower() == 'k':
                    dlp = DailyKLinePlotter(stock_id, f_name)
                    dlp.draw_plot()
                    img_url = server_url + '/images/{file_name}.png'.format(
                        file_name=file_name)
                    lower_img_url = server_url + '/images/lower_{file_name}.png'.format(
                        file_name=file_name)
                    line_bot_api.reply_message(
                        event.reply_token,
                        ImageSendMessage(original_content_url=img_url,
                                         preview_image_url=lower_img_url))
    except ValueError as e:
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=str(e.args)))
def handle_message(event):
    # 時刻表と入力されたら画像を送信する
    if event.message.text == "時刻表":
        image_message = ImageSendMessage(
            original_content_url=
            f"https://linebot-practice-12.herokuapp.com/static/jikokuhyou.jpg",
            preview_image_url=
            f"https://linebot-practice-12.herokuapp.com/static/jikokuhyou.jpg",
        )
        line_bot_api.reply_message(event.reply_token, image_message)
    else:
        # 出発時間が送られたら5件出力する
        m = re.match(r'^([01][0-9]|2[0-3]):[0-5][0-9]$', event.message.text)
        conn = psycopg2.connect(DATABASE_URL)
        c = conn.cursor()
        if m != None:
            sql = "SELECT departure_time, arrival_time FROM jikokuhyou WHERE departure_time > '" + \
                m.group(0)+"' limit 5;"
            c.execute(sql)
            ret = c.fetchall()

            line_bot_api.reply_message(
                event.reply_token,
                messages=TemplateSendMessage(
                    alt_text="時刻検索結果",
                    template=ButtonsTemplate(
                        text="バス時刻表検索",
                        actions=[
                            PostbackTemplateAction(
                                label=ret[0][0].strftime("%H:%M") + "発 " +
                                ret[0][1].strftime("%H:%M") + "着",
                                data="is_show=0"),
                            PostbackTemplateAction(
                                label=ret[1][0].strftime("%H:%M") + "発 " +
                                ret[1][1].strftime("%H:%M") + "着",
                                data="is_show=1"),
                            PostbackTemplateAction(
                                label=ret[2][0].strftime("%H:%M") + "発 " +
                                ret[2][1].strftime("%H:%M") + "着",
                                data="is_show=2"),
                            PostbackTemplateAction(
                                label=ret[3][0].strftime("%H:%M") + "発 " +
                                ret[3][1].strftime("%H:%M") + "着",
                                data="is_show=3")
                        ])))
        else:
            line_bot_api.reply_message(
                event.reply_token,
                TextSendMessage(
                    text=
                    "出発したい時間を入力してください!\nその後の直近5件の時刻を教えます。\n(例)09:00, 12:00, 15:30"
                ))
Exemple #26
0
def handle_message(event):
    # 乱数の設定
    random_text = random.randint(0, len(text_list) - 1)
    random_img = random.randint(0, len(img_url_list) - 1)

    line_bot_api.reply_message(
        event.reply_token,
        [
            ImageSendMessage(original_content_url=img_url_list[random_img],
                             preview_image_url=img_url_list[random_img]),
            TextSendMessage(text=text_list[random_text])
        ]  # messageは最大5件 配列にして渡す
    )
    def push_img(self, id, url):
        if not id == '':
            line_bot_api.push_message(
                id,
                ImageSendMessage(
                    original_content_url=url,
                    preview_image_url=url
                )
            )
            return

        else:
            print("not addr")
Exemple #28
0
def build_complex_msg(result):
    complex_msg = []
    for msg_type, msg in result:
        if msg_type == 'text':
            complex_msg.append(TextSendMessage(text=msg))
        elif msg_type == 'image':
            complex_msg.append(ImageSendMessage(
                original_content_url=msg,
                preview_image_url=msg,
            ))
        else:
            raise ValueError(f" unknown msg_type: {msg_type}")
    return complex_msg
Exemple #29
0
def message_image(event):
    org_url = "https://s3-ap-northeast-1.amazonaws.com/shirotanlinebot/images/sample_org.jpg"
    prev_url = "https://s3-ap-northeast-1.amazonaws.com/shirotanlinebot/images/sample_prev.jpg"
    reply = org_url
    addToSql(event, reply, image=True)

    line_bot_api.reply_message(
        event.reply_token, (TextSendMessage(text="がぞうはまだうまくよめないからこれでがまんしてね"),
                            ImageSendMessage(
                                original_content_url=org_url,
                                preview_image_url=prev_url,
                            )))
    '''
Exemple #30
0
def product_1(respond_dict):
    numbers = int(respond_dict["queryResult"]["outputContexts"][0]
                  ["parameters"]["numbers.original"])
    user_id = respond_dict['originalDetectIntentRequest']['payload']['data'][
        'source']['userId']
    answer_str = ""
    image_name = popular_item(df, numbers)
    line_bot_api.push_message(
        user_id,
        ImageSendMessage(
            original_content_url=f"{config['url']}/static/{image_name}",
            preview_image_url=f"{config['url']}/static/{image_name}"))
    return answer_str