Erst neulich wurden der LINE Messaging-API "Datetime Picker Action" und "Image Carousel" hinzugefügt, also ein Beispiel davon.
Ich habe eine PR über "Image Carousel" gemacht. Es tut mir leid, eine verdammte PR herauszubringen ...
https://github.com/line/line-bot-sdk-python/pull/59
--ngrok <-Ich habe es eingefügt, weil ich es einfach auf localhost testen wollte
Schecks wie "Unterschrift" werden diesmal weggelassen.
https://github.com/line/line-bot-sdk-python/blob/master/tests/api/test_send_template_message.py
Der obige Beispielcode für den Testcode (L129 ~ 202) funktionierte nicht Also mit dem Beispiel, das funktioniert hat, als ich es implementiert habe
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):
#Unterschriftenprüfung usw.
for event in events:
date_picker = TemplateSendMessage(
alt_text='Stellen Sie das geplante Datum ein',
template=ButtonsTemplate(
text='Stellen Sie das geplante Datum ein',
title='YYYY-MM-dd',
actions=[
DatetimePickerTemplateAction(
label='Aufbau',
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()
Wenn die Zeit auf der Seite der LINE-App gesendet wird, können Sie den Wert auf der Serverseite mit "PostbackEvent" abrufen. Die vom Endbenutzer festgelegte Zeit kann unten abgerufen werden
if isinstance(event, PostbackEvent):
event.postback.params['date'] #Die Diktiertaste ist für den Modus
Sie können date`` time`` datetime
auf mode
von DatetimePickerTemplateAction
setzen.
Einzelheiten finden Sie in der folgenden Referenz
Datetime picker action | LINE API Reference
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'
)
)
]
)
)
Recommended Posts