我需要开发一个现有应用程序的增强功能,该应用程序将与使用MS bot框架开发的机器人进行交互。为此,我正在考虑使用直接通道。但是,我不明白,我如何将用户特定信息从应用程序传递给机器人。
在https://docs.microsoft.com/en-us/bot-framework/rest-api/bot-framework-rest-direct-line-3-0-send-activity提供的文件中, 提到REST请求的有效负载是
{
"type": "message",
"from": {
"id": "user1"
},
"text": "hello"
}
我应该在哪里传递用户特定用户或会话信息,例如用户名,姓氏,电子邮件ID或登录ID,或启动用户发起聊天或其他任何位置的应用或位置?
任何指导都会有所帮助。
答案 0 :(得分:0)
如何使用用户名,用户域ID
等用户数据开始对话
正如NicolasR指出的那样,它不能让我们在直线通道上starting a conversation时附加/指定用户信息。
如何将用户特定信息从应用程序传递到bot
如果你想发送活动并使用Direct Line API将用户信息(名字,姓氏等)传递给机器人,正如你在that documentation中看到的那样,要将活动发送到机器人,客户端必须创建一个Activity
对象来定义活动。您可以参考以下示例请求,以在请求JSON有效负载的from
字段中包含用户信息。
在我的机器人应用程序代码(c#)中,我可以使用以下代码片段从Activity
对象中提取用户信息。
if (activity.From.Properties["firstname"] != null)
{
var fname = activity.From.Properties["firstname"].ToString();
}