本教程将指导你如何使用 Python 编写一个简单的脚本,通过飞书的 Webhook 功能发送消息到指定的群聊或频道。飞书的 Webhook 功能允许你通过 HTTP 请求将消息推送到飞书群聊中,非常适合用于自动化通知、监控报警等场景。
1. 准备工作
1.1 获取飞书 Webhook URL
首先,你需要在飞书中创建一个自定义机器人,并获取其 Webhook URL。具体步骤如下:
- 打开飞书,进入你想要接收消息的群聊。
- 点击群聊右上角的设置按钮,选择“群设置”。
- 在群设置中找到“群机器人”,点击“添加机器人”。
- 选择“自定义机器人”,设置机器人名称和描述,然后点击“添加”。
- 添加成功后,系统会生成一个 Webhook URL,复制这个 URL,稍后会在代码中使用。
1.2 安装 requests
库
在 Python 中发送 HTTP 请求需要使用 requests
库。如果你还没有安装这个库,可以通过以下命令安装:
pip install requests
2. 编写 Python 脚本
接下来,我们将编写一个简单的 Python 脚本来发送消息到飞书 Webhook。
2.1 创建 Python 文件
创建一个新的 Python 文件,例如 send_feishu_webhook.py
。
2.2 编写代码
在文件中编写以下代码:
import requests
def send_feishu_webhook(message):
# 替换为你的飞书 Webhook URL
webhook_url = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx"
# 构造 Webhook 消息体
webhook_message = {
"msg_type": "text",
"content": {
"text": message
}
}
# 发送 POST 请求到飞书 Webhook
response = requests.post(webhook_url, json=webhook_message)
# 检查请求是否成功
if response.status_code == 200:
print("消息发送成功到 webhook")
else:
print(f"消息发送失败,状态码: {response.status_code}")
print(f"响应内容: {response.text}")
# 调用函数发送消息
send_feishu_webhook("测试发送")
2.3 代码解释
webhook_url
: 这是你在飞书中获取的 Webhook URL,用于指定消息发送的目标。webhook_message
: 这是发送到 Webhook 的消息体,包含消息类型(msg_type
)和消息内容(content
)。在这个例子中,我们发送的是纯文本消息。requests.post
: 使用requests
库发送一个 POST 请求到飞书 Webhook,消息体以 JSON 格式发送。response.status_code
: 检查 HTTP 响应的状态码,200 表示请求成功。response.text
: 如果请求失败,打印出飞书返回的错误信息。
3. 运行脚本
保存文件后,在终端或命令行中运行脚本:
python send_feishu_webhook.py
如果一切正常,你将在飞书群聊中看到一条内容为“测试发送”的消息。
4. 扩展功能
4.1 发送富文本消息
飞书 Webhook 支持发送富文本消息,你可以在 content
中添加更多信息,例如标题、链接、图片等。以下是一个发送富文本消息的示例:
webhook_message = {
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "通知标题",
"content": [
[
{
"tag": "text",
"text": "这是一条富文本消息。"
},
{
"tag": "a",
"text": "点击这里",
"href": "https://www.feishu.cn"
}
]
]
}
}
}
}
4.2 发送图片或文件
飞书 Webhook 也支持发送图片或文件,你可以通过上传文件到飞书服务器并获取文件 Key,然后在消息中引用该文件。
5. 总结
通过本教程,你已经学会了如何使用 Python 发送消息到飞书 Webhook。你可以根据需要扩展脚本功能,例如发送富文本消息、图片、文件等。飞书 Webhook 是一个非常强大的工具,可以用于各种自动化通知和监控场景。