示例#1
0
def handle_FollowEvent(event):
    print ("IN")
    print("Follow event")
    print(event)
    global ask_member_Info_session_dict
    user_key = event.source.user_id
    profile = line_bot_api.get_profile(user_key)
    print(profile.display_name)
    print(profile.user_id)
    print(profile.picture_url)
    print(profile.status_message)
    if (is_first_Login(user_key)):
        print("First Login" + user_key)
        message_text_tmp = "Hi "+profile.display_name+"\n"
        message_text_tmp += "歡迎加入FlightGo!!\n\n"
        message_text_tmp += "可以使用FlightGo 來查詢機票。\n有任何問題也可直接詢問客服,FlightGo會立即通知真人客服來為您服務喔\n\n"
        message_text_tmp += "可以打#教學,即可秀出教學畫面唷\n\n"
        message_text_tmp += "為了提供更好的服務,請先填入以下基本資訊~"
        message = TextSendMessage(text=message_text_tmp)
        tmp_list = []
        tmp_list.append("ask_session_start")
        ask_member_Info_session_dict[user_key] = list(tmp_list)
        message_slicker = StickerSendMessage(package_id=1, sticker_id=4)
        reply_event(event, [message, message_slicker])
        ask_paper_memberInfo(event)
    else:
        message_text_tmp = "Hi " + profile.display_name + "\n"
        message_text_tmp += "歡迎再次使用FlightGo!!\n"
        message_text_tmp += "我等您好久啦。\n\n"
        message_text_tmp += "可以使用FlightGo 來查詢機票。\n有任何問題也可直接詢問客服,FlightGo會立即通知真人客服來為您服務喔\n\n"
        message_text_tmp += "可以打#教學,即可秀出教學畫面唷\n\n"
        message = TextSendMessage(text=message_text_tmp)
        message_slicker = StickerSendMessage(package_id=1, sticker_id=4)
        reply_event(event, [message, message_slicker])
示例#2
0
def handle_message(event):
    if event.type == "message":
        if event.message.type == "text":
            profile = line_bot_api.get_profile(event.source.user_id)
            displayName = profile.display_name

            # print(displayName)

            if event.message.text == u"こんにちは":
                # sys.exit("print")
                line_bot_api.reply_message(
                    event.reply_token,
                    [
                        StickerSendMessage(package_id=1, sticker_id=17),
                        TextSendMessage(text='こんにちは!' + displayName + 'さん')
                    ]
                )
            else:
                line_bot_api.reply_message(
                    event.reply_token,
                    [
                        TextSendMessage(text="「こんにちは」と呼びかけてね!"),
                        StickerSendMessage(package_id=1, sticker_id=4),
                    ]
                )
示例#3
0
def handle_message(event):
    msg = event.message.text
    r_msg = "對不起請輸入現在的心情..."

    if "給個表情吧" in msg:
        sticker_message = StickerSendMessage(
            #https://devdocs.line.me/files/sticker_list.pdf
            # package_id=1,
            # sticker_id=1
            package_id=1,
            sticker_id=random.randint(1, 430))
        line_bot_api.reply_message(event.reply_token, sticker_message)

        return
    if "換個表情吧" in msg:
        sticker_message = StickerSendMessage(package_id=2,
                                             sticker_id=random.randint(1, 527))

        line_bot_api.reply_message(event.reply_token, sticker_message)

        return

    if msg in ['hi', 'Hi', 'HI']:
        r_msg = "HI~很高興見到你..."
    elif msg == "我好開心":
        r_msg = "記住開心的感覺喔..."
    elif msg == "我好生氣":
        r_msg = "So What?"
    elif msg == "我好難過":
        r_msg = "你現在感覺如何?"
    elif msg == "我好孤單":
        r_msg = "我一直都在..."

    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r_msg))
