搭建飞书早报机器人

飞书是字节跳动推出的一款企业级通讯及协作平台,于2016年正式上线。它是一款基于云计算技术的软件工具,可以帮助企业实现快速高效的沟通和协作,提升工作效率,降低沟通成本。下面将详细介绍飞书的功能、特点以及使用体验。

功能介绍

  1. 即时通讯:支持文字、语音、图片、文件等多种形式的即时通讯,可以随时随地与同事进行交流。

  2. 视频会议:支持多人视频会议,可以远程参加会议,方便快捷。

  3. 云盘:提供企业级云盘服务,可以在线上存储和共享文件,方便团队协作。

  4. 任务管理:可以创建任务并分配给不同的成员,设置截止日期和进度等信息,方便团队协同完成任务。

  5. 日程管理:可以创建个人或团队的日程表,设置提醒时间,方便掌握工作安排。

  6. 审批流程:可以创建审批流程,设置审批人、审批条件等信息,方便管理工作流程。

  7. 数据分析:提供数据分析功能,可以根据数据生成报表和图表,帮助企业进行决策。

特点介绍

  1. 多端同步:飞书支持多端同步,可以在电脑端、移动端、平板等不同设备上使用,保证信息的同步性。

  2. 安全可靠:飞书采用多层加密技术和严格的权限控制机制,保证信息的安全性和可靠性。

  3. 集成丰富:飞书支持多种第三方应用的集成,例如企业微信、钉钉等,方便企业内部集成办公。

  4. 自定义开发:飞书提供了API接口和SDK开发工具包,可以根据企业需要进行自定义开发。

使用体验

作为一名职场人士,我使用过多个企业级通讯及协作工具,包括微信企业号、钉钉、企业微信等。在使用过这些工具之后,我感觉飞书的优势在于它的实时性、安全性和用户体验。下面我来谈谈我的使用体验:

  1. 实时性:飞书中的即时通讯功能非常强大,可以实现文字、语音、图片、文件等多种形式的即时通讯,而且消息传递的速度非常快,几乎可以做到实时沟通。

  2. 安全性:飞书采用了多层加密技术和严格的权限控制机制,保证了信息的安全性和可靠性。此外,飞书还提供了指纹识别、人脸识别等认证方式,进一步提高了账号的安全性。

  3. 用户体验:飞书的界面设计简洁明了,操作也非常简单易懂。同时,飞书还提供了多种主题和字体样式,可以让用户根据自己的喜好进行个性化设置。

总之,飞书是一款非常实用的企业级通讯及协作工具,具有实时性、安全性和用户体验等优势,可以帮助企业提高工作效率,降低沟通成本。

飞书机器人

飞书机器人是飞书平台上的一种应用,它可以与用户进行智能交互,并提供各种服务和功能。下面我们来介绍一下飞书机器人的开发流程和使用方法。

开发流程

  1. 注册开发者账号:在飞书开放平台注册开发者账号,获取开发者凭证。

  2. 创建应用:在飞书开放平台创建应用,获取应用ID和应用Secret。

  3. 配置服务器:在飞书开放平台配置服务器,包括API接口地址、认证方式等。

  4. 编写代码:使用飞书机器人开发工具,编写机器人的代码,包括语义理解、对话管理、问答引擎等模块。

  5. 集成API:将机器人代码集成到飞书机器人服务中,测试机器人的功能和性能。

  6. 上线发布:通过飞书开放平台审核后,将机器人发布到线上,供用户使用。

最常见的飞书机器人就是群机器人,用户可以在飞书群内添加机器人,也可以为自建应用添加机器人能力,还可以通过飞书机器人助手(以前的飞书捷径,现在已升级更名)来搭建群机器人。今天就以飞书机器人助手为例,搭建一个早报机器人。

飞书机器人助手

飞书机器人助手(BotBuilder)是一种自动化场景的搭建工具,可以帮助用户在没有代码基础的情况下快速搭建机器人应用或创建机器人指令。飞书机器人助手通过拟人化的身份自动向个人或群组推送消息,如公司的重要事项通知、活动报名、销售战报、数据日报,无需切换多个系统,一站式高效处理;也可以联动飞书套件内的其他功能(多维表格、通讯录、审批、群组等),实现新人入职、司龄提醒、工单提报等企业日常工作的自动化。

