如何解决如果在 Azure bot 节点 js 中单击卡片中的 openUrl 类型链接,则需要事件/确认
我正在使用 node js 开发 Microsoft bot 框架。
我可以通过文本或卡片向用户发送可点击的链接,机器人需要知道何时点击了链接。在这种情况下,哪个事件可能有用?
或者是否有其他方法可以满足此要求?
解决方法
您可以使用卡片向用户发送可点击的链接。 openUrl 操作类型指定要在默认浏览器中启动的 URL。
以下代码显示了 Node.js 中 openUrl 操作类型的示例:
CardFactory.actions([
{
type: 'openUrl',title: 'Tabs',value: 'https://stackoverflow.com/q/68135796/15969417'
}])
此外,在其活动 CardAction 类型中,您可以根据需要使用以下内容。
1. 操作类型 messageBack:从选择按钮或点击卡片的用户向机器人发送消息和有效负载。向聊天流发送单独的消息。
属性
- 标题:显示为按钮标签。
- displayText(可选):用户在执行操作时在聊天流中使用。此文本不会发送到您的机器人。
- 值:在执行操作时发送给您的机器人。你可以编码 操作的上下文,例如唯一标识符或 JSON 对象。
- 文本:在执行操作时发送给您的机器人。使用此属性 简化机器人开发。您的代码可以检查单个顶级 用于调度机器人逻辑的属性。
messageBack 的灵活性意味着您的代码不能仅仅通过不使用 displayText 在历史记录中留下可见的用户消息。
示例:
CardFactory.actions([
{
type: 'messageBack',title: "My MessageBack button",displayText: "You clicked this button",text: "User just clicked the MessageBack button",value: {property: "propertyValue" }
}])
2. 操作类型 invoke:从选择按钮或点击卡片的用户向机器人发送消息和有效负载。此消息不可见。
属性
- 标题:显示为按钮标签。
- 值:此属性可以包含字符串、字符串化的 JSON 对象或 JSON 对象。
Node.js 中调用操作类型的示例:
CardFactory.actions([
{
type: "invoke",title: "B: Show me New Card",value: {
option: "opt2"
}
}])
传入调用消息的示例 顶级 replyToId 属性包含卡片操作来自的消息的 ID。如果您想更新消息,请使用它。
以下代码显示了传入调用消息的示例:JSON
{
"type": "invoke","value": {
"option": "opt2"
},"timestamp": "2021-06-28T04:11:19.614Z","localTimestamp": "2021-06-28T21:11:19.614-07:00","id": "f:6894910823492785420","channelId": "msteams","serviceUrl": "https://smba.trafficmanager.net/amer-client-ss.msg/","from": {
"id": "29:1Eniglq0-uVL83xNB9GU6w_G5a4SZF0gcJLprZzhtEbel21G_5h-
NgoprRw45mP0AXUIZVeqrsIHSYV4ntgfVJQ","name": "karthik B"
},"conversation": {
"id": "19:97b1ec61-45bf-453c-9059-6e8984e0cef4_8d88f59b-ae61-4300-bec0-caace7d28446@unq.gbl.spaces"
},"recipient": {
"id": "28:8d88f59b-ae61-4300-bec0-caace7d28446","name": "MyBot"
},"entities": [
{
"locale": "en-US","country": "US","platform": "Web","type": "clientInfo"
}
],"channelData": {
"channel": {
"id": "19:dc5ba12695be4eb7bf457cad6b4709eb@thread.skype"
},"team": {
"id": "19:712c61d0ef384e5fa681ba90ca943398@thread.skype"
},"tenant": {
"id": "72f988bf-86f1-41af-91ab-2d7cd011db47"
}
},"replyToId": "1575667808184"
}
示例:打开选项 B 中的链接后,它返回到 bot。
另外参考:Adaptive Cards with invoke action
Refer:从选择按钮或点击卡片的用户向机器人发送消息和有效负载。向聊天流发送单独的消息,所有对话参与者都可以看到消息或启动 OAuth 流程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。