示例#4
0
def handle_message(event):
    msg = event.message.text

    if '給我貼圖' in msg:
        sticker_message = StickerSendMessage(package_id='11537',
                                             sticker_id='52002745')

        line_bot_api.reply_message(event.reply_token, sticker_message)

        return

    if msg in ['你現在心情如何?', '你現在心情如何', '今天心情好嗎', '過得怎樣']:
        sticker_message = StickerSendMessage(package_id='1', sticker_id='1')

        line_bot_api.reply_message(event.reply_token, sticker_message)

        return

    if '心情如何' in msg:
        sticker_message = StickerSendMessage(package_id='11538',
                                             sticker_id='51626521')

        line_bot_api.reply_message(event.reply_token, sticker_message)

        return

    if msg == '吃飯了嗎':
        random_num = random.randint(1, 2)
        if random_num == 1:
            r = '還沒耶owo,有罐罐嗎?'
        elif random_num == 2:
            r = '還沒吃~餓餓 (•͈⌔•͈⑅)'
    elif msg in ['hi', 'HI', 'Hi']:
        random_num = random.randint(1, 4)
        if random_num == 1:
            r = 'hi'
        elif random_num == 2:
            r = '喵囉哈~'
        elif random_num == 3:
            r = 'hello!'
        elif random_num == 4:
            r = '喵~owo'
    elif msg == 'こんにちは':
        r = 'こんにちはにゃ~'
    elif msg == 'おはよう':
        r = 'おはようにゃ~'
    elif msg == 'ただいま':
        r = 'おかえり(≧▽≦)'
    elif msg == '略略略':
        r = '略略略~٩(●˙▿˙●)۶…⋆ฺ'
    elif msg == '開心嗎?':
        r = '敲開心(ΦωΦ)!'
    elif msg == '開心嗎':
        r = '敲開心(ΦωΦ)!'
    else:
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=event.message.text))
        return

    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r))
示例#5
0
def handle_message(event):
    msg = event.message.text
    r = '很抱歉,您說什麼'

    if '給我貼圖' in msg:
        sticker_message = StickerSendMessage(package_id='1', sticker_id='1')

        line_bot_api.reply_message(event.reply_token, sticker_message)

        return

    if ['snoopy', 'Snoopy', '史努比'] in msg:
        r = '這個爛東西~'
        sticker_message = StickerSendMessage(package_id='11537',
                                             sticker_id='52002772')
        line_bot_api.reply_message(event.reply_token, sticker_message)

        return

    if msg in ['hi', 'Hi', '哈囉']:
        r = 'hi'
    elif msg == '你吃飯了嗎':
        r = '還沒'
    elif msg == '你是誰':
        r = '我是機器人'
    elif '訂位' in msg:
        r = '你想訂位,是嗎?'

    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r))
示例#6
0
def event_handle(event):
    print(event)
    try:
        userId = event['source']['userId']
    except:
        print('error cannot get userId')
        return ''

    try:
        rtoken = event['replyToken']
    except:
        print('error cannot get rtoken')
        return ''
    try:
        msgId = event["message"]["id"]
        msgType = event["message"]["type"]
    except:
        print('error cannot get msgID, and msgType')
        sk_id = np.random.randint(1, 17)
        replyObj = StickerSendMessage(package_id=str(1), sticker_id=str(sk_id))
        line_bot_api.reply_message(rtoken, replyObj)
        return ''

    if msgType == "text":
        msg = str(event["message"]["text"])
        replyObj = TextSendMessage(text=msg)
        line_bot_api.reply_message(rtoken, replyObj)

    else:
        sk_id = np.random.randint(1, 17)
        replyObj = StickerSendMessage(package_id=str(1), sticker_id=str(sk_id))
        line_bot_api.reply_message(rtoken, replyObj)
    return ''