飞书机器人助手的优势

  • 自动化业务流程,释放员工时间:将固定的业务环节设置为自动化流程,由机器人按时、对人推送节点信息,承担业务环节中的重复工作,降低企业人力成本。
  • 可视化搭建应用,无需研发成本:通过机器人搭建平台,低门槛上手飞书机器人。企业各职能人员,能自行搭建符合业务流程的机器人,且可适配变化灵活调整。
  • 联动飞书各模块,一站式提效:自动化流程可无缝衔接多维表格、通讯录、审批、消息、群组功能等,准确、高效传递信息,提效各类工作场景。

飞书机器人助手的能力

  • 机器人应用(Bot apps):用于搭建面向于团队和业务的独立机器人应用(自建应用),通过独立的机器人实现多组流程搭建,支持多人协作和应用权限管理;通过拟人化的身份自动推送消息、机器人互动和联动飞书套件内的其他功能,从而实现企业日常工作的自动化。更多关于机器人应用的信息,详见如何使用机器人应用

  • 机器人指令(Bot commands):用于搭建面向个人的流程,通过官方机器人“飞书机器人助手”来实现自动化流程。支持在“网页端”和“小程序端”创建面向个人的机器人指令,把不同功能串连到一块,帮助用户将日常的工作流程自动化,减少重复工作。每个机器人指令仅支持搭建一个流程。更多关于机器人指令的信息,详见如何使用机器人指令

能力对比:

能力 机器人应用 机器人指令 备注
创建入口 网页端 网页端和小程序端
发送消息 机器人指令发送消息支持
- 通过官方机器人“飞书机器人助手”发消息给自己
- 集成一 个自建的应用机器人,通过该机器人发消息给自己或该机器人所在的群组(通过小程序端创建的机器人指令不支持)
调用飞书开放接口(比如多维表格、电子表格等接口) 机器人指令不支持企业级别权限的接口(比如访问通讯录)
创建一个独立的机器人,机器人头像、名称可以自定义
响应用户单聊机器人的消息并进行互动
支持简易表单设计,数据管理

效果

飞书机器人助手

这是我们飞书群里的一个早报机器人,每天早上发送当天日历和天气信息,并通知轮值任务情况,可以扩展为与任务计划关联,通报进展等。

实现

整体思路就是每天定时去请求一个网络服务,得到日历和天气信息,然后查找飞书多维表格中的任务计划,找到轮值人员,发送飞书消息。

网络服务API通常以json格式返回,飞书机器人可以解析json,但是不能进行处理,如果需要对返回的json进行处理,则需要再部署一个网络程序。这里用了一个小技巧,即使用飞书多维表格进行json的处理,多维表格内置了很多文本处理函数,但是这个公式编起来也比较头大,适用于不太复杂的处理。最好的结果就是网络服务API返回的json可以直接使用。

执行流程:

早报机器人流程

  1. 定时任务,每天8:58触发
  2. http请求日历服务
  3. http请求天气服务
  4. 新增多维表格记录
  5. 查找多维表格记录
  6. 筛选记录
  7. 发送飞书消息

