【发布时间】:2017-07-20 06:57:12
【问题描述】:
因此,当机器人通过 Bot Connecter 发送消息时,它会将其作为 JSON 对象发送,类似于:
{
"type": "message",
"timestamp": "2017-07-20T06:35:09.196Z",
"serviceUrl": "http://127.0.0.1:53484",
"channelId": "emulator",
"from": {
"id": "ijfi3f969c6fij756",
"name": "Bot"
},
"conversation": {
"id": "g671h707amhch9326"
},
"recipient": {
"id": "default-user"
},
"membersAdded": [],
"membersRemoved": [],
"text": "Hey there!",
"attachments": [],
"entities": [],
"replyToId": "efincfmnc40la0g7c",
"id": "hi959g2a8ji1fn86",
"localTimestamp": "2017-07-20T08:35:09+02:00"
}
我们想添加一些额外的标签,以携带更多关于正在发送的消息的数据。例如,我们可能想要添加一个标签,表明我们希望用户回复一个电子邮件地址。也许是这样的:
{
"type": "message",
"expecting": "email"
“时间戳”:“2017-07-20T06:35:09.196Z”, "serviceUrl": "http://127.0.0.1:53484", "channelId": "模拟器", “来自”:{
“id”:“ijfi3f969c6fij756”, “名称”:“机器人” },
我们的想法是,我们想使用我们的自定义标签来运行额外的代码。例如,我们可能想做的事情是:
if(reply.Expecting.Equals("email")
{
//Do something awesome here.
}
但是,我们无法找到有关如何自定义这些 JSON 消息的任何信息。是否可以?如果是这样,我们将如何处理?
【问题讨论】:
-
如果你想获取用户输入,你应该看看 PromptDialog
-
在 Amio.io 中,我们使用
metadata来完成该任务。 (我来自 Amio.io。抱歉,我忍不住要分享我们的处理方式。;-) docs.amio.io/v1.0/…
标签: json tags bots botframework