示例#7
0
def handle_message(event):
    msg = event.message.text
    r = '我看不懂你說什麼'

    if '傷腦筋' in msg:
        sticker_message = StickerSendMessage(package_id='2', sticker_id='23')
        line_bot_api.reply_message(event.reply_token, sticker_message)

    elif '想睡' in msg:
        sticker_message = StickerSendMessage(package_id='1', sticker_id='1')

        line_bot_api.reply_message(event.reply_token, sticker_message)

        return

    if msg in ['hi', 'HI']:
        r = 'hi'
    elif msg == '你吃飯了嗎?':
        r = '還沒'
    elif msg == '你是誰':
        r = '我是機器人'
    elif '訂位' in msg:
        r = '您想訂位,是嗎?'

    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r))
示例#8
0
def message_text(event):
    text = event.message.text
    if text == 'About':
        today = date.today().weekday()
        if today != 5:
            line_bot_api.reply_message(event.reply_token, [
                TextSendMessage(
                    text=message_data['about'].format(weekday[today])),
                StickerSendMessage(package_id='1', sticker_id='116')
            ])
        else:
            line_bot_api.reply_message(event.reply_token, [
                TextSendMessage(
                    text=message_data['about_t'].format(weekday[today])),
                StickerSendMessage(package_id='1', sticker_id='106')
            ])

    elif text == 'Info':
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=message_data['info']))
    elif text == 'Help':
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=message_data['help']))
    elif text == 'Github':
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=message_data['github']))
    else:
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=text))
示例#9
0
def handle_text_message(event):
    if u"天氣" in event.message.text:
        location = event.message.text.replace("天氣", "").strip()
        location = "大安區" if location == "" else location
        now_weather(event, location)

    elif u"@footbot" in event.message.text:
        message = event.message.text.replace(u"@footbot", "").strip()

        shutup_text = [u"閉嘴", u"安靜"]
        speak_text = [u"說話", u"講話"]
        help_text = [u"help", u"說明"]

        if u'開團' in message:
            field = message.replace("開團", "").strip()
            field = "台科大" if field == "" else field
            open_new_game(event, field)
            return

        elif [text for text in help_text if text == message]:
            help_info = (
                "footbot為一個很簡單的對話機器人,他主要功能為以下三點:\n"
                "- 踢球開團: \n"
                "    說明: 自動開團功能,預設為台科平地團\n"
                "    指令: '@footbot 開團 [option]'\n"
                "    範例 1: 輸入'@footbot 開團' -> footbot 會自動開啟台科平地團\n"
                "    範例 2: 輸入'@footbot 開團 福和橋' -> footbot 會自動開啟福和橋下平地團\n\n"
                "- 天氣預報: \n"
                "    說明: 抓大台北地區的三小時天氣預報功能,預設為大安區\n"
                "    指令: '天氣 [option]'\n"
                "    範例 1: 輸入'天氣' -> footbot 會去抓大安區最近三小時內的預報\n"
                "    範例 2: 輸入'天氣 永和區' -> footbot 會去抓永和區最近三小時內的預報\n\n"
                "- echo: \n"
                "    說明: 讓footbot變成回聲機器人,預設為關閉\n"
                "    指令: '@footbot [說話/講話/安靜/閉嘴]'\n"
                "    範例 1: 輸入:'@footbot 說話' -> footbot會啟動echo功能\n"
                "    範例 2: 輸入:'@footbot 閉嘴' -> footbot會關閉echo功能\n\n"
                "- 使用說明: \n"
                "    說明: 顯示使用說明\n"
                "    指令: '@footbot [help/說明]'\n"
                "    範例 1: 輸入:'@footbot help' -> footbot顯示使用說明\n")
            reply(event.reply_token, help_info)

        elif [text for text in shutup_text if text == message]:
            set_echo(False)
            cring_stickers = [8, 9, 16, 21, 111, 113, 123, 131, 135, 403]
            sticker = StickerSendMessage(
                package_id=1, sticker_id=random.choice(cring_stickers))
            line_bot_api.reply_message(event.reply_token, sticker)

        elif [text for text in speak_text if text == message]:
            set_echo(True)
            happy_stickers = [2, 4, 10, 13, 16, 106, 114, 132, 137, 138]
            sticker = StickerSendMessage(
                package_id=1, sticker_id=random.choice(happy_stickers))
            line_bot_api.reply_message(event.reply_token, sticker)

    elif load_conf('bot.conf', "ECHO"):
        reply(event.reply_token, event.message.text)