日历服务返回的json如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
{
"data":{
"today_in_history":[
{
"date":"632年5月2日",
"title":"郯国公张公谨逝世",
"url":"https://www.lssdjt.com/d/6320502.htm"
},
{
"date":"1519年5月2日",
"title":"达·芬奇逝世",
"url":"https://www.lssdjt.com/d/15190502.htm"
},
{
"date":"1842年5月2日",
"title":"英国宪章运动爆发",
"url":"https://www.lssdjt.com/d/18420502.htm"
},
{
"date":"1860年5月2日",
"title":"伪满州国总理郑孝胥出生",
"url":"https://www.lssdjt.com/d/18600502.htm"
},
{
"date":"1895年5月2日",
"title":"康有为发起“公车上书”",
"url":"https://www.lssdjt.com/d/18950502.htm"
},
{
"date":"1904年5月2日",
"title":"美国爵士音乐的代表平·克劳斯贝出生",
"url":"https://www.lssdjt.com/d/19040502.htm"
},
{
"date":"1918年5月2日",
"title":"诗僧苏曼殊早逝",
"url":"https://www.lssdjt.com/d/19180502.htm"
},
{
"date":"1921年5月2日",
"title":"大都市展览会展出后印象现代艺术",
"url":"https://www.lssdjt.com/d/19210502.htm"
},
{
"date":"1933年5月2日",
"title":"希特勒解散所有工会",
"url":"https://www.lssdjt.com/d/19330502.htm"
},
{
"date":"1936年5月2日",
"title":"红军结束东征作战",
"url":"https://www.lssdjt.com/d/19360502.htm"
},
{
"date":"1937年5月2日",
"title":"延安召开的党的苏区代表会议",
"url":"https://www.lssdjt.com/d/19370502.htm"
},
{
"date":"1940年5月2日",
"title":"枣宜会战开始",
"url":"https://www.lssdjt.com/d/19400502.htm"
},
{
"date":"1942年5月2日",
"title":"延安文艺座谈会召开",
"url":"https://www.lssdjt.com/d/19420502.htm"
},
{
"date":"1944年5月2日",
"title":"国共就中共扩军进行谈判",
"url":"https://www.lssdjt.com/d/19440502.htm"
},
{
"date":"1945年5月2日",
"title":"苏联红军攻克柏林",
"url":"https://www.lssdjt.com/d/19450502.htm"
},
{
"date":"1945年5月2日",
"title":"中国第一部新歌剧《白毛女》在延安演出",
"url":"https://www.lssdjt.com/d/194552.htm"
},
{
"date":"1946年5月2日",
"title":"彭德怀于蟠龙再胜胡宗南",
"url":"https://www.lssdjt.com/d/19460502.htm"
},
{
"date":"1951年5月2日",
"title":"纽约帝国大厦播放彩色电视节目",
"url":"https://www.lssdjt.com/d/19510502.htm"
},
{
"date":"1953年5月2日",
"title":"约旦第三任国王侯赛因登基",
"url":"https://www.lssdjt.com/d/19530502.htm"
},
{
"date":"1953年5月2日",
"title":"第一架喷气式客机坠毁",
"url":"https://www.lssdjt.com/d/195352.htm"
},
{
"date":"1953年5月2日",
"title":"中国工会第七次全国代表大会在北京召开",
"url":"https://www.lssdjt.com/d/gonghui7.htm"
},
{
"date":"1955年5月2日",
"title":"吴庭艳粉碎西贡政变",
"url":"https://www.lssdjt.com/d/19550502.htm"
},
{
"date":"1957年5月2日",
"title":"争议人物麦卡锡逝世",
"url":"https://www.lssdjt.com/d/19570502.htm"
},
{
"date":"1963年5月2日",
"title":"制定《前十条》——“左倾”错误进一步发展",
"url":"https://www.lssdjt.com/d/19630502.htm"
},
{
"date":"1964年5月2日",
"title":"中国登山队10名运动员登上西藏境内海拔8012米的希夏邦玛峰峰",
"url":"https://www.lssdjt.com/d/19640502.htm"
},
{
"date":"1980年5月2日",
"title":"我国绵羊冷冻胚胎移植成功",
"url":"https://www.lssdjt.com/d/19800502.htm"
},
{
"date":"1982年5月2日",
"title":"阿根廷“贝尔格拉诺将军”号巡洋舰被击沉",
"url":"https://www.lssdjt.com/d/19820502.htm"
},
{
"date":"1983年5月2日",
"title":"美国加利福尼亚州发生6.5级地震",
"url":"https://www.lssdjt.com/d/19830502.htm"
},
{
"date":"1990年5月2日",
"title":"作曲家施光南逝世",
"url":"https://www.lssdjt.com/d/19900502.htm"
},
{
"date":"1991年5月2日",
"title":"全国特等劳动模范吴运铎在北京逝世",
"url":"https://www.lssdjt.com/d/19910502.htm"
},
{
"date":"1991年5月2日",
"title":"彭德怀的夫人浦安修逝世",
"url":"https://www.lssdjt.com/d/199152.htm"
},
{
"date":"1993年5月2日",
"title":"“向阳红十六”号考察船与外轮相撞沉没",
"url":"https://www.lssdjt.com/d/19930502.htm"
},
{
"date":"1993年5月2日",
"title":"我国“向阳红16号”考察船被撞",
"url":"https://www.lssdjt.com/d/199352.htm"
},
{
"date":"1994年5月2日",
"title":"中国首次清查洋垃圾",
"url":"https://www.lssdjt.com/d/19940502.htm"
},
{
"date":"1994年5月2日",
"title":"中国银行开始正式发行港币",
"url":"https://www.lssdjt.com/d/199452.htm"
},
{
"date":"1996年5月2日",
"title":"杀害李沛瑶的凶手张金龙被判处死刑",
"url":"https://www.lssdjt.com/d/19960502.htm"
},
{
"date":"1997年5月2日",
"title":"布莱尔成为英国1812年以来最年轻首相",
"url":"https://www.lssdjt.com/d/19970502.htm"
},
{
"date":"1998年5月2日",
"title":"欧元启动进入倒计时",
"url":"https://www.lssdjt.com/d/19980502.htm"
},
{
"date":"1998年5月2日",
"title":"美国大猩猩可可进入互联网",
"url":"https://www.lssdjt.com/d/199852.htm"
},
{
"date":"2003年5月2日",
"title":"热带风暴在缅甸造成2.2万人遇难",
"url":"https://www.lssdjt.com/d/20030502.htm"
},
{
"date":"2003年5月2日",
"title":"江泽民对海军361号潜艇遇难官兵表示深切哀悼",
"url":"https://www.lssdjt.com/d/200352.htm"
},
{
"date":"2016年5月2日",
"title":"比特币之父“中本聪”身份终于揭晓",
"url":"https://www.lssdjt.com/d/20160502.htm"
},
{
"date":"2016年5月2日",
"title":"韩春雨实验事件",
"url":"https://www.lssdjt.com/d/201652.htm"
},
{
"date":"2017年5月2日",
"title":"安徽原副省长陈树隆被双开",
"url":"https://www.lssdjt.com/d/20170502.htm"
},
{
"date":"2019年5月2日",
"title":"人造肉第一股Beyond Meat在纳斯达克上市",
"url":"https://www.lssdjt.com/d/20190502.htm"
}
],
"soul":"你必须非常努力才能相信自己是无能为力",
"day":"2023-05-02",
"date":"2023年05月02日",
"week":"二",
"lunar":[
2023,
"三月",
"十三",
"癸卯",
4,
13,
"兔",
2
]
},
"error":false,
"status":200
}

