![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bot service
文章平均质量分 72
Tony.X
这个作者很懒,什么都没留下…
展开
-
Teams app 开发最佳实践
Teams app 开发最佳实践原创 2023-01-29 08:39:33 · 13423 阅读 · 1 评论 -
TeamsApp升级之路 - 大用户并发抽奖的性能分析和数据库优化
大用户并发抽奖的性能分析和数据库优化原创 2023-01-22 14:08:23 · 14465 阅读 · 0 评论 -
TeamsApp升级之路 之 EF Core SQL 篇
如何在 LuckyDraw 的 bot api service 里使用 EF core 来处理抽奖原创 2022-12-18 10:46:54 · 12721 阅读 · 0 评论 -
TeamsApp LukcyDraw升级之路 之 DB Infra 篇
3 步来完成 DB 的 infra 升级原创 2022-12-17 20:09:22 · 10427 阅读 · 0 评论 -
Teams app LukcyDraw 的升级之路
配置 Teams App LuckyDraw 的 CI/CD原创 2022-12-15 19:42:52 · 9390 阅读 · 0 评论 -
Teams Tab App 的 manifest 分析
上一篇文章我们深入来分析了 tab app 的代码,这篇文章我们研究一下 manifest原创 2022-11-27 09:19:15 · 11113 阅读 · 0 评论 -
Teams Tab App 分析
深入解析 Teams Tab app原创 2022-10-30 08:49:05 · 11945 阅读 · 0 评论 -
Teams Bot App 云端资源创建
这篇文章来详细讲 Teams app 的云端资源的自动创建原创 2022-10-08 10:39:03 · 10277 阅读 · 0 评论 -
Teams Bot App Manifest 文件解析
teams toolkit 的 manifest template原创 2022-10-07 17:45:57 · 10217 阅读 · 0 评论 -
Teams Bot App 用户互动
adaptive card 在 Teams 里的互动原创 2022-10-03 17:32:53 · 11427 阅读 · 0 评论 -
Teams Bot App 代码解析
Teams Bot App 代码解析原创 2022-09-25 21:21:37 · 10437 阅读 · 1 评论 -
Teams Toolkit 之 Incoming Webhook
深入 incoming webhook代码原创 2022-09-19 13:20:56 · 11395 阅读 · 0 评论 -
如何获取一个会议的 transcripts
如何通过Teams的Graph API来获取会议的 transcripts原创 2022-09-05 18:12:26 · 12180 阅读 · 0 评论 -
Teams Developer Portal介绍
在去年的 Build2021 大会上讲到的 Teams Developer Portal 已经上线一段时间了,我这几天玩了一下,发现比之前的 app studio 强大了很多,所以赶快写篇文章和大家分享。Developer Portal 有两种访问的方式,一个是网页版,一个是在 Teams 里直接使用,功能基本都一样,我这里就以 Teams app 版本来做一个介绍。登入打开 Teams,在 Teams 里搜索 Developer Portal,点击 Add。安装完后,就可以在 Teams原创 2022-03-12 19:56:09 · 5329 阅读 · 0 评论 -
Teams Meeting 实时事件通知
Microsoft Teams最近推出了很多新的功能和api,我们今天就来一起看一下 teams 会议的实时事件通知,我觉得有了这个功能,我们的app,我们的bot又可以有很多可以实现的场景了。我们来看看如何在 c# 里处理会议开始和结束这两个事件。protected override async Task OnTeamsMeetingStartAsync(MeetingStartEventDetails startDetails, ITurnContext<IEventActivity&g原创 2022-02-05 14:26:19 · 9475 阅读 · 0 评论 -
如何获取Teams Meeting 详情
最近有一些朋友问我,有没有可能获取到会议的详情,我搜索了目前所有的 teams 文档,发现有一个api可以获取,不过在我写这篇文章的时候,这个 api 还在 preview 阶段,可能在正式发布前,还会有一些变化,但是按照之前的经验,这个变化基本不会有。 :)我们来看看如果在 c# 代码里调用这个 apiMeetingInfo meetingInfo = await TeamsInfo.GetMeetingInfoAsync(turnContext);如果大家喜欢直接使用 http requ原创 2022-01-30 16:19:15 · 8522 阅读 · 0 评论 -
Teams Meeting App的 task 弹出框
前几篇文章我们介绍了 Teams Meeting App 的各种类型和如何从无到有的使用 net6 和 c# 来开发一个 Teams Meeting app,那今天我们开始讨论一些 meeting app 的高级互动: task 弹出框。我们先来快速修改一下之前的代码,看看什么是 task 弹出框。打开MainPage.cshtml文件,加入如下代码:<body style="background: white">... <button onclick="add()..原创 2021-12-30 06:14:37 · 7587 阅读 · 0 评论 -
会议中的Meeting App
接着我们上两篇博客文章,我们说了如何开发会议前和会议后的 meeting app,那如何开发一个会议中的 app 呢,实际上比较简单,我们只需要在 tab 的配置项中勾选下面这两个选项即可。勾选后,我们安装app到我们的一个会议中,然后开始会议,在会议的工具条上就可以看到我们的app的图标,点击后就会出现侧边栏。如下图:在侧边栏的上方有一个向上的小箭头。这个图标和共享桌面的图标类似,点击后实际上就是共享我们的app给所有用参与会议的人所有参与会议的用户都会在会议窗口的正中间显示出我们原创 2021-12-28 08:23:39 · 7893 阅读 · 0 评论 -
如何获取 Teams Meeting 的上下文信息
我们上一篇文章讲了如果使用 net6 和 c# 来快速开发一个最简单的 teams meeting app。为了让大家比较容易理解,上个sample非常简单,简单到没有什么功能,那我们现在就来慢慢扩展这个app的功能:看看如何获取 meeting 的上下文。打开上个sample中的MainPage.cshtml文件,使用如下代码:@page "/MainPage"<!DOCTYPE html><html lang="en"><head> &l..原创 2021-12-27 11:22:04 · 7891 阅读 · 0 评论 -
开发第一个Meeting App
今天我们来看一下如何使用c# net6 来开发一个 teams的 meeting app。首先先确保本地安装了最新版本的 net6。创建一个目录,然后在目录下输入下面的命令行,让 dotnet 来生成一个初步的asp.net core 代码框架。dotnet new razor代码框架生成如下的目录和文件,我们可以删除不需要的文件:Error.cshtml.cs,Error.cshtml,Index.cshtml,Index.cshtml.cs,Privacy.cshtml和Priv...原创 2021-12-26 19:22:21 · 7717 阅读 · 0 评论 -
Teams 的 Meeting App
Teams 的 Meeting App 已经正式推出了一段时间,相应的文档也已经较为完善了,我接下来会写一系列的文章,来介绍如何开发一个自己的Meeting app。这篇文章作为这个系列的第一篇,将介绍 meeting app 是如何被使用的,有哪些可以扩展的点。那我们先来看一下它如何被安装和使用,我们先创建一个会议。创建完成后,点开会议进行编辑。在最上面的一排 tab 页的最后有一个加号,我们通过点击这个加号来为这个会议添加 meeting app。点击加号后就会显示如下界面,是一些支持 me原创 2021-12-16 18:16:14 · 9016 阅读 · 0 评论 -
将Teams app升级到net6
net6 发布已经有一个多月了,因为我的LuckyDraw app是使用Azure app service,当时我查了一下app service还没有ready,昨天我又查看了一下,发现app service已经默认装了net6。那就是时候升级我的LuckyDraw了,如果大家的app也是用c#来开发的话,那这篇文章给大家分享一下我的升级方法。首先,先更新csproj,把之前的LTS 3.1改成net6.0。同时也把 c# 语言改用版本 9,这样就可以更多的使用一些方便的语法。 <.原创 2021-12-13 17:23:07 · 8083 阅读 · 0 评论 -
Teams Bot如何解析和发送 at 用户
之前有好些看博客的开发者问我有什么较好的方法来解析 at 信息。用户在channel里发消息给 bot 的时候,通常需要 at bot的名字,当然在消息文字中可能还会 at 其他用户,比如 bot的名字是 MyBot,那 bot 收到的 Activity 里的 Text 值类似于:<at>MyBot</at> 请帮我查看一下 <at>Tom</at> 的明天有空时间。可以看到 Teams 使用了 at tag 来把用户 at 的信息包含起来。看原创 2021-10-14 13:29:10 · 5376 阅读 · 0 评论 -
Teams Bot库的JSON
如果你和我一样,一直使用最新的 asp.net core 来开发teams bot的应用,那么你就会发现当你使用最新的 LTS 3.1版本或者 5.0 版本或者最新的 6.0 版本,asp.net core 默认使用System.Text.Json库,所以当你在处理 Teams 发送来的请求的时候,如果还是使用类似于下面的代码,那很多时候就是发现activity解析不出来,返回的response也不对。[HttpPost("api/messages")]public Activity GetMess原创 2021-10-10 10:05:34 · 3375 阅读 · 0 评论 -
Teams App如何选择用户
当我们在开发app的时候,很多时候需要选择一个用户,比如我们开发一个审批的app,就要选择审批人,所以这个app就需要实现选择人的界面,而且需要获取完整的用户列表,但是要获取完整的用户列表又需要app拥有较高的权限。通常企业的IT部门不太愿意把这种权限给到app。不过,好在Teams已经为我们考虑到这点,Teams提供了一个很好用的功能:People Picker。我们先来看一下代码:const peoplePickerInputs: PeoplePickerInputs = { ... };原创 2021-10-06 17:27:43 · 6577 阅读 · 0 评论 -
Teams App设备的地理位置能力
我们上一篇文章讲了如何在Teams app里扫描二维码,这篇文章我们来看一下如何获取当前设备的地理位置,并且在地图上显示地理位置。首先,我们先到app studio里,创建一个teams app,然后创建tab,并且确保我们勾选了 “Permission to return the user’s location” 这个选项。或者我们手动在manifest.json里输入这么一段:{ "$schema": "https://developer.microsoft.com/json-sc原创 2021-10-05 17:05:16 · 3873 阅读 · 0 评论 -
Teams App 如何使用设备的能力
我们以前讲到过,Teams有很多中可以扩展的方面,其中有一种是Tab,开发者可以开发一个web page/app,然后以tab的方式嵌入到teams里面。除了基本的功能,这种tab也可以使用teams客户端设备所带的一些能力,比如:摄像头 麦克风 相册 扫二维码 地理位置有些这些能力,我们开发的tab就能完成更多更有趣的功能。这篇文章我们就来看看如何获取这些能力。首先,每个teams app有一个manifest.json来描述app的一些基本信息,同样,我们需要在manifest里声原创 2021-07-24 08:25:15 · 5858 阅读 · 0 评论 -
Teams数据统计 - 通话记录
上篇文章介绍了如何获取用户的在线状态,这篇文章我们记录介绍如何统计用户通话记录。首先,Teams为了安全,它要求 app 要有CallRecords.Read.All权限。然后就可以通过这个api来获取 call record。GET /communications/callRecords/{id}这个接口会返回类似如下的数据:{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#communicat..原创 2021-07-13 19:14:52 · 8483 阅读 · 2 评论 -
Teams数据统计 - 用户在线离线状态
前几天我在wechat的moments里看到以为朋友发了腾迅会议的对用户个人的年度数据统计,看上去很有大数据感。实际上 Teams 也具备的类似的能力,只是它把这个能力开放给了开发人员,我们可以通过强大的 Graph API,获取大量的数据信息(当然,为了保证数据安全,你的app必须获得 tenant 管理员的同意)。我接下来的几篇文章就集中介绍一下如何获取这些信息,有兴趣的开发者可以轻松使用这些 api 来提供用户的数据统计功能。我们这篇文章先来介绍一下用户在线离线状...原创 2021-07-11 14:16:54 · 11852 阅读 · 1 评论