示例#10
0
def handle_message(event):
    text_message = TextSendMessage(text='啾啾啾啾帥大愛妳小Q')
    text_message.time.sleep(21600)
    msg = event.message.text
    r = '黎黎不懂'
    if '可愛' in msg:
        r = '帥大的小Q最可愛了'
    elif '笨笨' in msg:
        r = '小Q厭厭'
    elif '黎黎不懂' in msg:
        r = '??????'
    elif '色色' in msg:
        r = '帥大才一點都不色'
    elif '愛' in msg:
        r = '最愛小Q了'
    elif '啾啾啾啾' in msg:
        r = '小Q啾啾啾啾啾啾啾啾'
    elif '啾' in msg:
        r = '啾啾啾啾啾'
    elif '想你' in msg:
        r = '帥大也是,好想好想小Q喔'
    elif '晚安' in msg:
        r = '晚安我的寶貝公主Q'
    elif '早安' in msg:
        r = '早安小Q'
    elif '加油' in msg:
        r = '啾啾啾,小Q加油'
    elif '臭' in msg:
        r = '你臭Q'
    elif '...' in msg:
        r = '.........'
    elif '帥大棒' in msg:
        r = '啾啾啾最愛你了寶貝小Q'
    elif '難過' in msg:
        r = '啾啾啾啾不哭,帥大陪妳'
    elif '寶寶' in msg:
        r = '小Q妳才寶寶'
    elif '做毛' in msg:
        r = '在想小Q'
    elif '咘咘' in msg:
        r = '好愛你喔小Q'
    elif '陪' in msg:
        r = '帥大都有在陪小Q阿'
    elif '無聊' in msg:
        r = '啾啾多想點帥大'
    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r))

    if msg in ['嗨', '哈囉', '你好', 'hi', 'hello']:
        sticker_message = StickerSendMessage(package_id='11537',
                                             sticker_id='52002738')
    elif '帥' in msg:
        sticker_message = StickerSendMessage(package_id='1', sticker_id='5')
    elif '抱抱' in msg:
        sticker_message = StickerSendMessage(package_id='11539',
                                             sticker_id='52114111')
    line_bot_api.reply_message(event.reply.token,
                               TextSendMessage(text=sticker_message))
示例#11
0
 def Sticker_Message(number):
     # 哭哭貼圖
     if number == 1:
         StickerMessage = StickerSendMessage(package_id='11538',
                                             sticker_id='51626522')
     elif number == 2:
         StickerMessage = StickerSendMessage(package_id='11539',
                                             sticker_id='52114113')
     return StickerMessage
示例#12
0
def callback(request):
    if request.method == 'POST':
        signature = request.META['HTTP_X_LINE_SIGNATURE']
        body = request.body.decode('utf-8')

        try:
            events = parser.parse(body, signature)
        except InvalidSignatureError:
            return HttpResponseForbidden()
        except LineBotApiError:
            return HttpResponseBadRequest()

        for event in events:
            if isinstance(event, MessageEvent):
                if isinstance(event.message, TextMessage):
                    text = event.message.text
                    if  Keyword.objects.filter(key=text):
                        key = Keyword.objects.get(key=text)
                        if key.response_type == 1:
                            message = TextSendMessage(text=key.response)
                            message2 = StickerSendMessage(package_id = "2" , sticker_id = "149")
                            line_bot_api.reply_message(event.reply_token,[message2, message])


                        elif key.response_type == 2:
                            response = key.response.split(';')
                            choices = response[1].split(',')
                            action=[]
                            for choice in choices:
                                action.append(MessageTemplateAction(
                                            label=choice,
                                            text=choice))

                            message = TemplateSendMessage(
                                alt_text='Confirm template',
                                template=ConfirmTemplate(
                                    text=response[0],
                                    actions = action
                                )
                            )
                            line_bot_api.reply_message(event.reply_token,message)

                    else:
                        url = "https://crobott.herokuapp.com/chatterbot/"
                        r = json.loads(requests.post(url, json={'text': text}).content.decode())
                        message = TextSendMessage(text=r['text'])
                        line_bot_api.reply_message(event.reply_token,message)

                else:
                    message = TextSendMessage(text="抱歉Crobot目前沒辦法解讀非文字訊息!但我會隨機生成貼圖QQ")
                    message2 = StickerSendMessage(package_id = "2" , sticker_id = random.randint(140,179))
                    line_bot_api.reply_message(event.reply_token,[message, message2])

        return HttpResponse()
    else:
        return HttpResponseBadRequest()
