node.js - 使用 Bot Framework 通过 NodeJS 发布到 Microsoft Teams 频道
问题描述
有没有办法将主动卡片从机器人发送到团队频道?用例是服务票证的渠道。一旦他们被发布,用户将能够通过一些操作与他们进行交互。
我正在查看此处的文档以发送主动消息。在底部,有一个“创建频道对话”部分,对startReplyChain()
. 但是,GitHub 上的实际代码和示例似乎仍然引用了与成员的对话,而不是主动向频道发送内容。
似乎确实有关于传入和传出 webhook 的文档,这就是我最终可能会做的事情。我唯一真正担心的是它需要使用可操作卡片,它在任何地方都将其引用为遗产。尽管说您不能与他们一起发送自适应卡,但还是会这样做。也许他们打算使这些连接器能够发送自适应卡,我不太清楚这是否是我应该关注的长期解决方案。
解决方案
这绝对是可能的,重要的是要注意,您甚至可以从另一个进程/应用程序发送(例如,按照来自 AWS Lamba 的计划)。您可以在此处查看示例。
发送消息的过程只是故事的一部分——您需要已经保存某些信息(例如在您的数据库中)才能知道如何联系正确的用户、群聊或频道对话,但有几种方法获取该信息。最常见的是,当您将机器人添加到对话中时,从对话更新事件中获取它。你将需要对话 ID、服务 url、租户 ID 和你的机器人的应用 ID(你在 Azure 门户中为你的机器人获得的内容,以及你已经在应用配置、团队清单等中使用的内容)。您可以在此处和此处阅读有关该主题的更多信息。
另一种选择是,如果您无权访问 conversationUpdate(例如,用户尚未安装您的应用程序),则调用 Graph API 来安装您的应用程序。只能对频道(在 v1 或 beta api 上)(参见此处)或用户(参见此处)执行此操作,但仅限于 beta api,而不是(还没有?)用于群聊。
推荐阅读
- python - 将 LSTM 模型从 Pytorch 转换为 TensorFlow
- java - SpringBoot @RequestMapping 不使用 JPA?
- azure - 使用 azure databricks 从 azure data Lake gen 2 推送 azure sql 数据仓库的增量更改
- javascript - 从表单数据节点获取数据
- c# - C# Web App FluentScheduler Job 在 ThreadAbortException 之后不会重复
- excel - 在数据透视表 VBA 中的 2 个日期范围之间进行过滤,适用于一台计算机,但不适用于另一台计算机
- python - 如何下载整个 netcdf-4 文件?
- azure-functions - Azure Blob 触发器动态路径不起作用
- c# - 如何集成 Fake.Build 和 JetBrains Rider
- python - how to extract this particular html tag with python