2017-04-18 103 views
1

我已經設置了一個微軟機器人捕獲用戶的信息,並將其添加到聯繫人。當Skype用戶啓動對話時,我能夠開始新的對話。觸發MS Bot主動向註冊用戶發送消息

我在RootDialog.cs觸發這樣做:

t = new Timer(new TimerCallback(timerEvent)); 
t.Change(5000, Timeout.Infinite); 

此之後5毫秒將啓動一個新的會話。

雖然這有效,但這不是我想要達到的。

除了Bot API控制器,我還有另一個控制器在我的程序中運行。

這個不使用[BothAuthentication]標籤的API會從其他系統收到http post請求。

這些帖子包含我需要通過Skype發送給用戶的信息。

雖然我無法將一個ApiController的信息(與Bot連接器無關)傳遞給實際可以向用戶發送消息的Bot控制器。

我可以使用什麼樣的觸發器來觸發機器人控制器中的動作以將消息發送給我已預先配置的用戶?我可以從其他系統獲取請求列表並監聽機器人控制器上的事件嗎?如果是的話如何?我檢查了ObservableCollection,但總是與一些接口綁定關聯。

或者我可以將信息從一個控制器傳遞給另一個控制器嗎?

真的很感謝幫助。

回答

2

您必須使用Conversations.SendToConversationAsync。 Check this.

+0

你能舉一個完整的例子嗎? – JoaoFilipeClementeMartins

+0

有完整的例子。你有所有需要。您必須在某些方法中放置該代碼才能恢復對話。 請將此問題標記爲答案。 –

+0

你確實回答了,這很有幫助,但它並沒有做到這一點。我收到500內部服務器錯誤,當我到達以下調用:await connector.Conversations.ReplyToActivityAsync((Activity)message); – JoaoFilipeClementeMartins

相關問題