示例#13
0
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)
def sticker_text(event):
    if ('brown' in event.message.keywords or 'edward' in event.message.keywords) \
            and os.getenv('LOTIFY_SWITCH') == 'ON':

        user = line_bot_api.get_profile(user_id=event.source.user_id)
        lotify = Client()
        lotify.send_message(
            access_token=os.getenv('LOTIFY_TOKEN'),
            message=f'🎉 {user.display_name} 🏃‍♂️ {user.picture_url}')
        sticker = StickerSendMessage(package_id='6136', sticker_id='10551379')
    else:
        sticker = StickerSendMessage(package_id='8525', sticker_id='16581310')
    line_bot_api.reply_message(event.reply_token, sticker)
示例#15
0
文件: app.py 项目: zinconcb/linebot
def handle_message(event):
    global latest_image_path

    # Handle webhook verification
    if event.reply_token == '00000000000000000000000000000000':
        return 'OK'

    if event.message.text == 'ออกไปได้แล้ว':
        if isinstance(event.source, SourceGroup):
            if event.source.user_id == 'U8c9144cce38f797b77698267bf4307b1':
                line_bot_api.reply_message(event.reply_token, [
                    TextSendMessage(text="บายบ๊ายจ้า"),
                    StickerSendMessage(package_id=1, sticker_id=1)
                ])
                line_bot_api.leave_group(event.source.group_id)
            else:
                line_bot_api.reply_message(event.reply_token, [
                    TextSendMessage(text="ไม่! ไม่ออกเว้ย"),
                    StickerSendMessage(package_id=1, sticker_id=6)
                ])

    if event.message.text == 'ราคาน้ำมัน':
        l = ptt.get_prices()
        s = ""
        for p in l:
            s += "%s %.2f บาท\n" % (p[0], p[1])

        line_bot_api.reply_message(event.reply_token, TextSendMessage(text=s))
    elif event.message.text == 'วิเคราะห์รูป':
        line_bot_api.reply_message(event.reply_token,
                                   [TextSendMessage(text='สักครู่ค่ะ')])

        # Process image
        try:
            lp = LicencePlate()
            result = lp.process(latest_image_path)
            s = lp.translate(result)

            line_bot_api.push_message(event.source.user_id,
                                      [TextSendMessage(text=s)])
        except Exception as e:
            print('Exception:', type(e), e)
            line_bot_api.push_message(
                event.source.user_id,
                [TextSendMessage(text='ไม่สามารถวิเคราะห์รูปได้')])

    else:
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text=event.message.text + 'จ้า'))
示例#16
0
def handle_sticker(event):
    package_id = event.message.package_id
    sticker_id = event.message.sticker_id
    msg = "{} {}".format(package_id, sticker_id)
    if package_id not in ['1', '2', '3']:
        sticker_ids = sticker(mood="normal", cat=1)
        sticker_message = StickerSendMessage(package_id=sticker_ids[0],
                                             sticker_id=sticker_ids[1])
    else:
        sticker_message = StickerSendMessage(package_id=package_id,
                                             sticker_id=sticker_id)

    line_bot_api.reply_message(
        event.reply_token,
        [sticker_message, TextSendMessage(text=msg)])
