from linebot.v3.messaging import (
QuickReply,
QuickReplyItem,
PostbackAction,
MessageAction,
DatetimePickerAction,
CameraAction,
CameraRollAction,
LocationAction
)
Quick Reply 是 Line Bot 中的一種功能,支援一對一和一對多聊天,可以讓使用者快速回覆訊息,而不必手動輸入文字。它通常以按鈕的形式呈現,讓使用者可以直接點擊回覆
Quick Reply 可以提高使用者體驗,使互動更加流暢和便捷
建立Quick Reply方法簡單,僅需要依據所設定的數量在text message object
中新增多個quickReply
的物件items
*注意:至多使用13個items
messages=[TextMessage(text='請選擇項目')]
Learn More →
quickReply
的物件items
messages=[TextMessage(
text='請選擇項目',
quick_reply=QuickReply(
items=[
QuickReplyItem(
action=PostbackAction(
label="Postback",
data="postback",
display_text="postback"
)
),
QuickReplyItem(
action=MessageAction(
label="Message",
text="message"
)
),
QuickReplyItem(
action=DatetimePickerAction(
label="Date Picker",
data="datetimepicker",
mode="date"
)
),
]
)
)]
Learn More →
imageUrl
設定按鈕圖示,而部分action
若沒有設定imageUrl
會顯示預設圖示。圖示有格式限制,請參考開發者文件messages=[TextMessage(
text='Quick reply',
quick_reply=QuickReply(
items=[
QuickReplyItem(
action=PostbackAction(
label="Postback",
data="postback",
display_text="postback"
),
image_url=postback_icon
),
QuickReplyItem(
action=MessageAction(
label="Message",
text="message"
)
image_url=message_icon
),
QuickReplyItem(
action=DatetimePickerAction(
label="Date Picker",
data="datetimepicker",
mode="date"
),
image_url=date_icon
)
]
)
)]
Learn More →
action
只有手機才可以使用
其他訊息都可以通用
可以設定以下幾個參數
initial
QuickReplyItem(
action=DatetimePickerAction(
label="Datetime Picker",
data="datetimepicker",
mode="datetime",
initial="2024-01-01T00:00"
),
image_url=datetime_icon
),
Learn More →
max
設定選擇的最大日期時間
min
設定選擇的最小日期時間
mode
mode
設定成 date
QuickReplyItem(
action=DatetimePickerAction(
label="Date Picker",
data="datetimepicker",
mode="date"
)
)
Learn More →
mode
設定成 time
QuickReplyItem(
action=DatetimePickerAction(
label="Time Picker",
data="datetimepicker",
mode="time"
)
)
Learn More →
mode
設定成 datetime
QuickReplyItem(
action=DatetimePickerAction(
label="Datetime Picker",
data="datetimepicker",
mode="datetime"
)
)
Learn More →
postback_icon = request.url_root + 'static/postback.png'
postback_icon = postback_icon.replace("http", "https")
message_icon = request.url_root + 'static/message.png'
message_icon = message_icon.replace("http", "https")
datetime_icon = request.url_root + 'static/calendar.png'
datetime_icon = datetime_icon.replace("http", "https")
date_icon = request.url_root + 'static/calendar.png'
date_icon = date_icon.replace("http", "https")
time_icon = request.url_root + 'static/time.png'
time_icon = time_icon.replace("http", "https")
line_bot_api.reply_message(
ReplyMessageRequest(
reply_token=event.reply_token,
messages=[TextMessage(
text='請選擇以下其中一個選項',
quick_reply=QuickReply(
items=[
QuickReplyItem(
action=PostbackAction(
label="Postback",
data="postback",
display_text="postback"
),
image_url=postback_icon
),
QuickReplyItem(
action=MessageAction(
label="Message",
text="message"
),
image_url=message_icon
),
QuickReplyItem(
action=DatetimePickerAction(
label="Date Picker",
data="datetimepicker",
mode="date"
),
image_url=date_icon
),
QuickReplyItem(
action=DatetimePickerAction(
label="Time Picker",
data="datetimepicker",
mode="time"
),
image_url=time_icon
),
QuickReplyItem(
action=DatetimePickerAction(
label="Datetime Picker",
data="datetimepicker",
mode="datetime"
),
image_url=datetime_icon
),
QuickReplyItem(
action=CameraAction(label="Camera")
),
QuickReplyItem(
action=CameraRollAction(label="Camera Roll")
),
QuickReplyItem(
action=LocationAction(label="Location")
)
]
)
)]
)
)
Reference:https://developers.line.biz/en/reference/messaging-api/#quick-reply
國立臺北教育大學 教育大數據微學程
🤖 AI LineBot 練功坊系列課程
從入門到精通,學習如何開發並應用 LINE Bot,讓你輕鬆掌握最前沿的聊天機器人技術。
👨💻 Python 初學小教室
針對零基礎學員設計,循序漸進地教授 Python 基本語法及實作技巧,幫助你快速上手。
📊 統計學小教室
系統講解統計學理論及其應用,適合想要提升數據分析能力的學習者。
AI LINE Bot練功坊-L4 Echo Bot製作
Jan 10, 2025AI LINE Bot練功坊-L3 開發環境建置
Jan 10, 2025AI LINE Bot練功坊-L16 Azure AI Language 交談語言理解機器人
Dec 25, 2024AI LINE Bot練功坊-L2 建立LINE官方帳號
Dec 21, 2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up