【发布时间】:2019-06-02 16:17:48
【问题描述】:
我已经制作了一个聊天机器人,它在 Messenger 中运行良好,现在我正在制作自己的界面,但我在回复时遇到了一些问题。我正在使用 Microsoft BotFramework 并且可以发送和接收消息,但我无法通过订阅让它工作。所以现在我总是需要等待几秒钟,否则不能保证机器人的回复会添加到对话中。 订阅的结果只是发送的消息的 ID,而不是聊天机器人的响应消息/答案。
我尝试了订阅,但我通过超时“解决”了它。有没有人可以帮我解决这个问题?
我将消息发送到对话并在订阅中得到响应,我期望它的工作方式是这样的:
this.http.post(this.conversationUrl, body, {headers: this.headers}).subscribe(
res =>{
this.getMessage()
}
)
获取对话(getMessage()):
this.http.get(this.conversationUrl, {headers: this.headers}).subscribe()
为了“解决”我使用超时的问题,删除了订阅中的 getMessage() 调用,并在发送消息后等待 4 秒以获取对话:
this.chatbotService.sendMessage(newMessage);
setTimeout(() => {
var result = this.chatbotService.getMessage()
this.messages.push(result);
window.scrollTo(0, document.body.scrollHeight);
}, 4000);
我希望在机器人回复后/将其添加到对话后立即收到回复。如果只需要半秒,我不想等待 4 秒。
【问题讨论】:
-
我希望你能成功!如果您觉得我的回答足够,请“接受”它,以便我可以从我的支持跟踪器中清除这张票。如果没有,请告诉我我还能提供哪些帮助!
标签: angular botframework