示例#17
0
def process_sticker_message(event):
    try:
        line_bot_api.reply_message(
            event.reply_token,
            StickerSendMessage(
                package_id=event.message.package_id,
                sticker_id=event.message.sticker_id)
        )
    except LineBotApiError: 
        line_bot_api.reply_message(
            event.reply_token,
            StickerSendMessage(
                package_id=11538,
                sticker_id=51626502)
        )
示例#18
0
def event_handle(event):
    print(event)
    try:
        userId = event['source']['userId']
    except:
        print('error cannot get userId')
        return ''

    try:
        rtoken = event['replyToken']
    except:
        print('error cannot get rtoken')
        return ''
    if 'message' in event.keys():
        try:
            msgType = event["message"]["type"]
            msgId = event["message"]["id"]
        except:
            print('error cannot get msgID, and msgType')
            sk_id = np.random.randint(1,17)
            replyObj = StickerSendMessage(package_id=str(1),sticker_id=str(sk_id))
            line_bot_api.reply_message(rtoken, replyObj)
            return ''
    if 'postback' in event.keys():
        msgType = 'postback'

    if msgType == "text":
        msg = str(event["message"]["text"])
        replyObj = handle_text(msg)
        line_bot_api.reply_message(rtoken, replyObj)

    if msgType == "postback":
        msg = str(event["postback"]["data"])
        replyObj = handle_postback(msg)
        line_bot_api.reply_message(rtoken, replyObj)

    if msgType == "location":
        lat = event["message"]["latitude"]
        lng = event["message"]["longitude"]
        #txtresult = handle_location(lat,lng,casedata,3)
        result = getcaseflex(lat,lng)
        replyObj = FlexSendMessage(alt_text='Flex Message alt text', contents=result)
        line_bot_api.reply_message(rtoken, replyObj)
    else:
        sk_id = np.random.randint(1,17)
        replyObj = StickerSendMessage(package_id=str(1),sticker_id=str(sk_id))
        line_bot_api.reply_message(rtoken, replyObj)
    return ''
示例#19
0
def detect_json_array_to_new_message_array(fileName):
    # 開啟檔案,轉成json
    with open(fileName, 'r', encoding="utf-8") 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(FlexSendMessage.new_from_json_dict(jsonObject))

            # 回傳
    return returnArray
示例#20
0
def handle_content_message(event):
    if isinstance(event.message, ImageMessage):
        ext = 'jpg'
    elif isinstance(event.message, VideoMessage):
        ext = 'mp4'
    elif isinstance(event.message, AudioMessage):
        ext = 'm4a'
    else:
        return

    message_content = line_bot_api.get_message_content(event.message.id)
    dirname = 'tmp'
    fileName = uuid.uuid4().hex
    if not os.path.exists(dirname):
        os.makedirs(dirname)
    with open("tmp/{}.m4a".format(fileName), 'wb') as audio:
        audio.write(message_content.content)

    AudioSegment.converter = "/usr/local/bin/ffmpeg"
    flac_audio = AudioSegment.from_file("tmp/{}.m4a".format(fileName))
    flac_audio.export("tmp/{}.flac".format(fileName), format="flac")
    text = transcribe_file("tmp/{}.flac".format(fileName))

    title_of_song = "おもちゃのチャチャチャ" # use some useful API to get name
    line_bot_api.reply_message(
        event.reply_token, [
            TextSendMessage(text=text),
            TextSendMessage(text="{}ですね?".format(title_of_song)),
            StickerSendMessage(package_id=1, sticker_id=7),
        ]
    )
