line-bot-sdk-python을 사용한 Datetime picker action 구현 및 Image Carousel 구현 샘플
소개
최근 LINE Messaging API에
Datetime picker action
와 Image Carousel
가 추가되었으므로 샘플Image Carousel
에 관해서는 나가 PR를 냈습니다. 빌어 먹을 PR 나와서 죄송합니다 ...환경
signature
등의 체크는 이번 생략합니다.Datetime picker action 샘플
위의 테스트 코드의 샘플 코드 ( L129~202 )에서는 움직이지 않았기 때문에 자신이 구현했을 때 움직인 샘플에서
from django.http import HttpResponse
from linebot import LineBotApi, WebhookParser
from linebot.models import TemplateSendMessage, ButtonsTemplate, DatetimePickerTemplateAction
line_bot_api = LineBotApi('LINE_CHANNEL_ACCESS_TOKEN')
parser = WebhookParser('LINE_CHANNEL_SECRET')
def webhook(request):
# Signatureチェック等
for event in events:
date_picker = TemplateSendMessage(
alt_text='予定日を設定',
template=ButtonsTemplate(
text='予定日を設定',
title='YYYY-MM-dd',
actions=[
DatetimePickerTemplateAction(
label='設定',
data='action=buy&itemid=1',
mode='date',
initial='2017-04-01',
min='2017-04-01',
max='2099-12-31'
)
]
)
)
line_bot_api.reply_message(
event.reply_token,
date_picker
)
return HttpResponse()
LINE 앱 측에서 시간이 전송되면 서버 측에는
PostbackEvent
로 값을 얻을 수 있습니다.최종 사용자가 설정한 시간은 아래에서 얻을 수 있습니다.
if isinstance(event, PostbackEvent):
event.postback.params['date'] # dictのキーはmodeのもの
DatetimePickerTemplateAction
의 mode
는 date
time
datetime
로 설정할 수 있습니다.자세한 내용은 다음 참조
Datetime picker action | LINE API Reference
Image Carousel 샘플
from line.models import ImageCarouselTemplate, ImageCarouselColumn
image_carousel_template_message = TemplateSendMessage(
alt_text='Image carousel template',
template=ImageCarouselTemplate(
columns=[
ImageCarouselColumn(
image_url='https://example.com/item1.jpg',
action=PostbackTemplateAction(
label='postback1',
data='action=buy&itemid=1'
)
),
ImageCarouselColumn(
image_url='https://example.com/item2.jpg',
action=MessageTemplateAction(
label='message2',
text='message text2'
)
),
ImageCarouselColumn(
image_url='https://example.com/item3.jpg',
action=URITemplateAction(
label='uri1',
uri='https://example.com/1'
)
)
]
)
)
Reference
이 문제에 관하여(line-bot-sdk-python을 사용한 Datetime picker action 구현 및 Image Carousel 구현 샘플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nnsnodnb/items/d07a768eeea7be6cec02텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)