我認爲通過使用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