Example #1
0
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
                                        ])
Example #3
0
 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)
Example #4
0
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"
Example #5
0
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='發生錯誤!'))
Example #6
0
 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()
     )
Example #7
0
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)
Example #8
0
    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
Example #9
0
 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()
     )
Example #10
0
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="發生錯誤"))
Example #12
0
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'))
        ]))
Example #13
0
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))
Example #14
0
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"
Example #15
0
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
Example #16
0
 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
Example #18
0
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])
Example #19
0
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"
Example #20
0
    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
Example #21
0
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
Example #23
0
 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'))
             ]))
     ])
Example #24
0
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
    ]
Example #25
0
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)
Example #26
0
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
Example #27
0
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
Example #28
0
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"
Example #29
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)
    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)
Example #30
0
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