コード例 #1
0
ファイル: collector.py プロジェクト: evicxixi/NutApp
def get_content(content_id):
    '''
    根据指定喜马拉雅的资源id 将资源存盘及存库
    '''
    # content_id = '21017396'
    content_url = 'http://m.ximalaya.com/tracks/' + content_id + '.json'

    # 获取资源所有字段
    content = requests.get(content_url).content
    content_dict = json.loads(content)

    # 生成资源唯一id
    content_id = str(uuid.uuid4())

    # 存盘(audio)
    audio_url = content_dict.get('play_path_64')
    audio_save_path = os.path.join('audio', content_id + '.' + 'mp3')
    content_save(audio_url, audio_save_path)

    # 存盘(cover)
    cover_url = content_dict.get('cover_url')
    cover_save_path = os.path.join('cover', content_id + '.' + 'jpg')
    content_save(cover_url, cover_save_path)

    # 资源存库
    db, collection = mongodb.get_db_client(DB, COLLECTION)
    data = {
        'title': content_dict.get('title'),
        'category_name': content_dict.get('category_name'),
        'author': content_dict.get('nickname'),
        'audio_path': audio_save_path,
        'cover_path': cover_save_path,
    }
    mongodb.insert_one(collection, data)
コード例 #2
0
ファイル: app.py プロジェクト: cchgene/test123
def handle_follow(event):
    profile = line_bot_api.get_profile(event.source.user_id)
    name = profile.display_name
    uid = profile.user_id
    print(name)
    print(uid)

    if mongodb.find_user(uid, 'vusers') <= 0:
        dic = {
            'userid': uid,
            'username': name,
            'creattime': datetime.now(),
            'Note': 'user',
            'ready': 0
        }
        mongodb.insert_one(dic, 'vusers')
        add_mes = str(name) + '已經加入小鮮盒囉'
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=add_mes))
コード例 #3
0
def handle_follow(event):
    '''
    當使用者加入時觸動
    '''
    # 取得使用者資料
    profile = line_bot_api.get_profile(event.source.user_id)
    name = profile.display_name
    uid = profile.user_id
    
    print(name)
    print(uid)
    # Udbddac07bac1811e17ffbbd9db459079
    if mongodb.find_user(uid,'users')<= 0:
        # 整理資料
        dic = {'userid':uid,
               'username':name,
               'creattime':datetime.now(),
               'Note':'user',
               'ready':0}
        
        mongodb.insert_one(dic,'users')
