1. 为什么你需要一个飞书机器人
日常工作中,通知需求无处不在。系统报警、任务提醒、审批结果反馈,这些场景如果依赖短信或邮件,要么成本高,要么实时性不足。飞书机器人提供了一种零成本且高效的替代方案。
之前负责 ERP 系统升级时,我们面临同样的问题。需要在关键业务流程节点给不同部门同事发送实时通知。按每天 200 条短信计算,月费上千。改用飞书机器人后,不仅完全免费,还能支持更丰富的消息格式和精准的@提醒功能。
飞书机器人本质上是一个自动化程序,通过 Webhook 技术接收外部系统的 HTTP 请求,并转发到指定的群聊中。这种机制特别适合企业内部系统与飞书的集成,例如运维报警、审批流程提醒、业务状态更新、日报周报自动推送以及数据监控预警。
2. 5 分钟快速创建你的第一个机器人
创建飞书机器人非常简单,无需开发经验。以电脑端操作为例:
- 打开飞书客户端,进入目标群聊。
- 点击右上角菜单"...",选择"设置",找到"群机器人"。
- 点击"添加机器人",选择"自定义机器人"。
- 填写名称(如"订单系统通知")和描述,上传头像以便识别。
创建完成后,最关键的一步是获取 Webhook 地址。在机器人详情页,你会看到一个形如 https://open.feishu.cn/open-apis/bot/hook/xxxxxxxxxxxxxxxx 的 URL。这是机器人的唯一入口,任何发送到该地址的 HTTP 请求都会被转发到群聊。
注意:Webhook 地址相当于密码,务必妥善保管。建议不要硬编码在代码里,而是存储在环境变量或配置中心,防止泄露导致群聊被骚扰。
3. Webhook 消息发送实战指南
拿到 Webhook 地址后,就可以开始发送消息了。飞书机器人支持多种消息类型,最基础的是文本消息。下面分别用 Python 和 Node.js 演示如何发送。
Python 示例:
import requests
webhook_url = "https://open.feishu.cn/open-apis/bot/hook/your_webhook_id"
message = {
"msg_type": "text",
"content": {
"text": "这是一条测试消息"
}
}
resp = requests.post(webhook_url, json=message)
print(f"Status Code: {resp.status_code}")
这里使用 requests 库发送 POST 请求,状态码 200 通常表示成功。实际开发中建议增加异常处理,比如网络超时或返回非 200 状态时的重试逻辑。
Node.js 示例:
const axios = require('axios');
const webhookUrl = 'https://open.feishu.cn/open-apis/bot/hook/your_webhook_id';
const message = {
msg_type: 'text',
content: {
text: '这是一条测试消息'
}
};
axios.post(webhookUrl, message)
.( .(, res.))
.( .(, err));

