如何通过漫游器对话框(c#)通过直线将活动发送到客户端(角度)

时间:2018-09-14 14:01:59

标签: botframework direct-line-botframework

当我在某个对话框中时,我正在尝试从机器人向客户端发送事件活动,但是我无法使其正常工作...我可以查看任何建议或代码示例吗?

我也已经尝试建立一个反向通道,它可以工作,但就我所知,它仅在消息控制器中在机器人端起作用。

编辑*

很抱歉,由于没有提供任何详细信息,我上周很着急。

因此,我正在制作一个可以为用户填写“报告”的机器人,该机器人会提出问题,然后用户给出答案。对于第一个问题,当我在第一个对话框中(即在根对话框之后)时,我必须在我的角度应用程序中调用一个函数,该函数将检查用户输入,如果帐户存在,则将“ Account”对象返回给bot ,如果没有,则返回null ...(而且我知道只制作一个API并直接连接到机器人会更容易,但是我必须使用angular)

我正在像这样使用反向频道:

botConnection.activity$ .filter( activity => { // tslint:disable-next-line:max-line-length return (activity.type === 'message' && activity.from['id'] === 'VisitReportV3' && activity.text === 'Please select an account...') || (activity.type === 'message' && activity.from['id'] === 'user' && this.accountFlag) }) .subscribe(activity => { if (activity.from['id'] === 'VisitReportV3' && activity.text === 'Please select an account...') { console.log('"account" received'); this.accountFlag = true; postAccountInfo(); } else if (activity.from['id'] === 'user' && this.accountFlag) { console.log('"account" flag recieved'); this.accountFlag = false; } });

这可能是完全错误的,但是我不知道该怎么办。

tl; dr:

因此,简而言之,我需要检查我是否在第一个对话框中(或询问我该帐户的对话框中),然后我是否在等待下一个用户输入并调用angular函数来检查输入并查看是否有任何匹配的帐户,如果它们确实将序列化的对象返回给bot进行更多处理,则不返回null。我希望这可以解释更多内容。

0 个答案:

没有答案