コード例 #4
0
def handle_message(event):
    # 取得個人資料
    print("----------------必須加入好友才會回覆(個人聊天室、群組聊天室皆可)-------------")
    '''
    當收到使用者訊息的時候
    '''
    profile = line_bot_api.get_profile(event.source.user_id)
    name = profile.display_name
    uid = profile.user_id
    message = event.message.text
    print(name)
    print(uid)
    print(message)

    dic = {
        'userid': uid,
        'username': name,
        'creattime': datetime.now(),
        'message': message
    }

    mongodb.insert_one(dic, 'messages')

    #if mongodb.get_ready(uid,'users') ==1 :
    #    mongodb.update_byid(uid,{'ready':0},'users')
    #    casttext = name+' 對大家說: '+message
    #    remessage = TextSendMessage(text=casttext)
    #    userids = mongodb.get_all_userid('users')
    #    line_bot_api.multicast(userids, remessage)
    #    return 0

    #if message == '群體廣播':
    # 設定使用者下一句話要群廣播
    #   mongodb.update_byid(uid,{'ready':1},'users')
    #  remessage = TextSendMessage(text='請問要廣播什麼呢?')
    # line_bot_api.reply_message(
    #                event.reply_token,
    #               remessage)
    #return 0
    #print('picture:'+profile.picture_url)
    #print('status_message:'+profile.status_message)
    #print("-------------無須加入好友也會回覆(只限在群組內)--------------------------")
    #profile2 = line_bot_api.get_group_member_profile(event.source.group_id, event.source.user_id)
    #print(profile2.display_name)
    #print(profile2.user_id)
    #print(profile2.picture_url)

    # 傳送圖片
    if event.message.text == 'HG':
        message = ImagemapSendMessage(
            base_url='https://i.imgur.com/m1sFvq3.jpg',
            alt_text='HAPPY GO 串聯你的美好生活',
            base_size=BaseSize(height=800, width=600),
            actions=[
                URIImagemapAction(link_uri='https://www.happygocard.com.tw/',
                                  area=ImagemapArea(x=0,
                                                    y=0,
                                                    width=800,
                                                    height=600))
            ])

    # 傳送影片
    elif event.message.text == 'HG影片':
        message = VideoSendMessage(
            original_content_url='https://i.imgur.com/g2aQYSZ.mp4',
            preview_image_url='https://i.imgur.com/g2aQYSZ.mp4')
    # 傳送位置
    elif event.message.text == '公司位置':
        message = LocationSendMessage(title='公司地點',
                                      address='板橋',
                                      latitude=25.013132,
                                      longitude=121.4670082)

    #擲骰子
    elif event.message.text == '擲骰子':
        message = TextSendMessage(
            text=random.choice(['1', '2', '3', '4', '5', '6']))

    # 傳送貼圖
    elif event.message.text == '抽貼圖':
        #line_picture = random.choice([[random.choice([i for i in range(1,18)] + [21] + [i for i in range(100,140)] + [i for i in range(401,431)]),1],[random.choice([18] + [19] + [20] + [i for i in range(22,48)] + [i for i in range(140,180)] + [i for i in range(501,528)]),2]])
        line_picture = random.choice([[random.choice([i for i in range(1,18)] + [21] + \
                               [i for i in range(100,140)] + [i for i in range(401,431)]),1],\
    [random.choice([18] + [19] + [20] + [i for i in range(22,48)] + \
                   [i for i in range(140,180)] + [i for i in range(501,528)]),2],\
    [random.choice([i for i in range(180,260)]),3],\
    [random.choice([i for i in range(260,308)] + \
                   [i for i in range(601,633)]),4]])
        message = StickerSendMessage(package_id=str(line_picture[1]),
                                     sticker_id=str(line_picture[0]))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '卡友好康':
        url = 'https://www.happygocard.com.tw/official/event/calendar/index.html?utm_source=hg&utm_medium=menu&utm_campaign=calendar'
        resp = r.get(url)
        resp.encoding = 'utf-8'
        soup = bs(resp.text, 'html5lib')
        mes_list = []
        for i in soup.select('ul.bxslider > li > p'):
            mes_list.append(i.text)
        remessage = random.choice(mes_list)
        message = TextSendMessage(text=remessage)

    # 傳送確認介面訊息
    elif event.message.text == '我想要評分':
        message = TemplateSendMessage(
            alt_text='今天演講內容滿意嗎?',
            template=ConfirmTemplate(text='今天演講內容滿意嗎?',
                                     actions=[
                                         MessageTemplateAction(label='滿意',
                                                               text='GOOD'),
                                         MessageTemplateAction(
                                             label='非常滿意!', text='VERY GOOD!')
                                     ]))

    elif event.message.text == '所有功能':
        message = TemplateSendMessage(
            alt_text='Carousel template',
            template=CarouselTemplate(columns=[
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/8g83GnI.jpg',
                    title='HAPPY GO',
                    text='串聯生活 放大美好',
                    actions=[
                        URITemplateAction(
                            label='HAPPY GO官方網站',
                            uri='https://www.happygocard.com.tw/#'),
                        MessageTemplateAction(label='關於HAPPY GO', text='HG影片'),
                        MessageTemplateAction(label='卡友好康', text='卡友好康')
                    ]),
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/F8WHUU6.jpg',
                    title='放鬆自己',
                    text='享受生活',
                    actions=[
                        MessageTemplateAction(label='我想要評分', text='我想要評分'),
                        MessageTemplateAction(label='放鬆一下', text='抽貼圖'),
                        MessageTemplateAction(label='比大小', text='擲骰子')
                    ])
            ]))

    else:
        message = TextSendMessage(text=event.message.text)

    line_bot_api.reply_message(event.reply_token, message)