天气服务返回的json如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
{
"message":"success感谢又拍云(upyun.com)提供CDN赞助",
"status":200,
"date":"20230502",
"time":"2023-05-02 17:13:05",
"cityInfo":{
"city":"北京市",
"citykey":"101010100",
"parent":"北京",
"updateTime":"16:46"
},
"data":{
"shidu":"32%",
"pm25":24,
"pm10":81,
"quality":"良",
"wendu":"26",
"ganmao":"极少数敏感人群应减少户外活动",
"forecast":[
{
"date":"02",
"high":"高温 27℃",
"low":"低温 16℃",
"ymd":"2023-05-02",
"week":"星期二",
"sunrise":"05:13",
"sunset":"19:09",
"aqi":59,
"fx":"南风",
"fl":"2级",
"type":"晴",
"notice":"愿你拥有比阳光明媚的心情"
},
{
"date":"03",
"high":"高温 27℃",
"low":"低温 17℃",
"ymd":"2023-05-03",
"week":"星期三",
"sunrise":"05:11",
"sunset":"19:10",
"aqi":46,
"fx":"东南风",
"fl":"2级",
"type":"阴",
"notice":"不要被阴云遮挡住好心情"
},
{
"date":"04",
"high":"高温 23℃",
"low":"低温 14℃",
"ymd":"2023-05-04",
"week":"星期四",
"sunrise":"05:10",
"sunset":"19:11",
"aqi":66,
"fx":"东风",
"fl":"2级",
"type":"中雨",
"notice":"记得随身携带雨伞哦"
},
{
"date":"05",
"high":"高温 26℃",
"low":"低温 15℃",
"ymd":"2023-05-05",
"week":"星期五",
"sunrise":"05:09",
"sunset":"19:12",
"aqi":75,
"fx":"北风",
"fl":"2级",
"type":"小雨",
"notice":"雨虽小,注意保暖别感冒"
},
{
"date":"06",
"high":"高温 24℃",
"low":"低温 13℃",
"ymd":"2023-05-06",
"week":"星期六",
"sunrise":"05:08",
"sunset":"19:13",
"aqi":55,
"fx":"东北风",
"fl":"2级",
"type":"阴",
"notice":"不要被阴云遮挡住好心情"
},
{
"date":"07",
"high":"高温 24℃",
"low":"低温 13℃",
"ymd":"2023-05-07",
"week":"星期日",
"sunrise":"05:07",
"sunset":"19:14",
"aqi":54,
"fx":"南风",
"fl":"2级",
"type":"阴",
"notice":"不要被阴云遮挡住好心情"
},
{
"date":"08",
"high":"高温 27℃",
"low":"低温 15℃",
"ymd":"2023-05-08",
"week":"星期一",
"sunrise":"05:06",
"sunset":"19:15",
"aqi":67,
"fx":"南风",
"fl":"2级",
"type":"多云",
"notice":"阴晴之间,谨防紫外线侵扰"
},
{
"date":"09",
"high":"高温 28℃",
"low":"低温 15℃",
"ymd":"2023-05-09",
"week":"星期二",
"sunrise":"05:05",
"sunset":"19:16",
"aqi":87,
"fx":"南风",
"fl":"2级",
"type":"阴",
"notice":"不要被阴云遮挡住好心情"
},
{
"date":"10",
"high":"高温 25℃",
"low":"低温 15℃",
"ymd":"2023-05-10",
"week":"星期三",
"sunrise":"05:04",
"sunset":"19:17",
"aqi":96,
"fx":"南风",
"fl":"2级",
"type":"阴",
"notice":"不要被阴云遮挡住好心情"
},
{
"date":"11",
"high":"高温 28℃",
"low":"低温 12℃",
"ymd":"2023-05-11",
"week":"星期四",
"sunrise":"05:03",
"sunset":"19:18",
"aqi":99,
"fx":"西风",
"fl":"2级",
"type":"霾",
"notice":"雾霾来袭,戴好口罩再出门"
},
{
"date":"12",
"high":"高温 25℃",
"low":"低温 16℃",
"ymd":"2023-05-12",
"week":"星期五",
"sunrise":"05:02",
"sunset":"19:19",
"aqi":68,
"fx":"南风",
"fl":"3级",
"type":"多云",
"notice":"阴晴之间,谨防紫外线侵扰"
},
{
"date":"13",
"high":"高温 29℃",
"low":"低温 16℃",
"ymd":"2023-05-13",
"week":"星期六",
"sunrise":"05:01",
"sunset":"19:20",
"aqi":39,
"fx":"西北风",
"fl":"2级",
"type":"晴",
"notice":"愿你拥有比阳光明媚的心情"
},
{
"date":"14",
"high":"高温 33℃",
"low":"低温 15℃",
"ymd":"2023-05-14",
"week":"星期日",
"sunrise":"05:00",
"sunset":"19:21",
"aqi":51,
"fx":"北风",
"fl":"2级",
"type":"晴",
"notice":"愿你拥有比阳光明媚的心情"
},
{
"date":"15",
"high":"高温 24℃",
"low":"低温 14℃",
"ymd":"2023-05-15",
"week":"星期一",
"sunrise":"04:59",
"sunset":"19:22",
"aqi":68,
"fx":"西南风",
"fl":"2级",
"type":"晴",
"notice":"愿你拥有比阳光明媚的心情"
},
{
"date":"16",
"high":"高温 27℃",
"low":"低温 15℃",
"ymd":"2023-05-16",
"week":"星期二",
"sunrise":"04:58",
"sunset":"19:23",
"aqi":47,
"fx":"东南风",
"fl":"3级",
"type":"多云",
"notice":"阴晴之间,谨防紫外线侵扰"
}
],
"yesterday":{
"date":"01",
"high":"高温 27℃",
"low":"低温 11℃",
"ymd":"2023-05-01",
"week":"星期一",
"sunrise":"05:14",
"sunset":"19:08",
"aqi":55,
"fx":"东南风",
"fl":"2级",
"type":"多云",
"notice":"阴晴之间,谨防紫外线侵扰"
}
}
}

可以看到,返回json还是需要进行一些处理的,所以做了一个多维表格,先将返回的json存在表格里,然后用文本函数适当处理,再从表格中读取并发送消息。

表格记录内容如下:

多维表格记录

最终发送的消息内容为:

消息格式

这样便搭建好了一个早报机器人,每天早上在群内发送类似文章开头的提示消息。