在写这篇时发现,因为在上篇文章有提到模板讯息,里面有大量出现Action objects,Quick replies也会用到Action objects,这篇应该要放在DAY10之前的,不过这篇会来介绍Quick replies和继续介绍上篇模板中没讲到的 Action objects。
Quick replies(快速回覆)的功能是当机器人传送讯息时在聊天室底部会出现按钮,你可以点击按钮快的回复讯息。
实现方式是在一般讯息中加入quick_reply参数。
quick_reply_message=TextSendMessage(text='iThome铁人赛2021',
quick_reply=QuickReply(items=[
QuickReplyButton(action=MessageAction(label="quick reply1", text="iThome铁人赛")),
QuickReplyButton(action=MessageAction(label="quick reply2", text="2021"))]))
Action objects(动作物件)为当使用者点击讯息中的按钮或点击图片会触发的动作。
可触发的Action objects分为八种
Postback action(回发动作)的特点是可以传送一个文字讯息到聊天室,并透过postback event回传data到bot server,传送到聊天室的讯息不一定会为回传的data,亦可不传讯息到聊天室,直接传data到bot server。
bot server可以透过
@handler.add(PostbackEvent)
监听PostbackEvent(回发事件)并从中提取回传的data
PostbackAction (
label='postback1',
display_text='postback text1',
data='action=buy&itemid=1'
)
*为必要的属性
Message action(讯息动作)可以传送一个文字讯息到聊天室,之後可以透过监听Message event接收并处理讯息资料。
MessageAction(
label='message1',
text='message text1'
)
*为必要的属性
URI action可以开启LINE APP内建浏览器并定位到你设定的uri位址
URIAction(
label='uri1',
uri='http://example.com/1'
)
*为必要的属性
Datetime picker action(日期和时间选取动作)可以选择并传送一个包含日期和时间的postback event
DatetimePickerAction(
label='Select date',
data='storeId=12345',
mode= 'datetime',
initial='2021-09-01t00:00',
max="2021-10-15t23:59",
min="2021-09-01t00:00"
)
*为必要的属性
日期及时间必须依照这个格式
Mode | 格式 | 范例 |
---|---|---|
date | 最大:2100-12-31 最大:2100-12-31 | 2017-06-18 |
time | 最大:23:59 最大:00:00 | 06:15 |
datetime | 最大:2100-12-31T23:59 最大:1900-01-01T00:00 | 2017-06-18T06:15 |
Camera action(相机动作)可开启相机,拍照後并传至聊天室
CameraAction(
label='Camera'
)
*为必要的属性
Camera roll action(相机胶卷动作)可开启相簿,选择图片後并传至聊天室
CameraRollAction(
label='Camera Roll'
)
*为必要的属性
透过GPS传送你的位置资讯到聊天室,这个动作只能透过quick replies按钮触发
LocationAction(
label='Location'
)
*为必要的属性
Richmenu(图文选单)之後会介绍,Richmenu Switch Action(图文选单切换动作)不能透过quick replies及Flex Messages触发,可以透过点击图文选单触发,触发後会切换图文选单并透过postback event回传data到bot server
RichMenuSwitchAction(
richMenuAliasId= "richmenu-alias-b",
data="richmenu-changed-to-b"
)
*为必要的属性
参考来源:
https://developers.line.biz/en/reference/messaging-api/#quick-reply
https://developers.line.biz/en/docs/messaging-api/using-quick-reply/
https://developers.line.biz/en/reference/messaging-api/#action-objects
>>: Day 10 克服系统异常流量的另一帖药CloudFront
D11: 关於EOF 这是一个在C语言里面才有的语法,EOF的意思就是End Of File,是AS...
本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtu...
哇,不知不觉就来到了铁人赛的最後一天了,从一开始不知道要写什麽内容,到慢慢想到要写什麽,再到最後终於...
ASP.NET 是微软推出的网页语言,其主要由 C# 所开发,也有少数人使用 VB.Net 开发。 ...
前言 最近这两年受到疫情的冲击,尤其是从今年五月中开始疫情第三级警戒,许多企业开始裁员,失业率创近期...