首页 > 解决方案 > 使用 Bot Framework 通过 NodeJS 发布到 Microsoft Teams 频道

问题描述

有没有办法将主动卡片从机器人发送到团队频道?用例是服务票证的渠道。一旦他们被发布,用户将能够通过一些操作与他们进行交互。

我正在查看此处的文档以发送主动消息。在底部,有一个“创建频道对话”部分,对startReplyChain(). 但是,GitHub 上的实际代码和示例似乎仍然引用了与成员的对话,而不是主动向频道发送内容。

似乎确实有关于传入和传出 webhook 的文档,这就是我最终可能会做的事情。我唯一真正担心的是它需要使用可操作卡片,它在任何地方都将其引用为遗产。尽管说您不能与他们一起发送自适应卡,但还是会这样做。也许他们打算使这些连接器能够发送自适应卡,我不太清楚这是否是我应该关注的长期解决方案。

标签: node.jsbotframeworkmicrosoft-teams

解决方案


这绝对是可能的,重要的是要注意,您甚至可以从另一个进程/应用程序发送(例如,按照来自 AWS Lamba 的计划)。您可以在此处查看示例。

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

另一种选择是,如果您无权访问 conversationUpdate(例如,用户尚未安装您的应用程序),则调用 Graph API 来安装您的应用程序。只能对频道(在 v1 或 beta api 上)(参见此处)或用户(参见此处)执行此操作,但仅限于 beta api,而不是(还没有?)用于群聊。


推荐阅读