当前位置:网站首页 > 编程语言 > 正文

本机信息APP(本机信息在哪里设置)



原文:Building Solutions with Microsoft Teams

协议:CC BY-NC-SA 4.0

本章涵盖了组织工作的发展方式,以及员工如何与您的应用交互,以及您的应用如何与员工交互。我们将讨论团队的可扩展平台和能力,以及针对您的业务线的不同类型的业务解决方案机会。

我们还将发现高层架构,以及团队客户机和关键服务如何一起工作来交付团队功能。这包括对消息传递如何工作、数据存储在团队中的何处、数据如何流入和流出团队以及遵从边界在哪里的高级理解。

最后,这一章讲述了为什么你必须为团队开发应用,并投资为团队开发定制的解决方案。

这本书有助于理解团队中可用的开发人员平台以及可以创建的应用类型。随着 Teams 与许多 Microsoft 365 服务的集成,我们需要了解 Teams 架构如何支持可扩展性,以及我们的应用如何使用现有的系统组件。接下来,我们将深入研究团队的解决方案开发。这本书解释了机器人,消息操作,消息扩展,任务模块,个人应用,等等。

下一步是通过使用加速器使开发变得轻量级。PowerApps 和 Flow 以及其他无到低代码工具帮助团队快速构建解决方案。您还可以利用 SharePoint 开发中的现有技能。

最后,我们将通过了解最佳实践、应用打包和发布以及通过商店提供应用来完善我们的学习,并了解开发人员在团队中可以做些什么。

如今的员工比以往任何时候都更具移动性、社会性和全球性。人们有不同的技术背景,对沟通和协作工具有不同的期望。但是不管人们更喜欢什么样的电话和会议工具,有一点是明确的:他们的大部分时间都花在了合作上。我们想让这变得更容易。

如果你不提供工具来支持这些新的工作方式,会发生什么?为了完成眼前的任务,最终用户下载消费级工具,这给最终用户带来了摩擦,因为他们必须管理多次登录并在不同的体验之间切换,并且随着影子 it 的发展,给组织带来了风险。

所有领导者关心的事情之一是确保他们所有的 IP 和信息是安全的。人们正在寻找一种协作解决方案,它适用于多样化的劳动力,包括社交用途的各个方面,基于现代和安全的东西,这就是团队和微软 365 所提供的。

Microsoft 365 有助于在团队内部与项目中的工作人员进行更有效的沟通。它使人们能够在任何设备上工作,无论是移动设备还是您的计算机。企业最重要的目标之一是自动化业务流程,作为一个平台,团队提供了实现这一目标的方法。

此外,人们真的希望定制他们的工作场所,尤其是当他们与一群人一起工作时,他们希望根据他们正在工作的内容定制空间。在做所有这些事情的同时,他们还在考虑如何保护对企业的访问,从而保护他们的信息并抵御网络威胁。

当我们讨论架构、安全性和法规遵从性时,记住这三个原则很重要:

  • 专为云设计
  • 大规模敏捷性
  • 扩大 Office 365 的价值

如果它是设计出来的,那它就是为云而建的。(它可以在内部运行吗?否)团队希望能够利用所有最新、最棒的 Microsoft 365 服务和功能。

团队架构的另一个优势是它可以大规模敏捷。快速交付和能够快速推出新功能是一些主要目标。如果你使用团队已经有一段时间了,你会经历这种快速发展。团队目前每周大约有一个构建。但不仅仅是新功能;如果也有一些东西需要修复,一个团队的工程团队可以很快地修复它,并把改变传达给客户。

如果您熟悉团队,您会知道它是一个以聊天为中心的工作区,是一个团队合作的中心,汇集了 Office 365 中的许多功能:组、规划器、Power BI、SharePoint、Office、Excel、Word、Visual Studio Teams 系统,以及您可以通过选项卡、连接器和机器人引入的合作伙伴服务。所有这些不同的部分将以一种方式集成,使它们更好地结合在一起,并允许您的团队使用它们进行协作。

团队加入微软 365 智能通信

从架构角度来看,Teams 将 Office 365 和 Skype 结合在一起,因此 Teams 位于 Office 365 和 Skype 之间,位于 Azure 之上。团队内部的服务实际上是一个编排层,它将其他部分汇集在一起,然后使您能够将一个现代组附加到一组聊天中,或者确保在您创建团队和任何人都可以使用的可扩展 Azure 基础架构时提供 SharePoint 站点。比如将一个现代群组附加到一组聊天中,或者确保在创建团队和可扩展的 Azure 基础架构时提供 SharePoint 站点,你们任何人都可以使用这些基础架构。见图 1-1 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-1

MSTeam 架构

From an architecture perspective, Teams brings together Office 365 and Skype, so Teams sits between Office 365 and Skype and on top of Azure. The services inside Teams are really an orchestration layer that brings the other pieces together and then enables you to attach a modern group to a set of chats or to make sure a SharePoint site is provisioned when you create a Team and scalable Azure infrastructure that can be used by anyone. Things like attach a modern group to a set of chats or to make sure a SharePoint site is provisioned when you create a Team and scalable Azure infrastructure that any of you can use. See Figure

团队服务

让我们仔细看看我们所说的“中间层”这些是团队工程团队为创建团队而构建的服务,而其他服务需要依赖关系。它是一组微服务的集合,每个微服务都有特定的功能。它被构建为允许它单独部署每个部分。参见图 1-2 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-2

团队服务

Let’s take a closer look at what we call the “middle tier.” These are the services that the Teams engineering team built to create Teams vs. the other services that take dependencies. It is a collection of microservices that all have a specific function. It has been built to allow it to deploy each piece separately. See Figure

其中大多数都有更多的编排组件。但团队所做的是,所有 O365 (Office 365)功能都被占用,所有现代 Skype 基础设施都被集中在这个以聊天为中心的现代工作空间,即团队合作的中心。它是一组前端服务器,允许 It 发送 HTML/JavaScript/TypeScript 有效负载,并使我们能够处理配置,以便您获得具有正确功能集的正确产品版本。

身份:Microsoft Teams 拥有并管理一个活动目录同步,以确保您的团队和现代团体保持同步。他们也有认证。这是一个神奇的地方,他们能判断出你是否有许可证,团队是否开启,或者你是否有权使用它。然后为了合规,他们拥有两个服务。一个叫做审计,另一个叫做保留挂钩。

审计服务是捕获来自团队的所有事件的地方,包括像创建团队、创建通道和删除通道这样的事件。所有这些都是您的 It 管理员想要了解的。团队将这些注入标准 O365 基础架构,因此您可以在安全和合规中心的审核日志中看到它们。团队保持持续的聊天,无限期地保存数据。但是一些组织认为这些数据是一种负担,一旦他们认为这些数据不再有用,就想把它们处理掉。

团队还处理通知。聊天服务中有一个消防水管,可以为我们提供每条消息,如果你在过去的 60/ 90 分钟内没有在线,但你有一条新消息,团队可以向你发送电子邮件或推送通知。

团队管理是完成所有管理工作的地方,如创建团队、创建 SharePoint 团队网站和创建 Office 365 组。对于可扩展性,Teams 有一组服务来支持,图形 API、选项卡和 bot 创建/管理。对于配置,Teams 将元数据存储在许多不同的位置,有些存储在 Skype 的聊天服务中,有些存储在组中,但也有一些特定的 Office 365 配置存储在用户设置、配置文件和租户映射中。

智能通信云

团队在很大程度上依赖于 Skype 所擅长的——聊天、会议、通话和所有支持它的服务。您在下图中看到的一组微服务是 Skype 和 Skype for Business 之间的下一代融合核心服务(图 1-3 )。

因为 Teams 是以聊天为中心的,所以它对我们的许多 Skype 消息服务下了很大的赌注。Teams 有一个非常强大的搜索功能,在现代的 Skype 端有一套微服务——聊天、媒体——图片存储在那里。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-3

智能通信云

Teams 也有 URL 预览服务,就像其他现代应用一样。当你输入网址时,Teams 会给你一个小小的预览,所以你可以很容易地分享网址,每个人都知道他们点击的是什么。通知中心让您知道新邮件何时到达您的客户端。

服务呼叫/会议都很重要,并为团队中的会议/呼叫体验提供动力。团队的目标是将 Skype 和 Skype for Business 的精华融合在一起,团队的工程团队由相同的开发人员工作并拥有这些产品。

例如,云记录服务将来自用户/客户端的内容聚合到正在记录的通话或会议中,将它们发送到正确的数据结构中,然后将它们发送到 Microsoft streams,在那里存储所有云记录供以后使用。