コード例 #5
0
ファイル: app.py プロジェクト: cchgene/test123
def handle_message(event):
    profile = line_bot_api.get_profile(event.source.user_id)
    name = profile.display_name
    uid = profile.user_id
    message = event.message.text
    print(name)
    print(uid)
    print(message)

    if event.message.text[0:4] == '買鮮蔬果':
        if event.message.text[4] == '大':
            combo_product = event.message.text[1:7]
            combo_count = event.message.text[-1]
        elif event.message.text[4] == '中':
            combo_product = event.message.text[1:7]
            combo_count = event.message.text[-1]
        elif event.message.text[4] == '小':
            combo_product = event.message.text[1:7]
            combo_count = event.message.text[-1]
        dic = {
            'userid': uid,
            'username': name,
            'creattime': datetime.now(),
            'product': combo_product,
            'count': combo_count,
            'status': 0
        }
        mongodb.insert_one(dic, 'vproduct')
        message = TextSendMessage(text='小鮮盒已經收到囉~~還要其他的嗎?')
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text[0:5] == '買當季蔬果':
        if event.message.text[5] == '大':
            combo_product = event.message.text[1:8]
            combo_count = event.message.text[-1]
        elif event.message.text[5] == '中':
            combo_product = event.message.text[1:8]
            combo_count = event.message.text[-1]
        elif event.message.text[5] == '小':
            combo_product = event.message.text[1:8]
            combo_count = event.message.text[-1]
        dic = {
            'userid': uid,
            'username': name,
            'creattime': datetime.now(),
            'product': combo_product,
            'count': combo_count,
            'status': 0
        }
        mongodb.insert_one(dic, 'vproduct')
        message = TextSendMessage(text='小鮮盒已經收到囉~~還要其他的嗎?')
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text[0:5] == '買綠色蔬菜':
        if event.message.text[5] == '大':
            combo_product = event.message.text[1:8]
            combo_count = event.message.text[-1]
        elif event.message.text[5] == '中':
            combo_product = event.message.text[1:8]
            combo_count = event.message.text[-1]
        elif event.message.text[5] == '小':
            combo_product = event.message.text[1:8]
            combo_count = event.message.text[-1]
        dic = {
            'userid': uid,
            'username': name,
            'creattime': datetime.now(),
            'product': combo_product,
            'count': combo_count,
            'status': 0
        }
        mongodb.insert_one(dic, 'vproduct')
        message = TextSendMessage(text='小鮮盒已經收到囉~~還要其他的嗎?')
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text[0:3] == '買烤肉':
        if event.message.text[3] == '大':
            combo_product = event.message.text[1:6]
            combo_count = event.message.text[-1]
        elif event.message.text[3] == '中':
            combo_product = event.message.text[1:6]
            combo_count = event.message.text[-1]
        elif event.message.text[3] == '小':
            combo_product = event.message.text[1:6]
            combo_count = event.message.text[-1]
        dic = {
            'userid': uid,
            'username': name,
            'creattime': datetime.now(),
            'product': combo_product,
            'count': combo_count,
            'status': 0
        }
        mongodb.insert_one(dic, 'vproduct')
        message = TextSendMessage(text='小鮮盒已經收到囉~~還要其他的嗎?')
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text[0:3] == '買拜拜':
        if event.message.text[3] == '大':
            combo_product = event.message.text[1:6]
            combo_count = event.message.text[-1]
        elif event.message.text[3] == '中':
            combo_product = event.message.text[1:6]
            combo_count = event.message.text[-1]
        elif event.message.text[3] == '小':
            combo_product = event.message.text[1:6]
            combo_count = event.message.text[-1]
        dic = {
            'userid': uid,
            'username': name,
            'creattime': datetime.now(),
            'product': combo_product,
            'count': combo_count,
            'status': 0
        }
        mongodb.insert_one(dic, 'vproduct')
        message = TextSendMessage(text='小鮮盒已經收到囉~~還要其他的嗎?')
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '查詢訂單':
        product_list = mongodb.get_user_product(uid, 'vproduct')
        if len(product_list) == 0:
            message = TextSendMessage(text='目前並無商品')
        else:
            message = '\n'.join(('目前購買 ' + i[0] + ' 共 ' + i[1] + ' 份'
                                 for i in dict(product_list).items()))
            #message = str(dict(product_list))
            print(message)
            message = TextSendMessage(text=message)

        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '刪除購物籃內所有組合商品':
        mongodb.remove_user_all_product(uid, 'vproduct')
        message = TextSendMessage(text='已刪除購物車內所有組合商品')
        line_bot_api.reply_message(event.reply_token, message)
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))

    elif event.message.text[0:2] == '地址':
        address = event.message.text[2:]
        dic = {
            'username': name,
            'creattime': datetime.now(),
            'address': address
        }
        mongodb.insert_one(dic, 'vprofile')
        message = TextSendMessage(text='小鮮盒把地址記起來囉')
        line_bot_api.reply_message(event.reply_token, message)
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))

    elif event.message.text[0:2] == '電話':
        tel = event.message.text[2:]
        dic = {'username': name, 'creattime': datetime.now(), 'tel': tel}
        mongodb.insert_one(dic, 'vprofile')
        message = TextSendMessage(text='小鮮盒把電話記起來囉')
        line_bot_api.reply_message(event.reply_token, message)
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))

    elif event.message.text[0:2] == '稱呼':
        nam = event.message.text[2:]
        dic = {'username': name, 'creattime': datetime.now(), 'name': nam}
        mongodb.insert_one(dic, 'vprofile')
        message = TextSendMessage(text='小鮮盒把稱呼記起來囉')
        line_bot_api.reply_message(event.reply_token, message)
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))

    elif event.message.text == '鮮蔬果組':
        message = TemplateSendMessage(
            alt_text='需要哪種鮮蔬果組合呢?',
            template=CarouselTemplate(columns=[
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/qnACcLd.jpg',
                    title='需要哪種鮮蔬果組合呢?',
                    text='包含各式葉菜、根莖、菇菌、瓜果、豆以及(蔥、薑、蒜、辣椒)調味類',
                    actions=[
                        MessageTemplateAction(label='大組合-299元(4-5人份)',
                                              text='買鮮蔬果大組合X1'),
                        MessageTemplateAction(label='中組合-199元(2-3人份)',
                                              text='買鮮蔬果中組合X1'),
                        MessageTemplateAction(label='小組合-99元(1-2人份)',
                                              text='買鮮蔬果小組合X1')
                    ])
            ]))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '當季蔬果組':
        message = TemplateSendMessage(
            alt_text='需要哪種當季蔬果組合呢?',
            template=CarouselTemplate(columns=[
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/qnACcLd.jpg',
                    title='需要哪種當季蔬果組合呢?',
                    text='包含當季葉菜、根莖、菇菌、瓜果、豆以及(蔥、薑、蒜、辣椒)調味類',
                    actions=[
                        MessageTemplateAction(label='大組合-299元(4-5人份)',
                                              text='買當季蔬果大組合X1'),
                        MessageTemplateAction(label='中組合-199元(2-3人份)',
                                              text='買當季蔬果中組合X1'),
                        MessageTemplateAction(label='小組合-99元(1-2人份)',
                                              text='買當季蔬果小組合X1')
                    ])
            ]))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '綠色蔬菜組':
        message = TemplateSendMessage(
            alt_text='需要哪種綠色蔬菜組合呢?',
            template=CarouselTemplate(columns=[
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/qnACcLd.jpg',
                    title='需要哪種綠色蔬菜組合呢?',
                    text='由不同的綠色蔬菜所組成(至少2-3種以上)',
                    actions=[
                        MessageTemplateAction(label='大組合-299元(4-5人份)',
                                              text='買綠色蔬菜大組合X1'),
                        MessageTemplateAction(label='中組合-199元(2-3人份)',
                                              text='買綠色蔬菜中組合X1'),
                        MessageTemplateAction(label='小組合-99元(1-2人份)',
                                              text='買綠色蔬菜小組合X1')
                    ])
            ]))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '烤肉組合':
        message = TemplateSendMessage(
            alt_text='需要哪種烤肉組合呢?',
            template=CarouselTemplate(columns=[
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/qnACcLd.jpg',
                    title='需要哪種烤肉組合呢?',
                    text='由不同的烤肉必備食材所組成(至少2-3種以上)',
                    actions=[
                        MessageTemplateAction(label='大組合-299元(4-5人份)',
                                              text='買烤肉大組合X1'),
                        MessageTemplateAction(label='中組合-199元(2-3人份)',
                                              text='買烤肉中組合X1'),
                        MessageTemplateAction(label='小組合-99元(1-2人份)',
                                              text='買烤肉小組合X1')
                    ])
            ]))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '拜拜組合':
        message = TemplateSendMessage(
            alt_text='需要哪種拜拜組合呢?',
            template=CarouselTemplate(columns=[
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/qnACcLd.jpg',
                    title='需要哪種拜拜組合呢?',
                    text='由各個節日拜拜所需蔬果組成(至少2-3種以上)',
                    actions=[
                        MessageTemplateAction(label='大組合-299元(4-5人份)',
                                              text='買拜拜大組合X1'),
                        MessageTemplateAction(label='中組合-199元(2-3人份)',
                                              text='買拜拜中組合X1'),
                        MessageTemplateAction(label='小組合-99元(1-2人份)',
                                              text='買拜拜小組合X1')
                    ])
            ]))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text == '買':
        message = TemplateSendMessage(
            alt_text='買什麼東西呢?',
            template=CarouselTemplate(columns=[
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/qnACcLd.jpg',
                    title='綜合營養組合',
                    text='幫妳配好好的組合,再也不用再擔心不知道吃什麼',
                    actions=[
                        MessageTemplateAction(label='鮮蔬果組', text='鮮蔬果組'),
                        MessageTemplateAction(label='當季蔬果組', text='當季蔬果組'),
                        MessageTemplateAction(label='綠色蔬菜組', text='綠色蔬菜組')
                    ]),
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/0xFDvDV.jpg',
                    title='節慶組合',
                    text='節慶必備(烤肉、拜拜)',
                    actions=[
                        MessageTemplateAction(label='烤肉組合', text='烤肉組合'),
                        MessageTemplateAction(label='拜拜組合', text='拜拜組合'),
                        MessageTemplateAction(label='任意組合', text='任意組合')
                    ]),
                CarouselColumn(
                    thumbnail_image_url='https://i.imgur.com/cLRmBTe.jpg',
                    title='其他',
                    text='其他',
                    actions=[
                        MessageTemplateAction(label='關於鮮蔬盒的介紹與起源',
                                              text='關於鮮蔬盒'),
                        MessageTemplateAction(label='菜單與分類', text='菜單與分類'),
                        MessageTemplateAction(label='刪除購物籃內所有組合商品',
                                              text='刪除購物籃內所有組合商品')
                    ])
            ]))
        line_bot_api.reply_message(event.reply_token, message)
    elif event.message.text[0] == '買':
        product = event.message.text[1:]
        dic = {
            'username': name,
            'creattime': datetime.now(),
            'product': product
        }
        mongodb.insert_one(dic, 'vmproduct')
        message = TextSendMessage(text='小鮮盒已經收到囉~~還要其他的嗎?')
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))
        line_bot_api.reply_message(event.reply_token, message)

    elif event.message.text[0:2] == '刪除':
        remove_product = event.message.text[2:]
        product_list = mongodb.get_user_product(uid, 'vproduct')
        print(remove_product)
        print([i for i in dict(product_list).keys()])
        if remove_product in [i for i in dict(product_list).keys()]:
            mongodb.remove_user_product(uid, 'vproduct', remove_product)
            text_ = '已' + str(event.message.text)
            message = TextSendMessage(text=text_)
            line_bot_api.reply_message(event.reply_token, message)
            name_active = str(name) + ':' + str(event.message.text)
            line_bot_api.push_message(os.environ['gene_uid'],
                                      TextSendMessage(text=name_active))
        else:
            message = TextSendMessage(text='不好意思您沒有買這個商品喔')
            line_bot_api.reply_message(event.reply_token, message)

    else:
        dic = {
            'userid': uid,
            'username': name,
            'creattime': datetime.now(),
            'message': message
        }

        mongodb.insert_one(dic, 'vmessages')
        name_active = str(name) + ':' + str(event.message.text)
        line_bot_api.push_message(os.environ['gene_uid'],
                                  TextSendMessage(text=name_active))