示例#21
0
def handle_message(event):
    msg = event.message.text
    r = '很抱歉,您說什麼'

    if "睡覺" in msg:
        sticker_message = StickerSendMessage(package_id='1', sticker_id='1')

        line_bot_api.reply_message(event.reply_token, sticker_message)

    if msg in ['hi', 'hello', '妳好', '你好', 'HI', 'Hi', 'Hello']:
        r = '嗨'
    elif msg == '你是誰':
        r = '我是機器人'
    elif '估價' in msg:
        r = '您是想獲得產品報價,是嗎?'
    elif '報價' in msg:
        r = '您是想獲得產品報價,是嗎?'
    elif '價格' in msg:
        r = '您是想獲得產品報價,是嗎?'
    elif '多少錢' in msg:
        r = '您是想獲得產品報價,是嗎?'
    elif msg in ['是的', '是', '對的']:
        r = '請稍等,會有專人為您服務'

    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r))
示例#22
0
def handle_follow_event(event):
    line_bot_api.reply_message(event.reply_token, TextSendMessage(text="您好,\n歡迎使用聊天機器人"))
    line_bot_api.push_message(event.source.user_id, StickerSendMessage(package_id='1', sticker_id='13'))
    line_bot_api.push_message(event.source.user_id,
                               TextSendMessage(text="可直接輸入人名、政黨名"))
    line_bot_api.push_message(event.source.user_id,
                               TextSendMessage(text="或輸入『時間』查詢更詳細的資料"))
示例#23
0
文件: app.py 项目: z6wdc/bot-line
def handle_message(event):
    text = event.message.text
    result = re.match('TOP(\d+)', text, re.IGNORECASE)

    if result:
        n = int(result.group(1))
        if n > 100:
            n = 100
        top_n = anime.sort_values('Score', ascending=False).head(n)
        titles = ''
        for row in enumerate(top_n['Japanese name']):
            titles += f"{row[1]}, "

        line_bot_api.reply_message(
            event.reply_token, [
                TextSendMessage(text=f"アニメTOP{n}"),
                TextSendMessage(text=titles)
            ]
        )        
    else:
        query1 = anime['Japanese name'].str.contains(text, case=False)
        query2 = anime['Name'].str.contains(text, case=False)
        anime_index = anime[query1 | query2].head(1).index

        if anime_index.empty:
            line_bot_api.reply_message(
                event.reply_token, [
                    TextSendMessage(text='見当たらない'),
                    StickerSendMessage(package_id='6136', sticker_id='10551393')
                ]
            )
        else:
            titles = ''
            contents = []
            for i, number in enumerate(indices[anime_index][0][:6]):
                if i == 0:
                    target = f"「{anime.at[number, 'Japanese name']}」をご覧になったあなたへ"
                    continue

                title = anime.at[number, 'Japanese name']
                id = anime_image.at[number, 'MAL_ID']
                contents.append(CarouselColumn(
                    thumbnail_image_url=anime_image.at[number, 'IMAGE_URL'],
                    text=title,
                    actions=[
                        URIAction(
                            label='detail',
                            uri=f'https://myanimelist.net/anime/{id}'
                        )
                    ]
                ))

                titles += f"{title}, "
                
            line_bot_api.reply_message(
                event.reply_token, [
                    TextSendMessage(text=target),
                    TemplateSendMessage(alt_text=titles, template=CarouselTemplate(columns=contents, image_size='contain'))
                ]
            )
示例#24
0
def handle_join(event):
    # group_id = event.source.group_id
    # line_bot_api.get_group_member_profile(group_id,member_id)
    # member_ids_res = line_bot_api.get_group_member_ids(group_id)
    # print(member_ids_res.member_ids)
    # print(member_ids_res.next)

    try:
        profile = line_bot_api.get_group_member_profile(
            event.source.group_id,
            'U792ff52513700854a4a20721b90e79fb'
        )
        line_bot_api.reply_message(
            event.reply_token,
            [
                TextSendMessage(text='สวัสดีค่า'),
                StickerSendMessage(
                    package_id=1,
                    sticker_id=2
                )
            ]
        )        
    except LineBotApiError as e:
        print(e.status_code)
        print(e.error.message)
        print(e.error.details)
        line_bot_api.reply_message(
            event.reply_token,
            [
                TextSendMessage(text='หัวหน้าไม่อยู่ในห้องนี้\nไปละค่ะ\nบัย'),
            ]
        )
        line_bot_api.leave_group(event.source.group_id)