然后 Teams 提供身份和许可服务,这是 Teams 将 AAD 用户映射到 Skype 世界的方式,Skype 世界依赖于 Skype 令牌。许可服务是一个地方,例如,一些变化,使客人用户进行。

逻辑架构

图 1-4 是 MSTeam 的逻辑架构。这张图表显示了一切是如何联系在一起的。每个团队都有一个 Microsoft 365 Group 和 SharePoint Team Site 作为其基础成员结构。对于公共频道,所有文件都存储在 SharePoint 工作组网站文档库文件夹中;对于聊天,私有频道将所有文件存储在单独的 SharePoint 网站和 OneDrive 中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-4

逻辑架构

对话存储在哪里?
聊天服务
  • 提高内存处理速度
  • 利用 Azure 存储(blob、表、队列)

团队背后有聊天服务,有自己的物理存储。但是你可以想象一下,当你把一个聊天信息从发送者发送到接收者时,你希望它立即到达那里。因此,大多数处理都发生在内存中,并由 Azure 存储提供支持。

基底/交换
  • 聊天和频道消息也被存储以换取信息保护。

Teams 将聊天信息存储在 Exchange 中,以实现信息保护。如果你在团队中聊天,那就要用到聊天服务。Teams 内部有一个被称为 substrate 的服务,它查看聊天并决定如何处理它。

有两种选择:

  • 如果是数字聊天,那么它会被发布到每个聊天参与者邮箱中的隐藏文件夹中。
  • 如果您在小组对话中,该小组对话会发布到与该小组相关联的组邮箱中的隐藏文件夹中。
对话图像和媒体

内嵌图像/贴纸存储在媒体存储中,但 Giphys 不存储。

文件存储在哪里?
1: N 只猫

文件上传到 OneDrive for Business,并为聊天成员设置权限。

团队对话

文件被上传到 SharePoint。一个文件夹与团队中的每个频道相关联。

云存储

Dropbox,box,Citrix ShareFile,Google Drive。

团队如何实现 O365 信息保护

当你在团队中聊天时,这就变成了聊天服务(图 1-5 )。然后 Teams 内部有一个服务,它称之为 s substrate。它会查看聊天内容并决定如何处理。如果您与某人进行一对一的聊天,那么该聊天会被发布到该对话的所有参与者的用户邮箱中的隐藏文件夹中。如果您有一个团队对话,该聊天将被发布到群组邮箱中。然后,文件(SharePoint 或 OneDrive for Business 和 OneNote/Wiki)也以物理方式存储在 SharePoint 中。

这样,您现在可能在 Exchange 和 SharePoint 中使用的所有信息保护工具都可供您使用。如今,信息保护功能仅在邮箱在线时才起作用(当邮箱在本地时,它不起作用)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-5

O365 信息保护

Teams 是办公室的单一中心,可以减少您每天收到的信息过载,并专注于与您最相关的内容,从而更好地完成您的工作。它将您的组织已经在使用的所有应用和工具整合到一个用户界面中;对 IT 部门而言,这意味着更好、更轻松的管理,减少安全威胁,让您有更多时间投入到有价值的前瞻性项目中。

这通过主动智能将超能力传递给人们,并且是团队平台可扩展性的核心。Teams 使用我们的 API 和/或我们的合作伙伴社区来提供智能体验,这些 API 和/或合作伙伴社区可以做到以下几点:首先,让工作中最困难、最浪费时间的任务变得简单。此后,将智慧传递给你的员工,让他们了解他们如何为组织增加更多价值,然后更高效、更快速地交付这些价值。参见图 1-6 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-6

可扩展平台

Teams 是一个非常可扩展的平台,具有许多功能。请将此视为您的员工与您的应用交互的方式,或者您的应用与员工交互的方式,无论是通过聊天、频道、通知,还是在他们的个人工作区或团队工作区。

其中一些是 ?? 的机器人。大多数人对机器人都很熟悉。一个受欢迎的例子是,你可以通过启动一个机器人来提问和获得答案。机器人帮助用户在团队对话中完成任务。机器人可以做的事情包括启动工作流并提供工作流的状态,给予和接受团队成员的称赞,创建轻量级调查以衡量员工满意度,以及回答关于销售和客户使用数据的自然语言问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 标签为你提供了一个丰富的界面,你可以在标签中发布应用的任何信息,这样用户就可以直接看到,或者你也可以在标签中发布应用。

选项卡允许您在团队中展示丰富的内容,因此您可以将团队关心的工具和服务直接带入频道或私人聊天中。然后,您可以添加丰富的仪表板和数据可视化,在文档和笔记上进行协作,管理整个小组的任务,以及共享设计。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 通知通过订阅源通知吸引用户,无论是在订阅源中还是在频道中,这样您就可以通知人们,例如,如果您的应用发生了变化,您正在扩展到团队中,您可以向用户提供通知。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 消息扩展允许用户在对话中查询和分享丰富的卡片。消息传递扩展为人们提供了一种方式,让他们可以在对话中真正地获取、查询和分享丰富的卡片;顺便说一句,用户可以在这些卡片上采取行动,给你反馈,并根据这些反馈提供额外的信息。您拥有可以启动工作流源搜索内容的命令和操作。借助可操作的信息,您可以向连接器卡添加丰富的内容。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 任务模块让你从机器人卡片或标签打开一个对话框。当您需要做一些表单输入、查找或保持频道外的 1:1 交互时,弹出一个对话框。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 连接器帮助将有用的信息和丰富的内容从外部服务带入 MSTeam 的渠道。您可以获得社交媒体通知、关于拉和推请求的更新以及新闻更新。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 微软图形是一个统一的 REST API 和全面的开发者体验,用于集成微软服务公开的数据和智能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传——添加丰富的通话、会议自动化和媒体。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 自适应卡是微软产品(包括机器人、Cortana、Outlook 和 Windows)中卡的一种新的跨产品规范。它们是新团队发展的推荐卡类型。您可以使用自适应卡、现有英雄卡、Office 365 卡和缩略图卡。

需要考虑的一件重要事情是,你有能力将一些东西放在团队环境中,例如,放在多人的频道中,或者你放在某人的个人频道中,这实际上是针对个人的,就你如何发布东西而言。Teams 允许你为测试和开发附加一些东西。如果它是一个完全定制的打包解决方案,您可以在团队应用商店中构建和发布;如果它是一个定制应用,实际上是为一个单独的客户定制的,您可以使用应用商店进行部署。想象一下,每个客户都有自己公司的私人应用商店,你可以在那里下载。

利用员工需要的工具,改进他们的工作方式

MSTeam 的魅力之一是,团队确实是人们完成工作的中心,因此他们希望确保他们需要的所有工具都是团队的一部分。这样他们就不必更换联系人,我们认为这是两种不同类型的应用。

自定义和扩展团队的第一部分是将您所知道的所有 Microsoft Office 应用集合在一起,允许您减少上下文切换并围绕内容创建对话。

