如何向 botframework 消息添加额外的负载 (DirectLine)
How to add additional payload to botframework messages (DirectLine)
我正在使用 MS Bot Framework 开发机器人。
我们也有这个机器人的本地移动应用程序客户端,所以我们唯一的选择是通过套接字使用 DirectLine API。
我想知道是否可以将自定义负载添加到机器人发送给客户端的消息中。
假设我想 return 一条有 20 个位置的消息,每个位置都是一个带有图像、标题、副标题和文本的 ThumbnailCard 附件,我还想添加更多信息,例如 lat, lon, open time, close time etc.
最好的方法是什么,这可能吗?
我正在为我的机器人使用 NodeJS。我的 IDE 告诉我目前只有这些选项可用于每个 ThumbnailCard 附件:
- 文字
- 标题
- 副标题
- 图片
- 点击
以前我使用的方法是这样的:
message = new builder.Message(session)
.attachments(thumbnails)
.attachmentLayout('carousel')
.entities([
{
name: 'Location 1',
lat: 10.11,
lon: 10.11
},
{
name: 'Mitul',
lat: 10.11,
lon: 10.11
}
])
.text('Select Location');
但后来我发现如果我在实体中提供 1 或 2 个项目,而不是在我的应用程序中收到它,但是如果有 5-10 objects 具有 10-30 个属性,那么我看不到客户端中的实体。我想我在这里使用 entities
是错误的。
将自定义数据添加到我的 bot 消息的最佳方法是什么,是否有任何大小限制,例如我可以传递多少 objects?
您可以尝试使用 sourceEvent
属性 的消息。它通常用于将 specific/native 的有效载荷发送到通道。
在 Direct Line v3.0 之前,不支持附件,因此 Direct Line 示例使用 sourceEvent
属性 发送它们。你可以在这个 code snapshot.
中看到
我正在使用 MS Bot Framework 开发机器人。 我们也有这个机器人的本地移动应用程序客户端,所以我们唯一的选择是通过套接字使用 DirectLine API。
我想知道是否可以将自定义负载添加到机器人发送给客户端的消息中。
假设我想 return 一条有 20 个位置的消息,每个位置都是一个带有图像、标题、副标题和文本的 ThumbnailCard 附件,我还想添加更多信息,例如 lat, lon, open time, close time etc.
最好的方法是什么,这可能吗?
我正在为我的机器人使用 NodeJS。我的 IDE 告诉我目前只有这些选项可用于每个 ThumbnailCard 附件:
- 文字
- 标题
- 副标题
- 图片
- 点击
以前我使用的方法是这样的:
message = new builder.Message(session)
.attachments(thumbnails)
.attachmentLayout('carousel')
.entities([
{
name: 'Location 1',
lat: 10.11,
lon: 10.11
},
{
name: 'Mitul',
lat: 10.11,
lon: 10.11
}
])
.text('Select Location');
但后来我发现如果我在实体中提供 1 或 2 个项目,而不是在我的应用程序中收到它,但是如果有 5-10 objects 具有 10-30 个属性,那么我看不到客户端中的实体。我想我在这里使用 entities
是错误的。
将自定义数据添加到我的 bot 消息的最佳方法是什么,是否有任何大小限制,例如我可以传递多少 objects?
您可以尝试使用 sourceEvent
属性 的消息。它通常用于将 specific/native 的有效载荷发送到通道。
在 Direct Line v3.0 之前,不支持附件,因此 Direct Line 示例使用 sourceEvent
属性 发送它们。你可以在这个 code snapshot.