L'autre jour, «action de sélecteur de date et heure» et «carrousel d'image» ont été ajoutés à l'API de messagerie LINE, donc un échantillon d'entre eux.
J'ai publié un PR à propos de ʻImage Carousel`. Je suis désolé de publier un putain de PR ...
https://github.com/line/line-bot-sdk-python/pull/59
--ngrok <-Je l'ai mis car je voulais le tester facilement sur localhost
Les contrôles tels que «signature» sont omis cette fois.
https://github.com/line/line-bot-sdk-python/blob/master/tests/api/test_send_template_message.py
L'exemple de code de code de test ci-dessus (L129 ~ 202) n'a pas fonctionné Donc, avec l'exemple qui a fonctionné lorsque je l'ai implémenté
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):
#Vérification de la signature, etc.
for event in events:
date_picker = TemplateSendMessage(
alt_text='Définissez la date programmée',
template=ButtonsTemplate(
text='Définissez la date programmée',
title='YYYY-MM-dd',
actions=[
DatetimePickerTemplateAction(
label='Réglage',
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()
Lorsque l'heure est envoyée côté application LINE, vous pouvez obtenir la valeur côté serveur avec PostbackEvent
.
L'heure fixée par l'utilisateur final peut être obtenue ci-dessous
if isinstance(event, PostbackEvent):
event.postback.params['date'] #La clé dict est pour le mode
Vous pouvez définir date`` time`` datetime
sur mode
de DatetimePickerTemplateAction
.
Voir la référence ci-dessous pour plus de détails
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