def scrapSpotify(): url='https://spotifycharts.com/regional' webContent = requests.get(url) soup = BeautifulSoup(webContent.text, 'html.parser') #因為回傳是串列,所以用for迭代器來取值 songReplyList = [] songList = soup.select('.chart-table tbody tr') for index,song in enumerate(songList): artist = song.select('.chart-table-track span')[0].text[3:] songName = song.select('.chart-table-track strong')[0].text songlink = song.select('.chart-table-image a')[0]['href'] # imglink = '' songReplyList.append([artist,songName,songlink]) if index == 29: break random.shuffle(songReplyList) columnReply = [] # textReply = '' for song in songReplyList[0:5]: columnReply.append( ImageCarouselColumn( image_url=bigImgLink(song[2]), action=URIAction( label='listen', uri=song[2] ) ) ) # textReply += '⭐{} by {}\n💽{}\n'.format(song[1],song[0],song[2]) # return columnReply,textReply return columnReply
def send_currentSituation_picture_message(self, reply_token, pictures): template_message = self._generate_anotherQuestion_confirmTemplate() if len(pictures) == 0: text_message = TextMessage(text='目前還沒更新照片,你可以看看其他館喔:)') self.line_bot_api.reply_message( reply_token, messages=[text_message, template_message]) return imageCarouselColumns = [] for picture in pictures: imageCarouselColumn = ImageCarouselColumn( image_url="https://2018floraexpo.tk/" + picture["path"], action=URIAction(uri="https://2018floraexpo.tk/" + picture["path"])) imageCarouselColumns.append(imageCarouselColumn) image_carousel_template_message = TemplateSendMessage( alt_text='照片如下', template=ImageCarouselTemplate(columns=imageCarouselColumns)) text_message = TextMessage(text='以上是展館的前三張照片,希望可以幫助到您:)') self.line_bot_api.reply_message(reply_token, messages=[ image_carousel_template_message, text_message, template_message ])
def show_final_result(self, event, t4): ind = 0 u = "" name = "" while ind < 16: if male_twicher_name[ind] == t4: u = male_url[ind] break elif female_twitcher_name[ind] == t4: u = female_url[ind] break else: ind += 1 sss = " 感謝您,使用此功能,您最後的選擇是\n ======= " + t4 + " =======\n 再點擊一次照片會有返回的提示 " line_bot_api.reply_message(event.reply_token, [ TextSendMessage(text=sss), TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url=u, action=PostbackTemplateAction( label=t4, text=t4, data='action=buy&itemid=1')) ])) ]) reply_token = event.reply_token send_text_message(reply_token, sss)
def send_team(reply_token): message = TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url='https://i.imgur.com/sugwLW4.jpg', action=PostbackTemplateAction( label='西區', text='west', data='action=buy&itemid=1')), ImageCarouselColumn( image_url='https://i.imgur.com/f3d2DJb.jpg', action=PostbackTemplateAction( label='東區', text='east', data='action=buy&itemid=2')) ])) line_bot_api = LineBotApi(channel_access_token) line_bot_api.reply_message(reply_token, message) return "OK"
def sendImgCarousel2(event): #圖片轉盤 try: message = TemplateSendMessage( alt_text='圖片轉盤樣板', template=ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url='https://i.imgur.com/4QfKuz1.png', action=MessageTemplateAction(label='文字訊息', text='賣披薩')), ImageCarouselColumn( image_url='https://i.imgur.com/qaAdBkR.png', action=PostbackTemplateAction(label='回傳訊息', data='action=sell&item=飲料')) ])) line_bot_api.reply_message(event.reply_token, message) except: line_bot_api.reply_message(event.reply_token, TextSendMessage(text='發生錯誤!'))
def test_image_carousel_template(self): arg = { 'columns': [ ImageCarouselColumn( image_url='https://example.com/bot/images/item1.jpg', action=PostbackAction(label='Buy', data='action=buy&itemid=555') ), ImageCarouselColumn( image_url='https://example.com/bot/images/item2.jpg', action=MessageAction(label='Yes', text='yes') ), ] } self.assertEqual( self.serialize_as_dict(arg, type=self.IMAGE_CAROUSEL), ImageCarouselTemplate(**arg).as_json_dict() )
def sendCarouselImg(event): #try: message = TemplateSendMessage( alt_text='七夕節慶花禮', template=ImageCarouselTemplate( columns=[ ImageCarouselColumn( image_url='https://scontent.ftpe4-2.fna.fbcdn.net/v/t1.0-9/67299993_2260768084001372_3451101592084807680_n.jpg?_nc_cat=100&_nc_sid=0debeb&_nc_ohc=vJWl2bkosSYAX-tBBX9&_nc_ht=scontent.ftpe4-2.fna&oh=e16b11102648b089e1c81691ea2fe29d&oe=5F201FFB', action=URITemplateAction( label='情人節花束', uri='https://www.facebook.com/permalink.php?story_fbid=2260769327334581&id=193614007383467' ) ), ImageCarouselColumn( image_url='https://scontent.ftpe4-2.fna.fbcdn.net/v/t1.0-9/67201666_2260771107334403_2385870353156014080_n.jpg?_nc_cat=104&_nc_sid=0debeb&_nc_ohc=3uFtashVnmoAX_3svyt&_nc_ht=scontent.ftpe4-2.fna&oh=a005091f15ab8e0583abf71e46855db1&oe=5F226A57', action=URITemplateAction( label='情人節花束', uri='https://www.facebook.com/permalink.php?story_fbid=2260771784001002&id=193614007383467' ) ), ImageCarouselColumn( image_url='https://scontent.ftpe4-2.fna.fbcdn.net/v/t1.0-9/20664043_1406627942748728_8455519672773317811_n.jpg?_nc_cat=104&_nc_sid=8bfeb9&_nc_ohc=DJpgE2e07XEAX_i__OU&_nc_ht=scontent.ftpe4-2.fna&oh=9fce94bd012b9c3933ffcaaad064a68e&oe=5F225B23', action=URITemplateAction( label='情人節花束', uri='https://www.facebook.com/permalink.php?story_fbid=1419633931448129&id=193614007383467' ) ), ImageCarouselColumn( image_url='https://scontent.ftpe4-1.fna.fbcdn.net/v/t1.0-9/13880355_1062116740533185_4130157721522038996_n.jpg?_nc_cat=105&_nc_sid=8bfeb9&_nc_ohc=ienoRfsrlhEAX-gPVYk&_nc_ht=scontent.ftpe4-1.fna&oh=2aa34c53e13e74e8269a9117e140c672&oe=5F23F4E8', action=URITemplateAction( label='情人節提籃花', uri='https://www.facebook.com/permalink.php?story_fbid=1062117130533146&id=193614007383467' ) ), ImageCarouselColumn( image_url='https://scontent.ftpe4-2.fna.fbcdn.net/v/t1.0-9/20664043_1406627942748728_8455519672773317811_n.jpg?_nc_cat=104&_nc_sid=8bfeb9&_nc_ohc=DJpgE2e07XEAX_i__OU&_nc_ht=scontent.ftpe4-2.fna&oh=9fce94bd012b9c3933ffcaaad064a68e&oe=5F225B23', action=URITemplateAction( label='情人節花束', uri='https://www.facebook.com/permalink.php?story_fbid=1419633931448129&id=193614007383467' ) ) ] ) ) line_bot_api.reply_message(event.reply_token,message)
def certification(self): # get album from imgur with 4 random certification client = ImgurClient(IMGUR_CLIENT_ID, IMGUR_CLIENT_SECRET) images = client.get_album_images(IMGUR_ALBUM_ID) num = len(images) image_list=[] for i in range(0,num): image_list.append(i) # get 4 random certification image_list = random.sample(image_list, 4) print(image_list) image_carousel_template_message = TemplateSendMessage( alt_text='SAM的Certification', template=ImageCarouselTemplate( columns=[ ImageCarouselColumn( image_url=images[image_list[0]].link, action=URIAction( uri=images[image_list[0]].link ) ), ImageCarouselColumn( image_url=images[image_list[1]].link, action=URIAction( uri=images[image_list[1]].link ) ), ImageCarouselColumn( image_url=images[image_list[2]].link, action=URIAction( uri=images[image_list[2]].link ) ), ImageCarouselColumn( image_url=images[image_list[3]].link, action=URIAction( uri=images[image_list[3]].link ) ), ]) ) return image_carousel_template_message
def test_image_carousel_column(self): arg = { 'image_url': 'https://example.com/bot/images/item1.jpg', 'action': PostbackAction(label='Buy', data='action=buy&itemid=555') } self.assertEqual( self.serialize_as_dict(arg), ImageCarouselColumn(**arg).as_json_dict() )
def sendCarouselImg2(event): #try: message = TemplateSendMessage( alt_text='各式花禮作品', template=ImageCarouselTemplate( columns=[ ImageCarouselColumn( image_url='https://i.imgur.com/i8M7sme.jpg', action=URITemplateAction( label='提籃花', uri='https://www.facebook.com/%E7%B4%AB%E7%9B%92%E5%AD%90%E8%8A%B1%E7%A6%AE%E8%A8%AD%E8%A8%88-193614007383467/' ) ), ImageCarouselColumn( image_url='https://imgur.com/DJ1Buef.jpg', action=URITemplateAction( label='花束', uri='https://www.facebook.com/%E7%B4%AB%E7%9B%92%E5%AD%90%E8%8A%B1%E7%A6%AE%E8%A8%AD%E8%A8%88-193614007383467/' ) ), ImageCarouselColumn( image_url='https://imgur.com/wGCAsMH.jpg', action=URITemplateAction( label='永生花', uri='https://www.facebook.com/%E7%B4%AB%E7%9B%92%E5%AD%90%E8%8A%B1%E7%A6%AE%E8%A8%AD%E8%A8%88-193614007383467/' ) ), ImageCarouselColumn( image_url='https://imgur.com/FQaXKug.jpg', action=URITemplateAction( label='蘭花', uri='https://www.facebook.com/%E7%B4%AB%E7%9B%92%E5%AD%90%E8%8A%B1%E7%A6%AE%E8%A8%AD%E8%A8%88-193614007383467/' ) ), ImageCarouselColumn( image_url='https://imgur.com/ag3ubZN.jpg', action=URITemplateAction( label='提籃花', uri='https://www.facebook.com/%E7%B4%AB%E7%9B%92%E5%AD%90%E8%8A%B1%E7%A6%AE%E8%A8%AD%E8%A8%88-193614007383467/' ) ), ImageCarouselColumn( image_url='https://imgur.com/5Yro8Ym.jpg', action=URITemplateAction( label='盆花', uri='https://www.facebook.com/%E7%B4%AB%E7%9B%92%E5%AD%90%E8%8A%B1%E7%A6%AE%E8%A8%AD%E8%A8%88-193614007383467/' ) ), ImageCarouselColumn( image_url='https://i.imgur.com/PquESwg.jpg', action=URITemplateAction( label='提籃花', uri='https://www.facebook.com/%E7%B4%AB%E7%9B%92%E5%AD%90%E8%8A%B1%E7%A6%AE%E8%A8%AD%E8%A8%88-193614007383467/' ) ), ] ) ) line_bot_api.reply_message(event.reply_token,message)
def cloud(event): try: message = TemplateSendMessage( alt_text="無法顯示", template=ImageCarouselTemplate(columns=[ ImageCarouselColumn(image_url=staticurl + "/other/fisho1.jpg", action=MessageTemplateAction( label="第一類:", text="@燉品、清蒸、火鍋類")), ImageCarouselColumn(image_url=staticurl + "/other/fisho2.jpg", action=MessageTemplateAction( label="第二類:", text="@燉熱炒、油煎炸類")), ImageCarouselColumn(image_url=staticurl + "/other/fisho3.jpg", action=MessageTemplateAction( label="第三類:", text="@甜點、焗烤、麵粉類")), ])) line_bot_api.reply_message(event.reply_token, message) except: line_bot_api.reply_message(event.reply_token, TextSendMessage(text="發生錯誤"))
def share_friending_url_carousel_message(): return TemplateSendMessage( alt_text='傳送你加好友連結給多粉對談', template=ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url= 'https://taiwan2020.org/img/share_friending_url_1.PNG', action=PostbackAction(data='nullrequest')), ImageCarouselColumn( image_url= 'https://taiwan2020.org/img/share_friending_url_2.PNG', action=PostbackAction(data='nullrequest')), ImageCarouselColumn( image_url= 'https://taiwan2020.org/img/share_friending_url_3.PNG', action=PostbackAction(data='nullrequest')), ImageCarouselColumn( image_url= 'https://taiwan2020.org/img/share_friending_url_4.PNG', action=PostbackAction(data='nullrequest')) ]))
def handle_postback(event): if event.postback.data == 'Intro-DS': line_bot_api.reply_message(event.reply_token, TextSendMessage(text=Intro.ds)) elif event.postback.data == 'Intro-MDA': line_bot_api.reply_message(event.reply_token, TextSendMessage(text=Intro.mda)) elif event.postback.data == 'Intro-WeatherMood': line_bot_api.reply_message(event.reply_token, TextSendMessage(text=Intro.wm)) elif event.postback.data == 'Intro-Doodle': line_bot_api.reply_message(event.reply_token, TextSendMessage(text=Intro.dj)) elif event.postback.data == 'Triats-Resp': line_bot_api.reply_message(event.reply_token, TextSendMessage(text=Intro.traits_resp)) elif event.postback.data == 'Triats-Open': line_bot_api.reply_message(event.reply_token, TextSendMessage(text=Intro.traits_open)) elif event.postback.data == 'More-Info': line_bot_api.reply_message( event.reply_token, TextSendMessage(text='選擇想了解的項目', quick_reply=quick_reply_tepmplate)) elif event.postback.data == 'Music': line_bot_api.reply_message(event.reply_token, TextSendMessage(text="Chvrches-Forever")) image_carousel_template = ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url='https://i.imgur.com/7w0cpRn.jpg', action=URIAction( label='Listen!', uri='https://www.youtube.com/watch?v=CRDruiv08_4')), ]) template_message = TemplateSendMessage( alt_text='Image-music', template=image_carousel_template) line_bot_api.push_message(event.source.user_id, template_message) time.sleep(1) line_bot_api.push_message( event.source.user_id, TextSendMessage(text="A song that get you out of depression.")) elif event.postback.data == 'Location': line_bot_api.reply_message( event.reply_token, LocationSendMessage(title='清華大學 梅園', address='新竹市東區光復路二段101號', latitude=24.7928700, longitude=120.9908193)) elif event.postback.data == 'Poke': line_bot_api.reply_message(event.reply_token, TextSendMessage(text=Intro.poke))
def send_image_carousel(id, imglinks, labels, texts): line_bot_api = LineBotApi(access_token) cols = [] for i, url in enumerate(imglinks): cols.append( ImageCarouselColumn(image_url=url, action=MessageTemplateAction(label=labels[i], text=texts[i]))) message = TemplateSendMessage(alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=cols)) line_bot_api.push_message(id, message) return "OK"
def image_carousel_view(image_list): columns_list = [] for image, label in image_list: columns_list.append( ImageCarouselColumn(image_url=image, action=URITemplateAction(label=label, uri=image))) view = TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=columns_list)) return view
def fdo_female_comp2(self, event, ft2, xx): global female_uese # reply_token = event.reply_token # send_text_message(reply_token, x2) ind = 0 while ind < 16: if female_twitcher_name[ind] == ft2: female_uese[ind] = 3 break else: ind += 1 num1 = random.randint(0, 15) num2 = random.randint(0, 15) while female_uese[num1] != 2: num1 = random.randint(0, 15) while num1 == num2 or female_uese[num2] == -1 or female_uese[num2] == 3: num2 = random.randint(0, 15) female_uese[num1] = -1 female_uese[num2] = -1 s1 = female_twitcher_name[num1] s2 = female_twitcher_name[num2] u1 = female_url[num1] u2 = female_url[num2] text_title = "=========== " + str(xx + 1) + "/4 ===========" line_bot_api.reply_message(event.reply_token, [ TextSendMessage(text=text_title), TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url=u1, action=PostbackTemplateAction( label=s1, text=s1, data='action=buy&itemid=1')), ImageCarouselColumn( image_url=u2, action=PostbackTemplateAction( label=s2, text=s2, data='action=buy&itemid=2')) ])) ])
def image_carousel_generater(image_action_list): image_action_list = np.array(image_action_list) action_list = [ PostbackAction(label=action, data=action, text=action) for action in image_action_list[:, 0] ] image_url_list = image_action_list[:, 1] columns = [ ImageCarouselColumn(action, image_url) for image_url, action in zip(action_list, image_url_list) ] image_carousel_template = ImageCarouselTemplate(columns=columns) return image_carousel_template
def speech(reply_token): image_url1 = createUri('/static/pics/speech1.jpg') image_url2 = createUri('/static/pics/speech2.jpg') image_url3 = createUri('/static/pics/speech3.jpg') message1 = TextSendMessage( text="學會使用相機、腳架等攝影器材之外,也學會使用Adobe Premiere。\n以下是推薦的演講:") image_carousel_template = ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url=image_url1, action=URITemplateAction( label="拒絕小確幸,開創大格局", uri="https://speech.ntu.edu.tw/ntuspeech/Video/id-1724")), ImageCarouselColumn( image_url=image_url2, action=URITemplateAction( label="葉丙成-台大畢業典禮演講", uri="https://speech.ntu.edu.tw/ntuspeech/Video/id-2044")), ImageCarouselColumn( image_url=image_url3, action=URITemplateAction( label="從科學觀點了解人類行為", uri="https://speech.ntu.edu.tw/ntuspeech/Video/id-1837")) ]) template_message1 = TemplateSendMessage(alt_text='臺大演講網', template=image_carousel_template) buttons_template = ButtonsTemplate( title='繼續觀看其他項目', text='請選擇以下按鈕', actions=[ MessageTemplateAction(label='繼續觀看「助教」', text='助教'), MessageTemplateAction(label='繼續觀看「壹傳實習」', text='壹傳實習') ]) template_message2 = TemplateSendMessage(alt_text='繼續觀看', template=buttons_template) line_bot_api.reply_message( reply_token, [message1, template_message1, template_message2])
def send_carousel_image_message(reply_token, message_image, message_text): columns = [] for index in range(len(message_image)): columns.append( ImageCarouselColumn(image_url=message_image[index], action=URITemplateAction( label=message_text[index], uri=message_image[index]))) message = TemplateSendMessage( alt_text="漫畫內文", template=ImageCarouselTemplate(columns=columns)) line_bot_api = LineBotApi(channel_access_token) line_bot_api.reply_message(reply_token, message) return "OK"
def template_carousel_images(self, message): """produce template with carousel images Arguments: message {[MessageEvent.Message]} -- [the message event from user pass] """ image_carousel_template_message = TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url='https://i.imgur.com/njZeeBz.jpg', action=PostbackTemplateAction(label='Splatoon 2 漆彈大作戰', text='快來打漆彈', data='action=buy&itemid=1')), ImageCarouselColumn( image_url='https://i.imgur.com/p3ozN9s.jpg', action=PostbackTemplateAction(label='薩爾達傳說之精神時光屋', text='人馬? 給虐嗎?', data='action=buy&itemid=2')) ])) return image_carousel_template_message
def handle_text_message(event): text = event.message.text if text == 'new' or text == 'New': image_carousel_template = ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url='https://imgur.com/ag2SgQe.jpg', action=URIAction( label='資訊', uri= 'https://www.goodsmile.info/zh/product/7837/%E9%BB%8F%E5%9C%9F%E4%BA%BA+%E9%87%91.html', )), ImageCarouselColumn( image_url='https://imgur.com/0ZhjqId.jpg', action=URIAction( label='資訊', uri= 'https://www.goodsmile.info/zh/product/7952/%E9%BB%8F%E5%9C%9F%E4%BA%BA+%E7%B6%A0%E9%96%93%E7%9C%9F%E5%A4%AA%E9%83%8E.html', )) ]) template_message = TemplateSendMessage( alt_text='ImageCarousel alt text', template=image_carousel_template) line_bot_api.reply_message(event.reply_token, template_message) elif text == 'use': confirm_template = ConfirmTemplate(text='傳一張黏土人照片,將為您分析黏土人的編號,及官方網址。', actions=[ MessageAction(label='知道啦', text='Yes!'), MessageAction(label='你確定', text='還是不知道!'), ]) template_message = TemplateSendMessage(alt_text='Confirm alt text', template=confirm_template) line_bot_api.reply_message(event.reply_token, template_message) else: line_bot_api.reply_message(event.reply_token, TextSendMessage(text=event.message.text))
def get_pic_message(title, href, img, imghref, showinTilte): ImgList = [] for i in range(len(img)): item = ImageCarouselColumn(image_url=img[i], action=URIAction( uri=imghref[i], label='Image News' + str(i + 1), )) ImgList.append(item) message = TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=ImgList)) return message
def do_male3_comp(self, event, t3, x3): ind = 0 while ind < 16: if male_twicher_name[ind] == t3: male_used[ind] = 4 break else: ind += 1 num1 = random.randint(0, 15) num2 = random.randint(0, 15) while male_used[num1] == -1 or male_used[num1] == 4: num1 = random.randint(0, 15) while num1 == num2 or male_used[num2] == -1 or male_used[num2] == 4: num2 = random.randint(0, 15) male_used[num1] = -1 male_used[num2] = -1 s1 = male_twicher_name[num1] s2 = male_twicher_name[num2] u1 = male_url[num1] u2 = male_url[num2] text_title = "=========== " + str(x3 + 1) + "/2 ===========" line_bot_api.reply_message(event.reply_token, [ TextSendMessage(text=text_title), TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=[ ImageCarouselColumn( image_url=u1, action=PostbackTemplateAction( label=s1, text=s1, data='action=buy&itemid=1')), ImageCarouselColumn( image_url=u2, action=PostbackTemplateAction( label=s2, text=s2, data='action=buy&itemid=2')) ])) ])
def get_hot_movie_list(user_name): col = [] for movie_id in hot_movie_list: col.append( ImageCarouselColumn(image_url=movie_dict[movie_id][1], action=PostbackTemplateAction( label='Learn More', data='movie=%s&action=5&' % (movie_id)))) imagecarousel = ImageCarouselTemplate(type='image_carousel', columns=col) message = TemplateSendMessage(type='template', alt_text='Hot Movie List', template=imagecarousel) return [ TextSendMessage(text='哈囉 %s! 這是本週熱門電影喔!可以參考看看~' % (user_name)), message ]
def imgur_bot_template(self): carousel_template_message = TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate( columns=[ ImageCarouselColumn( image_url='https://i.imgur.com/g8zAYMq.jpg', action=URIAction( label='加我好友試玩', uri='https://line.me/R/ti/p/%40gmy1077x' ), ), ] ) ) self.reply_message(carousel_template_message)
def imageCarouselColumn(images): columns = [] for idx, image in enumerate(images): columns.append( ImageCarouselColumn( image_url=image.get('href'), action=PostbackTemplateAction(label='圖%s' % str(idx + 1), text=image.get('href'), data='action=buy&itemid=%s' % str(idx + 1)))) if idx == 9: break return columns
def show_animates_news(event): requests.packages.urllib3.disable_warnings() # 查 新聞 target_url = 'https://acg.gamer.com.tw/news.php?p=anime' rs = requests.session() res = rs.get(target_url, verify=False) res.encoding = 'utf-8' soup = BeautifulSoup(res.text, 'html.parser') # 新聞連結 link = [] # 新聞名稱 news_title = [] # 新聞圖片 img_link = [] imagecarousel_group = [] # content = "" for index, datas in enumerate( soup.select('div.BH-lbox.GN-lbox2 div.GN-lbox2B')): # index -> 找的數量 if index == 10: break link.append('https:' + datas.find('div', 'GN-lbox2E').find('a')['href']) img_link.append(datas.find('div', 'GN-lbox2E').find('img')['src']) news_title.append(datas.find('h1', 'GN-lbox2D').find('a').text) # 製作line 回復訊息 x = ['title', 'img_link', 'link'] movies_group = [] movies_group.append(news_title) movies_group.append(img_link) movies_group.append(link) movies_dic = dict(zip(x, movies_group)) for i in range(len(news_title)): imagecarouse_data = ImageCarouselColumn( image_url=movies_dic['img_link'][i], action=URIAction(uri=movies_dic['link'][i], label=movies_dic['title'][i][0:12])) imagecarousel_group.append(imagecarouse_data) image_carousel_template = ImageCarouselTemplate( columns=imagecarousel_group) template_message = TemplateSendMessage(alt_text='ImageCarousel alt text', template=image_carousel_template) push_template_message(event, template_message) return True
def send_template_message(id, imglinks): cols = [] for i, url in enumerate(imglinks): cols.append( ImageCarouselColumn( image_url=url, action=URITemplateAction( label='Meme', uri=url ) ) ) message = TemplateSendMessage( alt_text='ImageCarousel template', template=ImageCarouselTemplate(columns=cols) ) line_bot_api.push_message(id, message) return "OK"
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) with tempfile.NamedTemporaryFile(dir=os.path.join(static_path, 'fast_style_transfer', "tmp"), prefix=ext + '-', delete=False) as tf: for chunk in message_content.iter_content(): tf.write(chunk) tempfile_path = tf.name # get path dist_path = tempfile_path + '.' + ext dist_name = os.path.basename(dist_path) os.rename(tempfile_path, dist_path) image_path = os.path.join('static', 'fast_style_transfer', 'tmp', dist_name) # list of ImageCarouselColumn clist = [] for label, model in styles.items(): clist.append( ImageCarouselColumn(image_url=base_url + os.path.join('static', 'fast_style_transfer', 'style_thumb', model + ".jpg"), action=PostbackAction(label=label, data=model + " " + dist_name, text=label))) image_carousel_template = ImageCarouselTemplate(columns=clist) template_message = TemplateSendMessage(alt_text='Which style do you like?', template=image_carousel_template) line_bot_api.reply_message(event.reply_token, template_message)
def getMythBusters(): result = [] res = requests.get( 'https://www.who.int/emergencies/diseases/novel-coronavirus-2019/advice-for-public/myth-busters' ) soup = BeautifulSoup(res.text, 'html.parser') myths = soup.find('div', attrs={'id': 'PageContent_C003_Col01'}) # choose five myth busters for num in range(1, 6): myths_image = myths.select('.link-container')[num] url = myths_image['href'] column = ImageCarouselColumn(image_url=str(url), action=URITemplateAction(label='Details', uri=url)) result.append(column) carousel = TemplateSendMessage( alt_text="5 myth busters", template=ImageCarouselTemplate(columns=result)) result_text = 'Find more information about myth busters, please click: ' \ 'https://www.who.int/emergencies/diseases/novel-coronavirus-2019/advice-for-public/myth-busters ' result = [carousel, TextSendMessage(text=result_text)] return result