我认为通过使用BackChannel可以让机器人与通过WebChat嵌入机器人的页面进行通信。它会允许你:
的第一件实例的网络聊天
侦听来自网页的事件实例的页面当然是HTML页面,它将包含你放在一起的内容,以及发送/收听事件的逻辑。具有基本逻辑的示例页面可以找到here,下面是带有事件相关代码的图像。
现在,你需要准备你的机器人倾听和发送事件。 Node.js
中有一个sample,表明如何做到这一点。
在C#
中移植它,就像监听和发送Event类型的活动一样简单。对于一个示例代码(使用前面提到的HTML页面的事件):
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Event &&
string.Equals(activity.Name, "buttonClicked", StringComparison.InvariantCultureIgnoreCase))
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
// return our reply to the user
Activity reply = activity.CreateReply("I see that you just pushed that button");
await connector.Conversations.ReplyToActivityAsync(reply);
}
if (activity.Type == ActivityTypes.Message)
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
// return our reply to the user
var reply = activity.CreateReply();
reply.Type = ActivityTypes.Event;
reply.Name = "changeBackground";
reply.Value = activity.Text;
await connector.Conversations.ReplyToActivityAsync(reply);
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
底线,在HTML页面中,你将有一个事件发送给机器人,与页面URL和机器人会必须收听该事件才能获得值
这似乎并不是与Robot Framework相关的测试自动化工具的名称相同。 –
我知道它只是一个用于测试的模拟器,但我想知道的是,无论如何,我们可以在我们发布机器人时获得它 –
您可以托管自己的网聊控件。请参阅此链接https://github.com/Microsoft/BotFramework-WebChat – Satheesh