手把手教你用飞书 Webhook 打造一个消息推送 Bot

您所在的位置:网站首页 飞书加人 手把手教你用飞书 Webhook 打造一个消息推送 Bot

手把手教你用飞书 Webhook 打造一个消息推送 Bot

2024-01-19 00:59| 来源: 网络整理| 查看: 265

Matrix 首页推荐

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。

前言

作为一个互联网的「数字难民」,我最讨厌的就是在工作中使用微信。因为微信本质上并不属于工作性质的 IM(Instant Message,即时通讯)工具,但却成为国内大多数领导所偏爱的传声筒:糟糕的文件传输限制、被人诟病的超大空间占用、机械难用的群组管理方式等……微信这些罄竹难书的 N 宗罪无疑早就被和我一样的数字难民们用优美的中国话从产品到人描述了个遍。

使用了企业微信之后,我发现虽然已经没有微信那样的不堪,勉强能够胜任日常的工作沟通与交流,但我仍觉得似乎被什么东西束缚住了,尤其对于我这种喜欢折腾的人来说少了点自由的 ♂ 气息,比如在所谓的「自动化」方面。

自动化(Automation)一词其实是一个很大的概念,但顾名思义其实就是将需要人为、机械且重复的行为,通过软件或编码的方式来实现同样的效果,这个过程就是自动化。具体来说就是:每小时给我发送当前的天气预报、每天早晨准时给我发送少数派早报的标题内容、每个周定时备份我 XXX 项目下的所有文件等等。

因为企业微信面向的主要还是像公司这样的集体组织,无法提供适应个人层面的自动化服务或接口,如果需要进行相关内部的应用开发必须要由公司企业微信的管理员去操作。

直到我遇上了飞书。它在满足了日常工作协作的需要的同时,还留有让喜欢折腾的数字玩家们进一步探索的地方,比如:Webhook。

创建自定义机器人

飞书允许用户在群组中创建一个自定义机器人,将其他渠道的消息通过 Webhook 的方式推送至该群组中。

Webhook 顾名思义即网络钩子,也称为用户自定义 HTTP 回调函数(user-defined HTTP callbacks),通常用于监听某些行为事件,当事件触发时会向用户指定的目标地址发送信息。

这段话对于大多数没有计算机基础知识的读者来说可能难以理解,但却无关紧要,因为我们只需要可以将其理解为「中间人」即可:

张三 到百货商场买东西,店员 告知他要买的东西暂时没货了,可以先登记一下他的联系方式,补货后第一时间通知他过来购买。

过了一段时间 进货 之后,店员根据留下的 联系方式 联系了张三,告知其到货了可以过来购买了。

这是我们在日常生活中很常见的一种场景,也和整个 Webhook 的运作流程类似:

张三:即飞书群店员:即 Webhook,用以监听是否进货,并且根据登记的联系方式进行通知是否进货:触发条件(Trigger)联系方式:目标地址(URL)

因此,飞书的自定义机器人本质上也就是提供了这样 「监听-通知」 的行为逻辑,让用户能够将消息转发到飞书上。

创建一个自定义机器人的方式很简单,你只需要在飞书界面进行「点击加号-创建群组-设置-群机器人」几步操作。

然后再点击「添加机器人」按钮进入到添加界面,选择第一位的「自定义机器人即可」。

添加完成之后我们只需要默认下一步即可。

定制消息类型

创建自定义机器人仅表明我们搭起了一个中转的「驿站」,但我们还需要能够向这个驿站发送相关的消息才能让其帮我们实现转发。

飞书目前支持的消息类型主要有如文本、富文本、交互式卡片等,不同的消息类型对应着不同格式的 JSON 数据。

参数 (msg_type)消息类型text文本post富文本image图片share_chat分享群名片interactive消息卡片什么是 JSON?

JSON(JavaScript Object Notation,即 JavaScript 对象表示法),是目前在 Web 领域里被广泛用于数据传递与交换的文件格式之一。JSON 通常由键值对构成,就像这样:

{ "id": 1, "name": "100gle", "site": "https://sspai.com/u/100gle/posts", "social_media": ["sspai", "Github"], "product": { "name": "Python 自学手册", "url": "https://sspai.com/series/148/list" } }

而我们的消息也是需要以这种格式来发送,当中包含的是关于该消息的类型、内容、其他参数等信息。

普通文本

在飞书所支持的几种消息类型里,最简单的莫过于普通文本。其对应的 JSON 格式比较简单:

{ "msg_type": "text", // 指定消息类型 "content": { // 消息内容主体 "text": "your-message" } }

最后呈现的效果也是我们在日常使用微信沟通时看到的那种样式。

富文本

如果你需要给消息内容增添一些样式,如



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3