跳到正文
W Winse Blog
automation dev 2 min read

飞书机器人:在 n8n 中收发飞书消息

前篇文章本地部署n8n,用Google 表格模板简单体验了,还在旧手机上手机部署n8n。软件部署安装是第一步,后面还要看怎么把好工具利用起来。

国内这一块很多文章都是去连飞书的文章,两种用法:使用机器人来收发消息,作为消息系统;第二种,使用多维表格存取数据,作为数据库。这里主要关注 n8n 收发飞书消息。

安装飞书

电脑端飞书才能增加 webhook 的机器人,所以我们先在电脑上安装飞书。

飞书有两类数据接入机器人:先在 n8n 配置简单的 HTTP Request 通过群自定义机器人 推送消息,再配置飞书节点通过应用机器人 接收和发送消息。

自定义机器人:webhook群消息推送

它可以用来发送告警、通知等信息到飞书群。在我们的群里面添加自定义机器人,获取得到 Webhook 地址

回到 n8n 流程编辑器,添加 HTTP Request 节点。

[1] URL 填 webhook 机器人的地址,[2] 请求 Method 为 POST,[3] 增加请求头内容格式Content-Type: application/json,[4] 内容发送的一个简单文本的json。

更丰富的消息格式可以查看官网文档的自定义机器人使用指南,可以直接点官网右下角咨询按钮,让它“打开开发文档的自定义机器人”。

实现一个小功能:获取 WIFI 的公网 IP

原来在路由器 padavan 的系统管理的服务的计划任务中每天8点发送 公网IP 到钉钉群。现在用 n8n 来实现发送到飞书群,并且只有在 ip 发生变化时才发送。

实现起来还是很简单的,把原来脚本代码拆解成不同的节点来实现。

在内置的 Data tables 数据库的加持之下,很简单就实现了数据的存储和查询。

群自定义机器人是连接飞书最简单的方式,把发消息给飞书服务器特定地址就行了。

应用机器人:交互问答

但如果要用飞书中复杂一些的能力,如接收即时消息,就需要安装 n8n 社区飞书节点

1、n8n 的飞书节点插件

飞书社区节点有两个实现 n8n-nodes-feishu-lite 和 n8n-nodes-feishu-lark,后者 lark 是在 lite 基础上二次开发出来的,文档更加完善,错误提示更加详细和准确,更便于程序员自己折腾。

对比两个插件,节点新增记录的界面:

n8n-nodes-feishu-lite 新增记录

n8n-nodes-feishu-lark 新增记录

一眼就看出来两者的区别,就是在中间下方的橙色文档链接【Open official document | 浏览官方文档】,这是打动我选择它的最重要的一点,它让我少走很多弯路,是遇到问题时的黑夜里的那一抹光。我猜,这应该也是作者体验了痛之后,痛定思痛,下定决心去自己弄一个原因之一吧。

如果你也爱自己折腾,推荐使用 n8n-nodes-feishu-lark

点击 n8n 左下角的头像,选择弹出菜单的 Settings,然后点击 Comminity Nodes,安装 n8n-nodes-feishu-lark 飞书节点。

在流程编辑器,点击加上,输入 lark 查询添加飞书节点插件。

2、新增应用,以及应用机器人

应用机器人 相当于飞书的普通用户了,可以用接收 消息,发送 消息。而 webhook 的机器人则更像一个推送的接口,只能发送数据。

增加应用机器人,需要先创建一个应用,然后在里面添加的机器人。

先查看文档【开发一个自动回复机器】,了解添加应用机器涉及的基本步骤。https://open.feishu.cn/document/develop-an-echo-bot/introduction?from=banner

1)创建应用

从飞书管理后台的应用管理,点击创建应用,进入开发者后台的企业自建应用,新建一个应用。

创建成功之后,我们就拿到了访问最重要的应用凭证:App Id和App  Secret。

2)添加应用能力:机器人

添加机器人,并进行显示名称的设置。

配置事件订阅方式为长连接,并添加订阅接收信息 的事件类型。

还需要给应用机器人增加相应的 im 权限。

  • 读取用户发给机器人的单聊消息(im:message.p2p_msg:readonly)

  • 以应用的身份发消息(im:message:send_as_bot)

  • 接收群聊中@机器人消息事件(im:message.group_at_msg:readonly)

3)发布上线

修改的内容需要发布版本后才能被使用到。

点击应用标题条上的“创建版本”按钮,填写版本和描述,然后提交,确认发布上线。

创建好以后,在飞书中就能查找打开 测试n8n 机器人了。

3、n8n中使用应用机器人

1)配置飞书应用凭证,连接飞书应用

填写飞书应用时获取到的 App Id 和 App Secret 凭证信息。

2)接收机器人发送的即时消息

添加飞书 Lark 接收消息节点(On receive message),触发默认配置就行。

启动工作流测试,跟飞书服务器建立长连接(作者说 https://www.bilibili.com/video/BV1Zos1zME16/?share\_source=copy\_web&vd\_source=f135fe5d89dc790840faccfb878f5f62&t=131 要先启动工作流,然后配置机器人订阅时,反向连接成功了,订阅配置才会成功。我这边实际配置好后再启动工作流也是可以的)。

在飞书中,给应用机器人发送信息,就能在 n8n 接收信息节点(On receive message)收到飞书的消息了。

3)回复消息到机器人

n8n 监听收到飞书应用机器人发送的消息后,经过业务逻辑处理,就可以把要回复的消息发回给用户。

这里我们需要使用发送消息(Send Message)。还是用上面的获取公网IP 的事情,n8n 收到飞书应用机器人的消息后,流程启动,然后获取公网IP,最后把公网IP地址发回给飞书应用机器人,这就是实现了一个简单消息的收发的闭环。

发送消息(Send Message)节点具体配置如下,主要注意配置接受者 ID。

测试一下:

整个流程还是很容易理解的,操作起来也不是很难。

除了权限、发布这些新的概念和步骤,需要特别的注意一下之外,我们就很顺利的完成了使用 n8n 对接飞书的消息功能。

小结

n8n结合IM消息系统,就相当于有了电脑有了外设(输入输出)。

本文简单的介绍了飞书的两类机器人,让 n8n 和人连接了起来。一台机器除了外设,还需要有存储,下一篇我们把飞书作为数据库来存取我们的数据。

在 GitHub 上讨论

欢迎通过 GitHub Issue 留言或反馈。每条讨论都会关联到对应文章的源文件路径。

2025-12-16-飞书机器人:在-n8n-中收发飞书消息.md

Related posts