示例#25
0
文件: kosuu.py 项目: jphacks/KB_1801
def handle_message(event):
    if event.type == "message":
        if event.message.type == "text":
            profile = line_bot_api.get_profile(event.source.user_id)
            displayName = profile.display_name

            if event.message.text.isdigit() == u"True":
                line_bot_api.reply_message(
                    sort_staff_list.txtevent.reply_token,
                    [
                        TextSendMessage(
                            text='OK' + displayName + 'さん' + event.message.text + '個だね!!'),
                        make_image_message(),
                    ]
                    os.system('touch sort_staff_list.txt')
                    f=open('sort_staff_list.txt', 'w')
                    f.write(str(num))
                    f.close()
                    os.system(
                        'scp ./sort_staff_list.txt [email protected]:/home/pi/jpHackason/imageRecognition/info/sort_staff_list.txt')

                )
            else:
                line_bot_api.reply_message(
                    event.reply_token,
                    [
                        TextSendMessage(text="机に置くものの個数は何こなの?"),
                        StickerSendMessage(package_id=1, sticker_id=4),
                    ]
                )
示例#26
0
def handle_sticker_message(event):
    line_bot_api.reply_message(
        event.reply_token,
        StickerSendMessage(
            package_id=event.message.package_id,
            sticker_id=event.message.sticker_id)
    )
示例#27
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
示例#28
0
def handle_message(event):
    msg = event.message.text
    r = 'I do not know what you said.'

    if 'sticker' in msg:
        sticker_message = StickerSendMessage(
            package_id='1',
            sticker_id='1'
        )

        line_bot_api.reply_message(
        event.reply_token,
        sticker_message)
        return  #to end the function

    if msg in ['hi', 'Hi']:
        r = 'hi'
    elif msg == 'eat?':
        r = 'No, thanks.'
    elif msg == 'who are you':
        r = 'I am a robot.'
    elif 'order' in msg:
        r = 'Do you want to make a reservation?'

    line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text=r))
示例#29
0
def handle_message(event):
    msg = event.message.text
    r = '很抱歉,您說什麼'

    if '給我貼圖' in msg:
        sticker_message = StickerSendMessage(
            package_id='1',
            sticker_id='1'
        )

        line_bot_api.reply_message(
            event.reply_token,
            sticker_message)

        return

    if msg in ['hi', 'Hi']:
        r = '嗨'
    elif msg == '你吃飯了嗎':
        r = '還沒'
    elif msg == '你是誰':
        r = '我是機器人'
    elif '訂位' in msg:
        r = '您想訂位,是嗎?'

    line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text=r))
示例#30
0
def handle_message(event):
    msg = event.message.text
    r = 'Sorry! 我不了解你的意思'
    if '想說說話' in msg:
        sticker_message = StickerSendMessage(package_id='1', sticker_id='4')

        line_bot_api.reply_message(event.reply_token, sticker_message)
        return

    if msg in ['hi', 'Hi', '你好']:
        r = '嗨, 你好!很開心認識你唷!'
    elif msg == '你是誰':
        r = '我是機器人'
    elif '訂位' in msg:
        r = '您想訂位,是嗎?'
    elif msg == '今天心情不好':
        r = '可以跟我說說唷! 我可以當你的聽眾'
    elif msg == '我們可以做朋友嗎?':
        r = '當然! 你是我最好的朋友'
    elif msg == '心情好煩':
        r = '怎麼了呢? 是誰讓你心煩,我去找他談談'
    elif msg == '你會做什麼呢?':
        r = '我未來會會的很多,但是目前還是有許多要學習的'

    line_bot_api.reply_message(event.reply_token, TextSendMessage(text=r))