コード例 #6
0
ファイル: app.py プロジェクト: Cobra30621/sheila
def handle_message(event):
    '''
    當收到使用者訊息的時候
    '''
    profile = line_bot_api.get_profile(event.source.user_id)
    name = profile.display_name
    uid = profile.user_id
    message = event.message.text
    print(name)
    print(uid)
    print(message)

    dic = {
        'userid': uid,
        'username': name,
        'creattime': datetime.now(),
        'mess': message
    }
    mongodb.insert_one(dic, 'message')

    if mongodb.get_ready(uid, 'users') == 1:
        mongodb.update_byid(uid, {'ready': 0}, 'users')
        casttext = name + ' 對大家說: ' + message
        remessage = TextSendMessage(text=casttext)
        userids = mongodb.get_all_userid('users')
        line_bot_api.multicast(userids, remessage)
        return 0
#關鍵評論網

    if re.search('theNewLens', event.message.text, re.IGNORECASE):

        columns = []
        img = 'https://image3.thenewslens.com/assets/web/cover-photo-medium.png'

        carousel = CarouselColumn(thumbnail_image_url=img,
                                  title='關鍵評論網新聞',
                                  text='點擊觀看類型',
                                  actions=[
                                      MessageTemplateAction(label='科學',
                                                            text='關鍵評論科學'),
                                      MessageTemplateAction(label='商業',
                                                            text='關鍵評論商業'),
                                      MessageTemplateAction(label='職場',
                                                            text='關鍵評論職場')
                                  ])
        columns.append(carousel)

        remessage = TemplateSendMessage(
            alt_text='Carousel template',
            template=CarouselTemplate(columns=columns))

        line_bot_api.reply_message(event.reply_token, remessage)
        return 0

    if re.search('關鍵評論科學', event.message.text, re.IGNORECASE):
        dic = corwler.theNewLens('science')

        makeCard(dic, event)
        return 0

    if re.search('關鍵評論商業', event.message.text, re.IGNORECASE):
        dic = corwler.theNewLens('business')

        makeCard(dic, event)

        return 0

    if re.search('關鍵評論職場', event.message.text, re.IGNORECASE):
        dic = corwler.theNewLens('career')

        makeCard(dic, event)
        return 0

