Files
workphone-sdk/sdk/scripts/send_to_feishu.py
卡若 e8af7bac66 feat: 工作手机开发群专用飞书发送脚本
独立webhook(d0f607da),与卡若AI日志群(8b7f996e)分离
支持纯文本和富文本(带表情/链接)两种模式

Made-with: Cursor
2026-03-14 16:59:34 +08:00

83 lines
2.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
工作手机SDK · 开发进度复盘 → 飞书工作手机开发群
注意这个脚本专门发到【工作手机开发进度群】不是卡若AI日志群。
两个群的 webhook 不同:
- 工作手机开发进度群: d0f607da-ae26-43a0-9dbe-2c2c0b90743d ← 本脚本用这个
- 卡若AI复盘群: 8b7f996e-2892-4075-989f-aa5593ea4fbc ← 卡若AI那边的
用法:
python3 send_to_feishu.py "复盘文本内容"
python3 send_to_feishu.py --rich "标题" "正文内容"
"""
import argparse
import json
import sys
import requests
WEBHOOK_URL = (
"https://open.feishu.cn/open-apis/bot/v2/hook/"
"d0f607da-ae26-43a0-9dbe-2c2c0b90743d"
)
def send_text(text: str) -> bool:
payload = {"msg_type": "text", "content": {"text": text[:4000]}}
return _post(payload)
def send_rich(title: str, body: str) -> bool:
lines = body.strip().split("\n")
content = [[{"tag": "text", "text": line + "\n"}] for line in lines]
payload = {
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": title,
"content": content,
}
}
},
}
return _post(payload)
def _post(payload: dict) -> bool:
try:
r = requests.post(WEBHOOK_URL, json=payload, timeout=10)
body = r.json()
if body.get("code") != 0:
print(f"飞书返回错误: {body}", file=sys.stderr)
return False
print("✅ 已发送到工作手机开发进度群")
return True
except Exception as e:
print(f"发送失败: {e}", file=sys.stderr)
return False
def main():
ap = argparse.ArgumentParser(description="工作手机SDK 复盘发飞书")
ap.add_argument("text", nargs="?", default="", help="纯文本内容")
ap.add_argument("--rich", nargs=2, metavar=("TITLE", "BODY"),
help="富文本模式: --rich '标题' '正文'")
args = ap.parse_args()
if args.rich:
ok = send_rich(args.rich[0], args.rich[1])
elif args.text:
ok = send_text(args.text)
else:
text = sys.stdin.read().strip()
ok = send_text(text) if text else False
if not ok:
sys.exit(1)
if __name__ == "__main__":
main()