Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 使用Bot框架在Microsoft团队上发送主动消息_Asp.net Core_Azure Devops_Botframework_Microsoft Teams - Fatal编程技术网

Asp.net core 使用Bot框架在Microsoft团队上发送主动消息

Asp.net core 使用Bot框架在Microsoft团队上发送主动消息,asp.net-core,azure-devops,botframework,microsoft-teams,Asp.net Core,Azure Devops,Botframework,Microsoft Teams,我在使用bot框架构建的团队上安装了一个聊天机器人。我正在使用Azure DevOps更新对bot的更改 我希望向遵循此和的用户发送主动消息。但我不知道如何调用/api/notify端点 我如何从代码中调用来向团队中的用户发送主动消息?我不喜欢这个示例的一点是,它使您似乎需要在与您的bot自身相同的web主机中承载-能够-进行主动调用,这绝对不是必需的。例如,您可以将bot托管在web应用程序中,但直接从Azure函数进行主动调用。这就是我制作不同样本的原因之一——看看吧。它只需要一个服务url

我在使用bot框架构建的团队上安装了一个聊天机器人。我正在使用Azure DevOps更新对bot的更改

我希望向遵循此和的用户发送主动消息。但我不知道如何调用/api/notify端点


我如何从代码中调用来向团队中的用户发送主动消息?

我不喜欢这个示例的一点是,它使您似乎需要在与您的bot自身相同的web主机中承载-能够-进行主动调用,这绝对不是必需的。例如,您可以将bot托管在web应用程序中,但直接从Azure函数进行主动调用。这就是我制作不同样本的原因之一——看看吧。它只需要一个服务url(例如,因为端点可以根据租户的地理位置进行更改)和一个“对话id”,以便它知道要向哪个用户/组/通道发送消息。请检查一下,看看是否有帮助。

谢谢@Hilton的链接。bot已经安装在团队中,我不记得在MembersAddedAsync和OnConversationUpdateActivityAsync上调用这些方法时存储用户信息。尽管我仍然通过Azure DevOps持续交付对机器人进行更新。我后来在bot中实现了主动消息。当我推送更新时,机器人没有发送消息。我在这里的挑战是如何访问团队上的/api/notify端点,因为这与Bot emulator一起工作。正如您在团队上创建了一个选项卡来发送主动消息一样,在代码中是否没有任何地方可以在下次我通过Azure CD推送更新时调用该方法来发送消息?由于OnConversationUpdateActivityAsync和OnMembersAddedAsync仅在添加用户时或在团队中安装bot时调用一次。提前感谢您的回复。获取所需信息的最佳位置是ConversationUpdateActivityAsync/OnMembersAddedAsync,因为这样您就可以直接获得它,而无需任何用户参与。但是,您需要的信息(服务url和会话id)随附在每条消息中,因此用户向bot发送消息时,您可以随时获取它们。基本上,只需将代码添加到常规消息处理程序中即可获得它们,然后向您的机器人发送消息。这很有效,@Hilton。但是每次用户向bot发送消息时,bot都会持续发送一条主动消息。当我将代码添加到常规消息处理程序中时,你知道如何让bot发送一次消息吗?对于阅读本文的任何人,@HiltonGiesenow评论在这里都是正确的。如果你被卡住了,你可能也想看看他的评论。