这种工具融合的第二部分是您每天需要的所有其他应用和服务汇集在一起,以完成您的工作。MSTeam 商店目前拥有超过 250 个合作伙伴应用和集成,并且还在不断增加(图 1-7 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-7

团队应用的类型

这里的前两层是随时可用的应用,只要您下载了团队,IT 管理员就可以向您提供它们。

Microsoft Teams 还使您能够扩展您的体验,以利用您的组织为您构建的应用和服务;作为一名员工,这些是你每天都需要利用的工具,以完成工作,也是你职责的一部分。它被称为业务线(LOB)应用(自定义应用)。

不同行业和水平的应用场景

本节-不同行业和水平的应用场景的目的是给你一些想法,并开始思考你的客户需要什么(图 1-8 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 1-8

团队应用场景

围绕团队合作的这些类型的商业解决方案机会几乎是无穷无尽的:来自航空公司、零售、医疗保健、法律事务所、房地产、不同的行业和不同的职能部门。您可以与客户一起设想,了解他们的业务流程和团队合作需求,并将团队与他们每天使用的工具和服务联系起来,以帮助他们充分实现团队的价值。

MSTeam 平台是一个强大、灵活的平台,用于为 MSTeam 创建应用。然而,这并不意味着它将适合所有场景。在本节中,我们将讨论团队应用的一些关键场景。

加强沟通和协作

当团队应用专注于增强协作和交流时,它们会大放异彩。大多数成功的 Teams 应用要么以某种形式从另一个系统获取信息,就此展开对话,并允许用户直接在 Teams 客户端内对该信息采取行动,要么根据外部系统中的事件或行动将信息推送给目标受众。

鼓励社会互动

专注于鼓励团队成员之间社交互动的应用发挥了作用。这些应用可以发送民意调查,让人们互相发送反馈,将他们联系在一起,或者只是为了好玩(不要低估一些“只是为了好玩”的应用对团队士气的影响)。团队是一个社交平台;定制的社交应用鼓励你的团队将你的公司文化扩展到你的协作空间。

启动和促进通用业务流程

团队可以是一个有效的平台,用于启动和促进通用业务流程的完成。创建和共享销售拜访报告、根据项目跟踪您的时间、保留公共资源、提交帮助台请求等等,都有助于开发高效的团队应用。通常已经有一些其他系统负责完成这些动作。在这些情况下,使用团队作为启动流程的桥梁,并在流程中进行沟通,可以创建一个有效的混合应用。

浮现部分(或全部)现有应用

如果你有一个现有的 web 应用、SharePoint 站点(或 SPFx 扩展)、PowerApps 或其他基于 web 的应用,在团队中启用其中的部分或全部可能是有意义的。只是一定要仔细考虑上下文和范围。如果你启用你的导航,并形成一个沉重的网站作为一个频道标签,它可能不会工作得很好。

带有标签和机器人的个人应用

一对一对话机器人是 MSTeam 中最开放的可扩展性点之一。对话只是在机器人和用户之间进行,您可以灵活地包含任务模块,以简化复杂信息集的收集,并且您可以将它们与个人范围的选项卡相结合。使用这个画布,您可以在团队客户端中创建完整的传统应用体验。

为什么您必须投资为团队构建定制解决方案?

第一个原因是让你的报价与众不同。有许多合作伙伴正在围绕 Office 365 或 MSTeam 进行部署,但构建定制解决方案并展示定制解决方案的合作伙伴实际上实现了两件事:

  • 他们让客户感到兴奋,因为这向客户展示了 MSTeam 能为他们做什么的真实愿景。
  • 这有助于他们脱颖而出,从所有其他部署合作伙伴中脱颖而出。

它能让你提高盈利能力。微软与 Forrester 合作进行了一项研究,发现为 MSTeam 构建定制解决方案可将您的盈利能力提高 17%,并且使您能够对利润更高的开发人员资源进行收费。

这有助于你接触到更广泛的受众。这使您能够与业务决策者和真正重视这一点的最终用户交谈,这有助于您真正为业务部门增加价值。这也有助于增加你与特定行业的相关性。

在本章中,我们学习了组织工作发展的方式,并了解到我们正在构建一个平台,而团队是一个非常可扩展的平台,为您的业务线提供了许多功能和不同类型的业务解决方案机会。

我们还学习了高层架构,团队客户和关键服务如何一起工作来交付团队能力。我们还对消息传递的工作方式、数据在团队中的存储方式/位置、数据在团队中的流入和流出以及合规性边界有了更深入的了解。

最后,在这一章中,我们讨论了为什么你必须为团队开发应用,为什么你必须投资为团队开发定制的解决方案。

既然我们已经学习了 MSTeam 开发平台的基础知识,我们将在接下来的章节中开始开发 MSTeam 应用。

本章介绍了设置环境,并解释了如何使用 Yeoman Generator 为 MSTeam 创建应用。NET 与 c#和 Nodejs。它还描述了关于团队应用业务线的各种上下文和场景。

Microsoft Teams developer platform 使您能够轻松扩展团队,并将您自己的应用和服务无缝集成到团队工作区中。然后,这些应用可以分发给您的企业或世界各地的团队。

要开始为团队开发,决定很多点是很重要的。首先,当你在构建任何应用时,你需要问自己,它真的为一个团队解决了一个现实世界的问题吗?你不想构建不能解决任何业务问题的东西,因为你的应用不会有用户。接下来,一个重要的决策点将是用户使用该应用的频率。如果你的应用价值主张和与之相关的努力和成本之间没有很好的平衡,那么你可能需要探索其他选择。

团队就是用户的体验和他们与工具的互动。如果你想让一个应用赢得人民选择奖,那么考虑用户角色,以及你的应用如何改善他们的生活。

以下是团队应用的集成点。

  • 带有搜索命令的消息传递扩展
    • 搜索外部系统,并以互动卡的形式共享结果。
  • 带有动作命令的消息传递扩展
    • 收集信息以插入数据存储或执行高级搜索。
  • 制表符
    • 创建嵌入式 web 体验来查看、处理和共享数据。
  • 连接器和网钩
    • 将数据推入团队客户端和从团队客户端发送数据的简单方法。
  • 任务模块
    • 从任何需要的地方收集或显示信息的交互式模态表单。

若要扩展 Microsoft Teams,您需要创建 Microsoft Teams 应用。Microsoft Teams 应用是您托管的 web 应用。然后,这个应用可以集成到团队中的用户工作区。

作为团队开发人员,您可以使用不同的方法和知识来扩展团队平台。你可以利用你之前的知识。Net 结合 C# / NodeJS / SPFx 开发团队应用。

您可以通过利用现有知识创建自定义应用来扩展 Teams developer platform 的功能。Microsoft Teams 开发平台目前支持三种语言:。Net、JavaScript 和 Python。参见图 2-1 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-1

Microsoft 团队应用支持的语言

此外,MSTeam 开发平台支持六种不同的 ide 来开发 MSTeam 应用(图 2-2 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-2

MSTeam 应用不同的 ide

  1. 使用 C#/的 MSTeam 平台。NET 和 App Studio
  2. MSTeam 平台与 Node.js 和 App Studio
  3. MSTeam 平台与约曼发电机
  4. 带有 SharePoint 框架的 Microsoft 团队平台
  5. 用于 Visual Studio 代码的 MSTeam 工具包
  6. MSTeam 平台与 Phyton 和 App Studio

准备好你的 Office 365 租户

让我们准备开发环境。确保为您要在其中构建应用的 Microsoft 365 组织启用了自定义应用上传。如果您需要专门的开发租户,请注册 Office 365 开发人员计划。确保你有一个可以上传和测试你的团队应用的环境。

  1. 注册 Microsoft 365 开发人员订阅。

    关注本帖:

  2. 启用自定义团队应用并打开自定义应用上传。
    1. 有三种设置与启用自定义应用和自定义应用上传相关:
      • 此设置为您的组织启用或禁用自定义应用。它需要打开。
      • 团队自定义应用设置➤允许成员上传自定义应用➤开/关
      • 此设置适用于 Microsoft 团队中的每个团队。如果你想为一个特定的团队安装你的应用,这将需要为该团队打开。
      • 用户自定义应用策略➤用户可以上传自定义应用➤开/关

        此设置控制单个用户的权限。你需要为可以上传自定义应用的个人启用此功能。

      组织范围的自定义应用设置➤允许与上的自定义应用➤进行交互

接下来,根据您的知识和客户喜欢的方法准备您的开发环境。我们有四个不同的选项来开发 MSTeam 应用。

  • 准备您的开发环境。网
  • 为 NodeJS 准备开发环境
  • 为约曼发电机准备您的开发环境
  • 使用 Microsoft Teams Toolkit for Visual Studio 代码准备开发环境

根据您的知识,选择一个并准备您的开发环境。

准备您的开发环境。网

以下是步骤:

  • 安装 Visual Studio
    • 你可以安装免费的社区版。
  • 安装 MSTeam 应用
    • 直接从 Visual Studio 创建、调试和部署团队应用。
  • 安装 Git

如果在安装过程中看到将 git 添加到路径中的选项,请选择这样做。会得心应手。通过在终端窗口中运行以下命令来验证您的 git 安装:

 
  

确保启动最新版本的 Visual Studio 并安装任何更新(如果显示)。

Microsoft Teams Toolkit for Visual Studio

Microsoft Teams Toolkit 扩展使您能够直接从 Visual Studio 代码创建、调试和部署 Teams 应用。

特征

  • 项目生成器
  • 应用配置管理器
  • 包验证器
  • 从 Visual Studio 发布到您的租户应用目录

为 NodeJS 准备开发环境

以下是步骤:

  • 安装 Git
  • Node.js 和 NPM
    • 您需要在您的机器上安装 NodeJS。你应该使用最新的 LTS 版本。
  • 安装代码编辑器
    • 获取任何文本编辑器或 IDE。您可以免费安装和使用 Visual Studio 代码。

如果在安装过程中看到将 git、节点、npm 和代码添加到路径的选项,请选择这样做。会得心应手。通过在终端窗口中运行以下命令,验证这些工具是否可用:

 
  

您可能有这些应用的不同版本。这应该不是问题,除了 gulp。对于 gulp,您需要使用版本 4.0.0 或更高版本。如果你没有安装 gulp(或者安装了错误的版本),现在可以在你的终端窗口中运行 npm 安装 gulp 来安装。

为约曼发电机准备您的开发环境

为了完整起见,下面是如何准备约曼发电机:

  • 安装 NodeJS
  • 安装一个代码编辑器(我也在使用 Visual Studio 代码)。
  • 安装约曼和吞咽 CLI

    为了能够使用 Teams generator 搭建项目,您需要安装 Yeoman 工具以及 Gulp CLI 任务管理器。

    打开命令提示符,键入以下内容:

  • 安装 Microsoft 团队应用生成器

    Microsoft Teams apps 的 Yeoman 生成器是使用以下命令安装的:

 
  
 
  

使用 Microsoft Teams Toolkit for Visual Studio 代码准备开发环境

Microsoft Teams Toolkit 扩展使您能够直接从 Visual Studio 代码创建、调试和部署 Teams 应用。

先决条件

  • Visual Studio 代码 v1.44 或更高版本
  • NodeJS 6 或更新版本
  • 安装 Microsoft 团队工具包
    • 直接从 Visual Studio 代码创建、调试和部署团队应用

托管应用

MSTeam 中的应用是公开一个或多个功能的 web 应用。要让 Teams platform 加载您的应用,您的应用必须可从互联网访问。要使您的应用可从互联网访问,您需要托管您的应用。你可以将它免费托管在微软 Azure 中,或者使用 ngrok ( )在你的开发机器上创建一个到本地进程的隧道。完成应用托管后,记下它的根 URL。它看起来会像下面这样:

使用 ngrok 的隧道

为了快速测试,您可以在本地机器上运行应用,并通过 web 端点创建一个到它的隧道。Ngrok 是一个免费的工具,可以让你做到这一点。用 ngrok 你可以得到一个网址,比如 (这个 URL 只是一个例子)。您可以为您的环境下载并安装 ngrok。确保将它添加到路径中的某个位置。

安装后,您可以打开一个新的终端窗口并运行以下命令来创建隧道。该示例使用端口 3333,因此请确保在此处指定它。

 
  

Ngrok 将侦听来自互联网的请求,并将它们路由到运行在端口 3333 上的应用。你可以打开你的浏览器,进入 来加载你的应用的 hello 页面。请确保在您的控制台会话中使用 ngrok 显示的转发地址,而不是此 URL。

该应用仅在您的开发计算机上的当前会话期间可用。如果机器关闭或进入睡眠状态,该服务将不再可用。分享应用供其他用户测试时,请记住这一点。如果你必须重新启动服务,它将返回一个新的地址,你将不得不更新每个使用该地址的地方。付费版 ngrok 没有这个限制。

MSTeam 应用

每当我们想要创建一个应用时,首先我们要为团队注册一个新的 Bot 频道注册,而不是 Tabs。参见图 2-3 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-3

MSTeam 应用

接下来,根据您的喜好,使用任何一种开发环境来开发应用。然后使用 App Studio 创建一个应用包。

创建和分发基于 Microsoft Teams 平台构建的应用涉及 Bot 渠道注册、在各种上下文中对应用进行分组、使用 App Studio 定义应用、决定构建什么、构建您的 web 服务、创建应用包,以及将该包分发到您的目标最终用户(图 2-4 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-4

构建团队应用流程

向微软 Azure 的机器人框架注册机器人

第一步是为您的 Microsoft Teams 应用创建一个新的 Microsoft Teams bot。

打开浏览器,导航到 Azure 门户( )。使用您在 Azure 订阅中使用的登录。

在左侧导航栏中选择创建资源。见图 2-5 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-5

创建资源

在搜索市场输入框中输入资源组,然后选择资源组。参见图 2-6 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-6

资源组

资源组页面,选择创建按钮,创建一个新的资源组。见图 2-7 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-7

创建资源组

选择一个有效的订阅,输入资源组的名称,例如:Teams ,并选择想要的区域。这些选择都不会影响机器人注册,这取决于你。见图 2-8 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-8

创建资源组表单

完成向导以创建资源组。参见图 2-9 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-9

资源组创建通知

Azure 完成资源组创建过程后,导航到资源组。

在资源组中,选择添加创建资源按钮,如图 2-10 所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-10

创建资源

Bot 渠道注册

搜索市场输入框中输入 bot ,在返回的资源列表中选择 Bot 频道注册。然后在下一页选择 Create 开始注册新的 bot 资源。参见图 2-11 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-11

搜索机器人频道注册

Bot 通道注册页面,点击发起创建 Bot 通道注册。见图 2-12 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-12

Bot 渠道注册

Bot 通道注册刀片中,输入以下值,然后选择创建,如图 2-13 所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-13

创建 Bot 渠道注册

  • 机器人句柄:为机器人输入一个全局唯一的名称。
  • 订阅:选择之前创建资源组时选择的订阅。
  • 资源组:选择您之前创建的资源组。
  • 地点:选择你喜欢的 Azure 地区。
  • 定价等级:选择首选的定价等级;F0 层是免费的。
  • 消息传递端点 :

    bot 注册需要知道实现 bot 的 web 服务的端点。这将在每次启动之前练习中使用的 ngrok 实用程序时发生变化。

  • 应用洞察:关
  • 微软应用 ID 和密码:自动创建应用 ID 和密码

Azure 将开始提供新资源。这需要一两分钟的时间。完成后,导航到资源组中的 bot 资源。参见图 2-14 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-14

Bot 渠道注册

为机器人启用 Microsoft Teams 频道

为了让机器人与 MSTeam 交互,你必须启用如图 2-15 所示的团队通道。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-15

选择团队频道

  • 从 Azure 的 bot 资源中,选择左侧导航中的通道
  • 连接到频道面板上,选择MSTeam 频道,然后选择保存确认动作。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-16

团队渠道服务条款

  • 同意服务条款(图 2-16 )。

一旦此过程完成,您应该会在您启用的频道中看到列出的网络聊天和 MSTeam(图 2-17 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-17

连接到频道

检索 Bot 应用 Id 和密码

当 Azure 创建这个机器人时,它还为这个机器人注册了一个新的 Azure 广告应用。您需要生成这个新的 bot 应用作为一个秘密,并复制应用的凭据。

从左侧导航栏中选择设置。向下滚动到 Microsoft App ID 部分。

复制机器人的 ID,因为你以后会需要它。参见图 2-18 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-18

应用标识

为应用创建客户端密码

点击管理链接,导航至 Azure 广告应用

为了让守护程序应用在没有用户参与的情况下运行,它将使用应用 ID 和证书或密码登录 Azure AD。在本练习中,您将使用一个秘密。

从左侧导航面板中选择证书&机密

选择客户端密码部分下的新客户端密码按钮(图 2-19 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-19

新客户机密

出现提示时,对密码进行描述,并选择提供的到期持续时间选项之一,例如:从不,然后选择添加

Note

复制新的客户端密码值。在您执行另一个操作或离开此刀片后,您将无法取回它。

“证书和机密”页面将显示新的机密。复制该值很重要,因为它只显示一次;如果您离开页面并返回,它将仅显示为屏蔽值(图 2-20 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-20

新的客户端机密值

The Certificate & Secrets page will display the new secret. It’s important you copy this value as it’s only shown this one time; if you leave the page and come back, it will only show as a masked value (Figure

复制并存储秘密值的值,因为您以后会需要它。

我们有三种类型的上下文可供团队应用使用。

  • 团队和渠道
  • 闲谈
  • 个人的

团队和渠道

支持所有团队成员的公共协作和工作流。

示例:分享、讨论和获得有关新服务事件的通知

闲谈

1:1 或小组设置中的轻量级协作,没有复杂的权限

示例:经理和直接下属之间一对一的话题

个人

以用户为中心的视图,显示聚合内容以及私人机器人聊天

示例:分配给我的所有任务列表

范围

您的应用可能需要上下文信息来显示基于范围的相关内容。下面给出了从选项卡、机器人和连接器获取上下文的支持范围列表。

可配置选项卡

目前,可配置选项卡仅支持团队和群组聊天范围。也就是说,可配置选项卡仅在团队范围内受支持(非个人),并且目前每个应用仅支持一个选项卡。

 
  

静态选项卡

目前,静态标签只支持个人范围,这意味着它只能作为个人体验的一部分来提供,也就是说,在个人范围内声明的静态标签总是固定在应用的个人体验中。目前不支持在团队范围内声明的静态选项卡。

 
  
蝇蛆病

这指定了 bot 是在团队中的频道上下文中、在群组聊天(group chat)中提供体验,还是仅在单个用户范围内提供体验(个人)。这些选项是非排他性的。

 
  
机器人——命令列表

您必须为 bot 支持的每个范围定义一个单独的命令列表。这指定了命令列表的有效范围。选项包括团队、个人和群组聊天。

 
  
连接器

这指定了连接器是在团队中的通道环境中提供体验,还是在单个用户范围内提供体验(个人)。目前,仅支持团队范围。

 
  

在本节中,您将使用 Yeoman generator 创建一个新的团队应用(yo teams):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-21

使用 yo 团队创建团队应用

  • 创建新的 web 部件项目
  • 在您喜欢的位置创建一个新的项目目录
  • 打开命令提示符
  • 导航到一个新创建的目录,创建一个新文件夹“yoTeamsMessagingExtension”
  • 通过运行以下命令来运行 MSTeam 的 Yeoman 生成器: yo teams *。*见图 2-21 。

约曼将发射并问你一系列问题。用以下数值回答问题(图 2-22 ):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-22

回答约曼问卷

  • 您的解决方案名称是什么?:yo-团队-消息传递-扩展
  • 您想将文件放在哪里?:使用当前文件夹
  • 您的 Microsoft Teams 应用项目的标题?yoTeamsMessagingExtension 扩展
  • 你(公司)的名字?(最多 32 个字符):JPOWER4
  • 您希望使用哪个清单版本?1.6
  • 如果您有 Microsoft Partner Id,请输入。(留空以跳过)
  • 您希望在项目中添加哪些功能?消息扩展命令
  • 您将在其中托管此解决方案的 URL?
  • 是否要包括测试框架和初始测试?不
  • 您希望将 Azure Applications Insights 用于遥测吗?不
  • 您的消息扩展托管在哪里?在一个新机器人里
  • 消息扩展使用的 bot 的 Microsoft 应用 ID 是什么?00000000-0000-0000-0000-000000000000
  • 什么类型的消息传递扩展命令?基于搜索的消息传递扩展
  • 您想要邮件扩展的设置选项吗?是
  • 您的消息扩展命令的名称是什么?searchCmd
  • 描述一下你的消息扩展命令?从 google books api 搜索图书

Note

这些问题的大多数答案在创建项目后都可以更改。例如,在创建或测试项目时,项目所在的 URL 并不重要。

使用代码 打开 Visual Studio 代码。在命令行提示。见图 2-23 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-23

Visual studio 代码 OOB

  • 转到环境文件➤打开和更新
  • 然后打开 SearchCmdMessageExtension.ts 文件,找到 const card = card factory . adaptive card(
  • 将主体部分替换为下面的代码
     
  • 查找常量预览= {
  • 将内容部分标题和文本替换为下面的代码
     
 
  

测试消息传递扩展应用

打开命令提示符,导航到项目文件夹,并执行以下命令:

 
  

这个 gulp 任务将运行许多其他任务,这些任务都显示在命令行控制台中。ngrok-serve 任务构建您的项目并启动一个本地 web 服务器()。然后它用一个随机的子域启动 ngrok,这个子域会创建一个到本地 web 服务器的安全 URL。

在开发过程中,可以使用 ngrok 工具进行测试,该工具可以创建一个安全的可旋转的 URL,指向您的本地 HTTP 服务器。Ngrok 作为一个依赖项包含在项目中,所以不需要设置或配置任何东西。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-24

ngrok-服务执行

Ngrok 已经创建了临时 URL 1d42b1a1cfc8.ngrok.io,它将映射到我们本地运行的 web 服务器(图 2-24 )。

然后去 Azure 门户,打开 Bot 通道注册 App。使用临时 URL b.ngrok.io 更新消息传递端点(图 2-25 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-25

更新消息传递端点

Note

ngrok 的免费版本会在您每次重新启动 web 服务器时创建一个新的 URL。测试应用时,确保每次重启 web 服务器时都更新 URL 的消息端点。

在 Microsoft 团队中安装自定义应用

现在让我们在 MSTeam 中安装应用。在浏览器中,导航到 ,使用工作和学校帐户的凭据登录。

Microsoft Teams 可用作 web 客户端、桌面客户端和移动客户端。

使用应用栏导航菜单,选择更多添加的应用按钮。然后选择更多应用,接着上传自定义应用,然后为我或我的团队上传(图 2-26 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-26

向 MS 团队添加应用

在出现的文件对话框中,选择项目中的 Microsoft Teams 包。这个应用包是一个 ZIP 文件,可以在项目中找到。/包文件夹(图 2-27 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-27

上传应用

安装后,您将能够在应用列表中看到该应用(图 2-28 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-28

安装的应用

一旦包上传,MSTeam 将显示应用的摘要。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-29

将应用添加到团队和渠道

选择添加按钮安装 app(图 2-29 )。

安装该应用后,MSTeam 将带您与 MSTeam 应用进行一对一聊天。

转到您的团队对话部分(图 2-30 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-30

从通道访问消息传递扩展

选择项目并单击它;它会通过一个通道将详细内容发送给你的团队成员(图 2-31 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-31

将消息发送给团队成员

在本练习中,您已经使用 Yeoman generator for the Microsoft Teams 应用创建了一个简单的现成动作命令消息传递扩展。我们将在第四章中详细了解这一点以及更多消息传递示例。

Microsoft Teams developer platform 使您能够轻松扩展团队,并将您自己的应用和服务无缝集成到团队工作区中。然后,这些应用可以分发给您的企业或世界各地的团队。

若要扩展 Microsoft Teams,您需要创建 Microsoft Teams 应用。Microsoft Teams 应用是您托管的 web 应用。然后,这个应用可以集成到团队中的用户工作区。

消息传递扩展允许用户向您的服务查询或发布信息,并以卡片的形式将信息发布到消息中。

通过在终端窗口中运行以下命令,验证这些工具是否可用:

 
  

在本练习中,我将使用 NodeJS 和公共 google books REST API 创建一个消息扩展应用,并向您展示如何使用 App Studio 并将该应用部署到 Microsoft 团队中。

步骤 1:创建新的 Nodejs 项目

首先,打开一个命令提示符,为您最喜欢的位置创建一个新目录,然后导航到该目录(图 2-32 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-32

正在为 nodejs 应用创建新文件夹

 
  

通过使用以下命令创建 package.json 文件来创建一个新的 NodeJS 项目(图 2-33 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-33

使用 npm init 创建新应用

 
  

输入您的项目详细信息,然后安装 ngrok

 
  

然后使用 Visual studio 代码打开项目,键入下面的命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-34

package.json

 
  

创建一个名为 getBooks.js 的文件,并粘贴以下代码:

 
  

上面的代码相当简单;首先声明所需的模块,并创建一个 TeamChatConnector 来映射 appIdappPassword 。然后创建一个服务器,并使用 ngrok 进行本地监听。

接下来,使用 google books REST API 搜索图书并构建为英雄卡并通过附件对象发送到聊天窗口,用户可以通过 ISBN 号进行搜索。

Install restify 是一个框架,利用连接风格的中间件来构建 REST APIs:

 
  

MSTeam 应用只支持微软 Bot Builder 框架,为此,我正在编译我们的 NodeJS 项目的 Bot 框架。

安装下面的标头以引用 BOT 框架:

 
  

现在我们已经完成了 get books 消息传递扩展代码,接下来我们可以创建一个应用包来安装到 Microsoft 团队中。

步骤 2:使用 App Studio 为 MSTeam 创建应用

让我们使用 App Studio 来创建和集成我们的团队应用:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-35

安装 App Studio

  • 前往
  • 使用您的 Office 365 凭据登录
  • 转到 Apps 找到 App Studio,如果 App Studio 不可用,那么安装它。
    • 从商店获取 App Studio
    • 在团队中,点击应用按钮,搜索“App Studio”,安装(图 2-35 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-36

创建应用包

  • 进入应用,找到 App Studio,创建一个应用包配置(图 2-36 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-37

清单编辑器

  • 单击 App Studio 并打开它。
  • 移至清单编辑器,并创建一个新的应用(图 2-37 )。
  • 简称:获取书籍 App
  • 全称:使用 ISBN 号获取图书
  • 点击生成按钮,创建 App Id
  • 包名:jpower 4 . ms teams . messaging extension
  • 版本 : 1.0.0
  • 简短描述:消息传递扩展团队应用开发
  • 详细描述:消息传递扩展团队解决方案开发
  • 开发者 : JPOWER4
  • 网站 :
  • 隐私声明 :
  • 使用条款:
  • 品牌化:上传全彩 192 x 192 图像,透明轮廓 32 x 32 图像,并选择主题颜色

选择功能下的消息扩展

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-38

为消息传递扩展创建新的 bot

  • 点击设置,并给出一个机器人名称(图 2-38 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-39

新密码已生成

  • 点击创建创建机器人
  • 然后从消息传递扩展部分获取 bot ID 和 app 密码(生成新密码)(图 2-39 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-40

邮件扩展 AppID

  • 生成 App Id 和 App 密码(图 2-40 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-41

创建 TeamsChatConnector

  • 转到 getBooks.js 文件更新 appID 和app password;参见下一节(图 2-41 )。

更新后,代码如下所示:

 
  

然后添加一个消息传递端点 URL 来获得一个带有 https 的公共 URL,因为我们需要 ngrok 在本地执行。

步骤 3:使用 ngrok 开始监听端口 8080

转到命令提示符并键入以下命令来启动应用(图 2-42 ):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-42

节点执行

 
  

然后打开一个新的浏览器并访问

然后你就可以看到公开的网址: (图 2-43 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-43

ngrok request url

然后去 App Studio,更新 Bot 端点地址(图 2-44 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-44

消息传递端点地址

然后点击命令部分下的添加按钮,并选择“允许用户查询您的服务信息并将其插入到消息中”(图 2-45 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-45

邮件扩展操作命令

然后填写新的命令表单:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-46

消息传递扩展参数

  • 命令 Id: searchCmd
  • 标题:搜索
  • 描述:搜索你的书
  • 然后添加参数
  • 名称:搜索关键字
  • 标题:国际标准书号
  • 描述:输入你的 ISBN 号(图 2-46 )。

点击完成部分下的测试分发对 app 进行测试(图 2-47 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-47

测试和分发

然后从您的渠道下载应用包进行测试。

步骤 4:将应用安装到您的团队中

前往您的➤团队,导航至管理➤团队应用➤·莫尔应用(图 2-48 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-48

将应用上传至团队

上传自定义应用(选择下载的 zip 文件进行上传)。

然后点击添加按钮进行安装(图 2-49 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-49

将应用添加到团队

现在,谷歌图书搜索应用在您的团队中可用,因此请转到您的频道并访问该应用。

点击对话区的 ,搜索下面高亮显示的消息扩展应用(图 2-50 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-50

搜索消息传递扩展应用

然后选择 app 它会加载一个图书列表,您可以选择并发送给您的团队成员(图 2-51 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-51

邮件扩展加载的图书列表

然后可以通过 ISBN 号进行图书检索,得到相关的书籍(图 2-52 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-52

通过 ISBN 号查找图书

选择这本书,它将为你的团队成员制作一张带有标题、出版商、图片和描述的英雄卡片。然后作为对话发送给你的团队成员(图 2-53 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 2-53

向团队成员发送消息传递扩展卡

在本章中,您已经学习了各种生成器的不同 IDE 选项和设置环境。它还解释了如何使用 Yeoman Generator (yo teams)和 Nodejs 为 MSTeam 创建简单的定制应用。您还了解了有关团队应用业务线的各种上下文和场景,以及 Bot 渠道注册、App Studio 和将应用部署到团队中。

现在,您已经学习了如何使用 Yeoman generator 和使用 NodeJS 为 MSTeam 创建简单的定制应用。在接下来的章节中,你将开始学习 MSTeam 应用的不同选项和功能。

每个人都在谈论机器人,每个企业都想知道如何使用它们。我们愿意相信我们生活在一个充满智能自动化的世界。组织总是在寻找新的方式和更好的方法,通过轻松地与购买者联系并提供随着不断变化的通信倾向而调整和发展的客户支持来支持业务。对话机器人允许用户通过文本、交互卡和任务模块与您的 web 服务进行交互。

在本章中,您将了解对话机器人的各种功能,以及如何创建机器人并将其添加到 MSTeam 中。

机器人帮助用户在团队对话中完成任务。机器人可以做的事情包括启动工作流并提供状态,给予和接受团队成员的称赞,创建轻量级调查以衡量员工满意度,以及回答关于销售和客户使用数据的自然语言问题。

对话机器人允许用户在多种形式中进行交互,如文本、自适应卡片、表单等。,从 MSTeam 客户端。

微软机器人框架

Microsoft Bot 框架处理所有复杂的状态管理、消息路由等。您需要使用 bot 框架构建 web API,并将其托管在 Azure 中,并使用 Azure 认知服务(如 LUIS(语言理解智能服务))为您的 Bot 添加智能,这有助于将您的消息解析为意图和实体。

如果你已经有了一个基于 bot 框架的 Bot,你可以很容易地将它应用到 MSTeam 中。可用的包扩展了基本的 Bot Builder SDK 类和方法,如下所示:

  • 使用专门的卡类型,如 Office 365 连接器卡。
  • 消费和设置团队特定的活动渠道数据。
  • 处理邮件扩展请求。

团队活动处理者

像其他机器人一样,当一个机器人为 MSTeam 设计时,它接收一个活动,并将其传递给活动处理程序。在幕后,有一个称为 turn handler 的基本处理程序,所有活动都通过它进行路由。turn 处理程序调用所需的活动处理程序来处理收到的任何类型的活动。为 MSTeam 设计的 bot 的不同之处在于,它是从团队活动处理程序类派生的,而团队活动处理程序类又是从 Bot 框架的活动处理程序类派生的。

机器人的基本架构始于微软认知服务,它有助于创建基于人工智能的应用,并提供各种 API,如视觉、语音和语言以及视频。微软认知服务提供 LUIS,帮助将消息转换成有意义的数据。见图 3-1 。

微软机器人框架是一个为 MSTeam 渠道构建和部署机器人的框架。Bot 框架处理所有复杂的状态管理、消息路由等。你只需要使用 bot 框架构建 web API,对于 bot,你需要使用 bot 框架构建并在 Azure 中托管它,并使用 Azure 认知服务(LUIS,语言理解智能服务)为你的 Bot 添加智能,这有助于将你的消息解析为意图和实体。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-1

团队 BOT 架构

MSTeam 客户端中有三种类型的对话机器人:

  • 个人聊天中的机器人-个人对话或个人聊天
  • 群组聊天中的机器人-群组对话或群组聊天
  • 渠道中的机器人-团队渠道

根据参与的对话类型,机器人的行为略有不同:

  • 频道和群组聊天对话中的机器人需要用户@提及机器人以在频道中调用它。
  • 一对一对话中的机器人不需要@提及。用户发送的所有消息都将被路由到您的机器人。

主动消息由机器人发送以开始对话。欢迎消息和轮询响应或外部事件通知是使用主动消息的常见场景。

主动信息通常分为两类:

  • 欢迎信息
  • 通知

欢迎信息

当你使用主动消息向用户发送欢迎消息时,你必须记住,对于大多数收到消息的人来说,他们不知道为什么会收到消息。欢迎信息也是他们第一次与你的应用互动;这是你创造良好第一印象的机会。

通知消息

当您使用主动消息发送通知时,您需要确保您的用户有一个清晰的路径来根据您的通知执行常见操作,并清楚地了解通知发生的原因。

在开始练习之前,请验证您的环境。在本练习中,我将使用安装在我的环境中的以下工具:

  • Node.js - v10.16.0
  • NPM - 6.9.0
  • 吞咽
    • CLI 版本:2.3.0
    • 本地版本:4.0.2
  • MS 团队的约曼生成器- 2.14.0
  • Visual Studio 代码

  • Microsoft Azure 订阅
  • Office 365 订阅

在本练习中,您将学习如何创建新的机器人并将其添加到 Microsoft Teams 应用中,以及如何从 Microsoft Teams 客户端与其进行交互。

您需要:

  • 来托管可公开访问的 web 服务。
  • 向 bot 框架注册您的 Bot。
  • 使用应用清单创建团队应用包。

要为您的 Microsoft Team client 创建新的 Microsoft Teams bot 应用,请遵循以下步骤:

  1. 向微软 Azure 的 bot 框架注册 Bot。
  2. Bot 通道注册。
  3. 为机器人启用 Microsoft Teams 频道。
  4. 检索 bot 应用 ID 和密码。
  5. 使用约曼生成器创建 MSTeam 应用。
  6. 测试对话机器人。

向微软 Azure 的机器人框架注册机器人

打开浏览器,导航到 Azure 门户( )。使用您在 Azure 订阅中使用的登录。

在左侧导航栏中选择创建资源(图 3-2 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-2

创建资源

在搜索市场输入框中输入资源组,并选择资源组(图 3-3 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-3

资源组

资源组页面,选择创建按钮,创建一个新的资源组(图 3-4 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-4

创建资源组

选择一个有效的订阅,输入资源组的名称,例如:Teams ,并选择想要的区域。这些选择都不会影响机器人注册,由你决定(图 3-5 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-5

创建资源组表单

完成向导以创建资源组。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-6

资源组创建通知

一旦 Azure 完成了资源组创建过程,导航到资源组(图 3-6 )。

从资源组中选择添加创建资源按钮(图 3-7 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-7

创建资源

Bot 渠道注册

搜索市场输入框中输入 bot ,在返回的资源列表中选择 Bot 频道注册。然后在下一页选择 Create 开始注册新的 bot 资源的过程(图 3-8 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-8

搜索机器人频道注册

Bot 通道注册页面,点击发起创建 Bot 通道注册。见图 3-9 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-9

Bot 渠道注册

Bot 通道注册刀片中,输入以下值,然后选择创建:

  • 机器人句柄:为机器人输入一个全局唯一的名称
    • 例:mstermantyexercise 2
  • 订阅:选择之前创建资源组时选择的订阅
  • 资源组:选择您之前创建的资源组- 例如:团队
  • 地点:选择你喜欢的蔚蓝地区
  • 定价等级:选择首选的定价等级;F0 层是免费的
  • 消息传递端点 :

bot 注册需要知道实现 bot 的 web 服务的端点。这将在您每次启动之前练习中使用的 ngrok 实用程序时发生变化(图 3-10 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-10

创建 Bot 渠道注册

  • 应用洞察:关闭
  • Microsoft 应用 ID 和密码:自动创建应用 ID 和密码

Azure 将开始提供新资源。这需要一两分钟的时间。完成后,导航到资源组中的 bot 资源,如图 3-11 所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-11

Bot 渠道注册

为机器人启用 Microsoft Teams 频道

为了让 bot 与 Microsoft 团队进行交互,您必须启用团队通道。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-12

选择团队频道

  • 从 Azure 的 bot 资源中,选择左侧导航中的通道
  • 连接通道面板上,选择MSTeam 通道,然后选择保存确认动作(图 3-12 )。
  • 同意服务条款

一旦此过程完成,您应该会在您启用的频道中看到列出的网络聊天和 MSTeam(图 3-13 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-13

连接到频道

检索 Bot 应用 Id 和密码

当 Azure 创建这个机器人时,它还为这个机器人注册了一个新的 Azure 广告应用。您需要生成这个新的 bot 应用作为一个秘密,并复制应用的凭据。

从左侧导航栏中选择设置。向下滚动到 Microsoft App ID 部分。

复制机器人的 ID,因为你以后会需要它。见图 3-14 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-14

应用标识

为应用创建客户端密码

点击管理链接,导航至 Azure 广告应用。

为了让守护程序应用在没有用户参与的情况下运行,它将使用应用 ID 和证书或密码登录 Azure AD。在本练习中,您将使用一个秘密。

从左侧导航面板中选择证书&机密

选择客户端密码部分下的新客户端密码按钮

出现提示时,对密码进行描述,并选择提供的到期持续时间选项之一:例如:从不,然后选择添加

注意:复制新的客户端秘密值。在您执行另一个操作或离开此刀片后,您将无法取回它。见图 3-15 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-15

应用客户端机密

“证书和机密”页面将显示新的机密。复制该值很重要,因为它只显示一次;如果您离开页面并返回,它将仅显示为一个屏蔽值。

复制并存储秘密值的值,因为您以后会需要它。

使用约曼生成器创建 MSTeam 应用

在本节中,您将使用 Yeoman generator 创建一个新的团队应用(yo teams):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-16

哟团队

  • 创建新的 web 部件项目
  • 在您喜欢的位置创建一个新的项目目录
  • 打开命令提示符
  • 创建一个新文件夹" conversationalBot
  • 导航到新创建的目录
  • 通过运行以下命令为 MSTeam 运行 Yeoman generator:yo Teams(图 3-16 )。

约曼将发射并问你一系列问题。用以下数值回答问题(如图 3-17 ):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-17

回答约曼问卷

  • 您的解决方案名称是什么?对话机器人
  • 您想将文件放在哪里?使用当前文件夹
  • 您的 Microsoft Teams 应用项目的标题?对话机器人
  • 你(公司)的名字?(最多 32 个字符)JPOWER4
  • 您希望使用哪个清单版本?v1.6
  • 如果您有 Microsoft Partner ID,请输入。(留空以跳过)
  • 您希望在项目中添加哪些功能?一个机器人
  • 您将在其中托管此解决方案的 URL?
  • 当你的应用/标签加载时,你想显示加载指示器吗?不
  • 你想包括一个测试框架和初始测试吗?不
  • 您希望将 Azure Applications Insights 用于遥测吗?不
  • 你想用什么类型的机器人?一个新的框架
  • 你的机器人叫什么名字?对话机器人
  • 这个机器人的微软应用 ID 是什么?可以在 Bot 框架门户( )中找到。ad0e9921-dcbb-44c1-
  • 9b 5 B- 3c 60 和 4dcb40b
  • 你想给你的机器人添加一个静态标签吗?不
  • 你想支持文件上传到机器人?不

Note

这些问题的大多数答案在创建项目后都可以更改。例如,在创建或测试项目时,项目所在的 URL 并不重要。

使用代码打开 Visual Studio 代码。在命令提示符下(图 3-18 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-18

Visual studio 代码 OOB

  • 打开。env 文件➤,并添加从新的客户端密码值复制的 MICROSOFT_APP_PASSWORD
 
  

该机器人将在一对一聊天对话中响应消息 MentionMe,在频道对话中响应消息@MentionMe。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-19

个人对话回应

更新一对一聊天对话的机器人代码

去吧。/src/app/conversational bot/conversational bot . ts 文件,并添加以下代码。

  • 首先,添加下面给出的标题:
  • 然后包含对现有 botbuilder 包的消息工厂对象引用:
 
  
 
  

它看起来像下面这样:

  • 转到 Conversationalbot 类,在公共构造函数(conversationState:conversationState)中找到处理程序 this.onMessage()
  • this.onMessage() 处理程序中,继续执行以下代码来处理一对一对话和通道对话。
  • 找到下面给出的代码:
 
  
  • 替换下面给出的代码:
     
  • 上面的代码处理来自对话机器人的个人聊天和频道对话请求。
  • 然后在 Conversationalbot 类中添加下面给出的代码。
 
  
  • handlemessagementionmeone方法用于处理聊天对话。
  • handleMessageMentionMeChannelConversation方法用于处理通道会话。
 
  
修改清单文件以处理命令

流程是这样的:

  1. 去吧。/src/manifest/manifest.json 文件。
  2. 在。/src/manifest/manifest.json 文件,验证图标的属性值,并在必要时更新文件名以匹配项目中的内容。
  3. 找到属性机器人。通过将以下 JSON 添加到数组中,将新的 bot 添加到注册到此 Microsoft Teams 应用的 bot 集合中。这段代码会在安装时将我们的机器人添加到用户的个人和团队范围。它包含一条帮助消息,显示它支持的命令 MentionMe。
  4. 找到机器人➤命令列表下的“命令”部分,并将其替换为
  5. 文件➤保存所有 保存的修改。
 
  

此时,您的机器人可以开始测试了!

测试对话机器人

打开命令提示符,导航到项目文件夹。并执行以下命令:

 
  

这个 gulp 任务将运行命令行控制台中显示的许多其他任务。ngrok-serve 任务构建您的项目并启动一个本地 web 服务器()。然后它用一个随机的子域启动 ngrok,这个子域会创建一个到本地 web 服务器的安全 URL。

在开发过程中,可以使用 ngrok 工具进行测试,该工具可以创建一个安全的可旋转的 URL,指向您的本地 HTTP 服务器。Ngrok 作为一个依赖项包含在项目中,因此不需要设置或配置任何东西(图 [3-20 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-20

ngrok-服务执行

Ngrok 已经创建了临时 URL 832be7.ngrok.io,它将映射到我们本地运行的 web 服务器。

然后去 Azure 门户,打开 Bot 通道注册 App。使用临时 URL 832be7.ngrok.io 更新消息传递端点(图 3-21 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-21

更新消息传递端点

Note

Ngrok 的免费版本会在您每次重新启动 web 服务器时创建一个新的 URL。测试应用时,确保每次重启 web 服务器时都更新 URL 的消息端点。

在 MSTeam 中安装对话机器人

现在让我们在 MSTeam 中安装应用。在浏览器中,导航到 ,使用工作和学校帐户的凭据登录。

Microsoft Teams 可用作 web 客户端、桌面客户端和移动客户端。

使用应用栏导航菜单,选择更多添加的应用按钮。然后选择更多应用,接着上传自定义应用,然后为我或我的团队上传(图 3-22 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-22

向 MS 团队添加应用

在出现的文件对话框中,选择项目中的 Microsoft Teams 包。这个应用包是一个 ZIP 文件,可以在项目中找到。/package 文件夹。见图 3-23 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-23

上传应用

安装后,您将能够在应用列表中看到该应用(图 3-24 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-24

安装的应用

一旦软件包上传,MSTeam 将显示应用的摘要(图 3-25 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-25

将应用添加到团队和渠道

作为个人机器人进行测试

点击添加按钮,导航至与机器人聊天,如图 3-26 所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-26

私人谈话

请注意,当应用加载时,bot 支持的命令会显示在编写框中。让我们测试一下机器人!

选择 MentionMe 命令,或在撰写框中手动键入 mentionme,然后按 enter。

几秒钟后,您应该看到机器人对您登录的用户做出响应,如图 3-27 所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-27

个人对话回应

我们有一个工作的个人机器人,当它被提及时会有所反应。

在通道中测试

使用应用栏导航菜单,选择更多添加的应用按钮。点击并打开对话机器人,然后点击添加到图 3-25 所示的团队链接。

选择要安装的频道;在这里,我选择了我现有的对话机器人>对话频道。然后点击“设置机器人”按钮,将机器人设置到如图 3-28 所示的频道。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-28

团队渠道设置

导航到团队中的现有渠道“对话渠道”。

在“频道对话”选项卡中,键入@Conversational Bot the bot(图 3-29 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-29

团队频道机器人

选择 MentionMe 命令,或在撰写框中手动键入 mentionme,然后按 enter。

几秒钟后,您应该看到 bot 对用户和通道对话消息做出了响应。见图 3-30

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-30

团队渠道响应

现在,我们有了一个工作团队机器人,当提到它时,它会做出响应。

在本练习中,您将使用自适应卡更新 bot 以响应未知消息。卡片的单一动作将触发机器人用新的自适应卡片响应现有消息,并使用消息反应进行响应。

卡片是可操作的内容片段,可以通过机器人、连接器或应用添加到对话中。使用文本、图形和按钮,卡片可以让你与观众交流。

什么是适配卡?

Adaptive Cards 是一种开放的卡片交换格式,使开发人员能够以通用和一致的方式交换 UI 内容。自适应卡是一种以清晰一致的方式显示数据并与之交互的方式。你会经常看到机器人和通知使用自适应卡来允许在聊天和操作系统通知中显示丰富的信息。

您可以使用 Adaptive Cards 显示带图形的富文本,提供允许人们与聊天或通知交互的按钮,显示动态信息,收集反馈,甚至使用它们来创建交互式表单。

适配卡支持两个团队的组件:

  • 蝇蛆病
  • 消息传递扩展

此外,自适应卡支持三种动作类型:

  • 行动。开放链接
  • 行动。使服从
  • 行动。广告牌

Microsoft Teams App Studio 允许您使用 json、c#和 nodejs 为团队创建适配卡。见图 3-31 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-31

创建自适应卡

您还可以修改自适应卡操作。使用 Action.Submit 的数据对象中的 Microsoft Teams 属性提交有效负载以支持现有的 Bot 框架操作。

图 3-32 是适配卡的一个例子。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-32

示例适配卡

您将使用自适应卡更新现有的团队对话机器人应用。

  • 导航到。/src/app/conversational bot 文件夹,并创建一个名为“ResponseCard.json”的新文件
  • 复制并粘贴以下代码:
  • 导航到。/src/app/conversational bot 文件夹,并创建另一个名为“ResponseCard.ts”的新文件。
  • 复制并粘贴以下代码:
 
  
  • 转到。/src/app/conversational bot/conversational bot . ts 文件,并添加以下代码。
  • 添加下面给出的标题:
 
  
  • 构造函数中的 this.onMessage() 处理程序中
  • 找到下面给出的代码:
 
  
  • 替换下面给出的代码:
 
  
 
  

保存并测试带有适配卡的机器人

让我们来测试一下:

  1. 从命令行导航到项目的根文件夹,并执行以下命令:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-33

带适配卡的机器人

  1. Ngrok 已经创建了临时 URL e459e9c2beca.ngrok.io,它将映射到我们本地运行的 web 服务器。
  2. 然后去 Azure 门户,打开 Bot 通道注册 App。使用临时 URL e459e9c2beca.ngrok.io 更新消息传递端点
  3. 转到您在上一节中安装“机器人”的频道。
  4. 删除对话 app,在频道重新安装。(仅供参考:我们还可以更改应用的版本,更新应用。)
  5. 在 Conversations 选项卡中,键入@ Conversation Bot 带有随机字符串的 BotEx:any来触发 else 条件。
  6. 机器人会用卡片回复消息(图 3-33 )。
 
  

测试机器人对消息的反应

如果您想要更改消息或响应,请转到类中的 this.onMessageReaction 处理程序并进行更改。

在 Microsoft Teams 客户端中,转到上一节中安装 bot 的频道。在 Conversations 选项卡中,找到来自机器人的消息,并对其应用类似的反应。

几秒钟后,机器人将回复一条消息“这是一个有趣的反应”,并点击该反应(图 3-34 )。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-34

机器人反应

在本练习中,您修改了现有的 Microsoft Teams conversational bot 应用,使用自适应卡来响应消息,并测试了消息反应功能。

主动消息是由机器人发送的用于开始对话的消息。出于多种原因,您可能希望您的机器人开始对话,包括以下原因:

  • 个人机器人对话的欢迎信息
  • 投票回应
  • 外部事件通知

发送消息以启动新的对话线程不同于发送消息以响应现有的对话:当您的 bot 启动新的对话时,没有预先存在的对话来发布消息。

更新现有团队应用

在本练习中,您将更新现有的 Teams 应用,以便从您的机器人发送主动消息。

  • 转到 ResponseCard.json 文件,在 actions 部分下添加一个新的 action submit 按钮。
  • 导航。/src/app/conversational bot/conversational bot . ts 文件,并添加以下代码。
  • 包括对现有 botbuilder 包的“ChannelInfo,TeamsChannelData,ConversationParameters,teamsGetChannelId,Activity,BotFrameworkAdapter,ConversationReference,ConversationResourceResponse”对象引用:
 
  
  • 在构造函数的 this.onMessage() 处理程序中,添加下面给出的代码,在 switch 语句“switch(context . activity . type){…}”之前添加 if 语句,以处理新的会话请求。
     
  • 然后在 switch 语句后添加一个右大括号:
 
  
  • 然后添加将创建新对话的 createConversationInChannel()方法。将以下方法添加到 Conversationalbot 类中:
 
  
  • 现在,我们已经完成了主动消息发送的编码。
 
  

保存并测试 Bot 以创建新的线程/消息

打开命令行,导航到项目的根文件夹,并执行以下命令:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-35

机器人自适应信息

  • Ngrok 已经创建了临时 URL d23aadf72a73.ngrok.io,它将映射到我们本地运行的 web 服务器。
  • 然后去 Azure 门户,打开 Bot 通道注册 App。使用临时 URL d23aadf72a73.ngrok.io 更新消息传递端点
  • 转到您在上一节中安装“机器人”的频道。
  • 删除对话 app,在频道重新安装。
  • 在 Conversations 选项卡中,@ Conversation Bot 带有随机字符串的 BotEx:any来触发 else 条件。
  • 机器人会用卡片回复消息(图 3-35 )。
 
  

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 3-36

新线索消息

  • 点按“在此频道中创建新主题”按钮。
  • 几秒钟后,它会创建一个由出现在频道中的机器人创建的新对话(图 3-36 )。
  • 在本练习中,您将修改现有的 Microsoft Teams conversation bot,以便从您的 bot 发送主动消息,同时单击“在此频道中创建新主题”按钮。

在本章中,您已经学习了对话机器人的各种功能,以及如何使用 Yeoman generator (yo teams)创建机器人并将其添加到 Microsoft 团队中。还介绍了如何使用自适应卡、动作按钮,以及从机器人发送主动消息。

您现在已经学习了如何使用 Yeoman generator 为 MSTeam 创建对话机器人。在接下来的章节中,你将开始学习 MSTeam 应用的不同选项和功能。

到此这篇本机信息APP(本机信息在哪里设置)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 重绘是什么(重绘是什么意思)2025-10-22 22:00:08
  • etsy无法打开(etsy app打不开)2025-10-22 22:00:08
  • ewma模型推导(ekma模型)2025-10-22 22:00:08
  • 区域查询ip域名解析(区域查询ip域名解析失败)2025-10-22 22:00:08
  • 绿色代码是什么意思(绿色的代码表示什么)2025-10-22 22:00:08
  • 海尔电视怎么查看本机信息呢(海尔电视怎么看什么型号)2025-10-22 22:00:08
  • 为什么github访问不了(访问不了github网站)2025-10-22 22:00:08
  • 消息认证码攻击(消息认证码可能遭受的攻击)2025-10-22 22:00:08
  • 密码库怎么看vivo(vivo手机密码库)2025-10-22 22:00:08
  • 打开目录文件夹(打开目录文件夹,打开目录文件夹)2025-10-22 22:00:08
  • 全屏图片