Help us understand the problem. What is going on with this article?

LINE WORKS の Quick Reply を使ってみる

More than 1 year has passed since last update.

(この記事は Python 3.7 ベースで作成されています)

LINE WORKS v2.6 で、Bot に Quick Reply機能が追加されましたので、送信テストを行ってみました。

Quick Reply とは

メッセージ送信と同時に、返信候補をボタン形式で表示します。
quickreplay.jpg

スタンプや画像その他すべてのメッセージ形式に追加でき、返信方法もテキスト以外にカメラや地図も選べるため、定型の返信を促したい場合などに便利です。
quickreplay2.jpg

また、postback を用いることで、実際のトーク画面では "起きた" を表示しつつ Bot 側には "action=yes&itemid=123" というような値を渡すこともできます。

QuickReply のテスト

Python で Quick Reply つきメッセージ送信を送ってみました。

send_message_w_qr.py
import json
import requests

#QuickReply つきメッセージ送信。Message はテキスト、QuickReply はJSON形式のリスト渡す。
def send_message_QR(BotNo, TargetId, Message, QRmessage):
        #リクエストURLの作成
        apiheadurl =  'https://apis.worksmobile.com/r' 
        apicategory = 'message/v1'
        apitarget= 'bot'
        apiurl= '/'.join([apiheadurl,APIID,apicategory,apitarget,str(BotNo),'message/push'])

        #ヘッダー情報
        header = {
                'consumerKey': {Server API Consumer Key},
                'Authorization': 'Bearer ' + {サーバー認証 Token},
                'Content-Type': 'application/json'
        }

        #送信ボディ
        payload = {
                'accountId' : TargetId,
                'content' : {
                        'type': 'text',
                        'text': Message,
                        'quickReply':{'items':QRmessage}
                }
        }

        #送信
        r = requests.post(apiurl, headers = header, data = json.dumps(payload))
        if r.status_code ==200:
                return True
        else:
                return False, r

# Quick reply メッセージリストの用意
QRMS = [
        {'action':{'type':'message','label':'起きた','text':'おきた','psotback':'action=yes&item=12'}},
        {'action':{'type':'message','label':'寝坊した','text':'ねむい'}},
        {'action':{'type':'message','label':'な、何が起こったのか…','text':'ポル'}}
        ]

#メッセージの送信
send_sticker_QR({Bot 番号},{送信先のメンバー},{送信するメッセージ文}, QRMS)

Quick Reply は content パラメータ内で、各メッセージの後に quickreply を追加するだけで簡単に送信することができます。

KIchiyanagi
ラーメンが好き。IT 技術には疎いです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away