Bot Framework SDK4 C#-在团队/ REST响应超时中向用户发送主动消息

时间:2019-11-22 10:32:20

标签: botframework

基于GitHub示例,我在Teams中创建了一个对话机器人,该机器人从用户那里收集信息,并通过HTTP POST调用将其发送到Flow(Microsoft Flow / Power Automate)。

此后,Bot等待响应并将其发送回用户。如果呼叫的超时时间不限于2分钟,通常这就足够了-有时需要更长的时间才能在Flow中获得完整的操作并获得响应。

我的问题是如何在不超时的情况下完成相同的任务。 REST似乎是最简单的,因为我不是程序员。

我检查了GitHub示例中的主动消息传递(https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/16.proactive-messages),当我输入 http://localhost:3978/api/notify 时,该示例在Emulator中起作用,但是我不知道如何使用它发布到Azure。终结点是什么?如何传递消息文本?

谢谢

1 个答案:

答案 0 :(得分:2)

如果要基于proactive-messages demo发送消息,则应进行一些代码修改。

您可以参考我的previous post,它会满足您的要求。 修改NotifyController.cs文件后,您可以按照以下步骤使用向特定用户发送邮件:

  1. 连接到您的机器人获取当前用户ID: enter image description here

  2. 通过其余客户端工具或邮递员发送消息给该用户: enter image description here

结果: enter image description here

如果您将漫游器发布到Azure,请假设您的Azure App服务主机是:https://xxxxxx.azurewebsites.net,那么漫游器消息终结点将是:https://xxxxxx.azurewebsites.net/api/messages,而/ notify函数终结点将是:{{ 1}}。简而言之,只需使用您的Azure App服务终结点替换https://xxxxxx.azurewebsites.net/api/notify就可以了。

希望有帮助。如果有任何不清楚的地方,请随时告诉我。