#科技報橘

    if re.search('科技報橘ai', event.message.text, re.IGNORECASE):
        #人工智慧
        dic = corwler.techorangeAi()
        makeCard(dic, event)

    if re.search('科技報橘全部', event.message.text, re.IGNORECASE):
        #全部
        dic = corwler.techorange()
        makeCard(dic, event)


#泛科學
    if re.search('泛科學', event.message.text, re.IGNORECASE):
        dic = corwler.Pansci()
        makeCard(dic, event)
コード例 #7
0
def handle_message(event):
    '''
    當收到使用者訊息的時候
    '''
    profile = line_bot_api.get_profile(event.source.user_id)
    name = profile.display_name
    uid = profile.user_id
    message = event.message.text
    print(name)
    print(uid)
    print(message)

    dic = {
        'userid': uid,
        'username': name,
        'creattime': datetime.now(),
        'mess': message
    }
    mongodb.insert_one(dic, 'message')

    if mongodb.get_ready(uid, 'users') == 1:
        mongodb.update_byid(uid, {'ready': 0}, 'users')
        casttext = name + ' 對大家說: ' + message
        remessage = TextSendMessage(text=casttext)
        userids = mongodb.get_all_userid('users')
        line_bot_api.multicast(userids, remessage)
        return 0

    if message == '群體廣播':
        # 設定使用者下一句話要群廣播
        mongodb.update_byid(uid, {'ready': 1}, 'users')
        remessage = TextSendMessage(text='請問要廣播什麼呢?')
        line_bot_api.reply_message(event.reply_token, remessage)
        return 0

    if re.search('Hi|hello|你好|ha', message, re.IGNORECASE):
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=event.message.text))

        return 0

    if re.search('新聞|news', event.message.text, re.IGNORECASE):
        dic = corwler.udn_news()

        columns = []
        for i in range(0, 3):
            carousel = CarouselColumn(
                thumbnail_image_url=dic[i]['img'],
                title=dic[i]['title'],
                text=dic[i]['summary'],
                actions=[URITemplateAction(label='點我看新聞', uri=dic[i]['link'])])
            columns.append(carousel)

        remessage = TemplateSendMessage(
            alt_text='Carousel template',
            template=CarouselTemplate(columns=columns))

        line_bot_api.reply_message(event.reply_token, remessage)
        return 0

    if re.search('Dcard|dcard', event.message.text, re.IGNORECASE):
        text = corwler.Dcard()
        line_bot_api.reply_message(event.reply_token,
                                   TextSendMessage(text=text))
        return 0

    if message == 'googlemap':
        # 取得最新評價
        text = corwler.google()
        # 包裝訊息
        remessage = TextSendMessage(text=text)
        # 回應使用者
        line_bot_api.reply_message(event.reply_token, remessage)
        return 0

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