ふかふかブログ

興味のあることについてゆる~く書きます

自作LINEBOTにクイックリプライ実装してみた

f:id:nohararc:20200528001920p:plain

timeline.line.me

実装

公式のSDK*1を利用しているので実装はシンプル。

以下のコードだと、ユーザーがボタンを押したタイミングでラベルと同じ内容の文字列を入力させることができる。

ボタンの数には13という上限があるところだけ注意*2

    elif re.fullmatch(r'サブ', text):
        line_bot_api.reply_message(
            event.reply_token, 
            TextSendMessage(text='一覧から選んでね',
                    quick_reply=QuickReply(items=[
                        QuickReplyButton(action=MessageAction(label="スプラッシュボム", text="スプラッシュボム")),
                        QuickReplyButton(action=MessageAction(label="ポイントセンサー", text="ポイントセンサー")),
                        QuickReplyButton(action=MessageAction(label="ポイズンミスト", text="ポイズンミスト")),
                        QuickReplyButton(action=MessageAction(label="キューバンボム", text="キューバンボム")),
                        QuickReplyButton(action=MessageAction(label="カーリングボム", text="カーリングボム")),
                        QuickReplyButton(action=MessageAction(label="スプリンクラー", text="スプリンクラー")),
                        QuickReplyButton(action=MessageAction(label="クイックボム", text="クイックボム")),
                        QuickReplyButton(action=MessageAction(label="ロボットボム", text="ロボットボム")),
                        QuickReplyButton(action=MessageAction(label="ジャンプビーコン", text="ジャンプビーコン")),
                        QuickReplyButton(action=MessageAction(label="スプラッシュシールド", text="スプラッシュシールド")),
                        QuickReplyButton(action=MessageAction(label="トラップ", text="トラップ")),
                        QuickReplyButton(action=MessageAction(label="タンサンボム", text="タンサンボム")),
                        QuickReplyButton(action=MessageAction(label="トーピード", text="トーピード")),
                    ])
            )
        )