Node.js 使用Bot框架通过NodeJS发布到Microsoft团队频道

Node.js 使用Bot框架通过NodeJS发布到Microsoft团队频道,node.js,botframework,microsoft-teams,Node.js,Botframework,Microsoft Teams,有没有一种方法可以将主动卡从机器人发送到团队频道?用例是服务票据的通道。一旦它们被发布,用户就可以通过一些操作与它们交互 我正在寻找发送主动消息的方法。在底部,有一个“创建频道对话”部分,其中有一个关于startReplyChain的小参考。然而,GitHub上的实际代码和示例似乎仍然引用了与成员的对话,而不是主动向频道发送内容 似乎有关于传入和传出Webhook的文档,这就是我最终可能要做的。我唯一真正关心的是,它需要使用可操作的卡片,它到处引用这些卡片作为遗产。这是尽管说,你不能发送自适应卡

有没有一种方法可以将主动卡从机器人发送到团队频道?用例是服务票据的通道。一旦它们被发布,用户就可以通过一些操作与它们交互

我正在寻找发送主动消息的方法。在底部,有一个“创建频道对话”部分,其中有一个关于startReplyChain的小参考。然而,GitHub上的实际代码和示例似乎仍然引用了与成员的对话,而不是主动向频道发送内容


似乎有关于传入和传出Webhook的文档,这就是我最终可能要做的。我唯一真正关心的是,它需要使用可操作的卡片,它到处引用这些卡片作为遗产。这是尽管说,你不能发送自适应卡与他们。也许他们打算让这些连接器发送自适应卡,但我并不清楚这是否是我应该关注的长期解决方案。

这绝对是可能的,需要注意的是,您甚至可以从另一个进程/应用程序发送自适应卡,例如,按照AWS Lamba的时间表发送。你可以看到一个样本

发送消息的过程只是故事的一部分-您需要保存某些信息,例如在数据库中,以了解如何联系正确的用户、群聊或频道对话,但有几种方法可以获取这些信息。最常见的是,当您将bot添加到对话中时,从conversationUpdate事件获取它。您需要会话id、服务url、租户id和您的机器人的应用程序id—您在Azure门户中为您的机器人获取的内容,以及您在应用程序配置、团队清单等中已经使用的内容。。您可以阅读更多有关该主题的信息,以及


另一种选择是,如果您无权访问conversationUpdate,例如用户尚未安装您的应用程序,则调用Graph API来安装您的应用程序。只能对v1或beta api see上的频道或用户see上的频道执行此操作,但只能在beta api上执行,而不是现在?进行群聊。

如果我有权,请告诉我。在proactiveBot.js中,我们有this.onConversationUpdate方法,当一个bot被添加到频道而不仅仅是一个群组聊天时,它会被调用?然后,想必,有某种方法可以判断这是一个频道,而不是聊天/用户。是的,非常准确。conversationUpdate在负载中有一部分,如以下示例所示:conversation:{isGroup:true,conversationType:channel,tenantId:[tenantId],id:[conversation id-注意,它的末尾可能有一个“;messageid=”,这可能是/可能不是您想要的],您可以查看conversationType,看看它是频道、groupchat还是直接与bot应用程序进行的1-1聊天。还要注意的是,proactiveBot.js示例只是将这些内容存储在内存中—您可以将其放入现实世界数据库中更具弹性的blob store中,等等。我想我最大的困惑是术语对话和Bot框架不仅仅与团队兼容。非常感谢。很乐意帮忙。确实有点令人困惑,有一些东西有多个名字。不要忘记在Azure bot服务中为团队频道设置bot,以便您可以将其添加到团队中的频道:-