Implémentation de l'action de sélecteur Datetime à l'aide de line-bot-sdk-python et exemple d'implémentation du carrousel d'images

introduction

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

environnement

--ngrok <-Je l'ai mis car je voulais le tester facilement sur localhost

Les contrôles tels que «signature» sont omis cette fois.

Exemple d'action de sélecteur de date / heure

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

Screen Shot 2017-09-13 at 22.40.03.png

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

Exemple de carrousel d'images

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'
                )
            )
        ]
    )
)

Screen Shot 2017-09-13 at 22.50.52.png

Recommended Posts

Implémentation de l'action de sélecteur Datetime à l'aide de line-bot-sdk-python et exemple d'implémentation du carrousel d'images
Vérification et mise en œuvre de la méthode de reconstruction vidéo en utilisant GRU et Autoencoder
Implémentation de TF-IDF à l'aide de gensim
Explication et mise en œuvre de SocialFoceModel
Explication et mise en œuvre de PRML Chapitre 4
Capture d'image de Firefox en utilisant Python
Avantages et exemples d'utilisation de Rabbit Mq
Explication et implémentation de l'algorithme ESIM
Jugement de l'image rétroéclairée avec OpenCV
Introduction et mise en œuvre de la fonction d'activation
Explication et mise en œuvre du perceptron simple
Implémentation des notifications de bureau à l'aide de Python
Reconnaissance d'image des fruits avec VGG16