用飞书机器人按时间段检查你的上班/下班打卡,未打卡时通过飞书消息提醒。
- 上班打卡:每周一至周五 8:30–9:00,每 5 分钟检查一次;若未打上班卡则发送提醒,直到检测到已打卡。
- 下班打卡:每周一至周五 18:00–20:00,每 5 分钟检查一次;若未打下班卡则发送提醒,直到检测到已打卡。
- 睡觉提醒:每天 22:30 发送一条消息,提醒该休息了。
- 在 飞书开放平台 创建企业自建应用,获取 App ID 和 App Secret。
- 应用权限:开通「发送消息」与「考勤」相关权限;在考勤管理后台完成「API 接入」。
- 确认接收提醒的账号(需配置其 用户 ID,见下方配置说明)。
复制 .env.example 为 .env 并填写:
cp .env.example .env| 变量 | 必填 | 说明 |
|---|---|---|
FEISHU_APP_ID |
是 | 飞书应用 App ID |
FEISHU_APP_SECRET |
是 | 飞书应用 App Secret |
FEISHU_USER_ID |
是 | 接收提醒的用户 ID(飞书后台用户 ID,用于考勤查询与发消息) |
FEISHU_OPEN_ID |
否 | 若发消息需用 open_id 再填,否则不填即用 user_id |
TZ |
否 | 时区,默认 Asia/Shanghai |
如何获取用户 ID:飞书管理后台 → 通讯录 → 对应用户 → 查看用户 ID;或使用飞书「通过手机号/邮箱获取用户 ID」接口。
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.py建议在服务器或本机长期运行(如用 systemd、screen 等),保证 8:30–9:00 和 18:00–20:00 时段进程在线。
- 上班卡:当天 4:00–12:00 之间有一条打卡流水即视为已打上班卡。
- 下班卡:当天 17:00–24:00 之间有一条打卡流水即视为已打下班卡。
若你司考勤时间差异较大,可修改 attendance.py 中的时间范围(如 4 <= hour < 12、hour >= 17)。
feishu-daily-reminder/
├── config.py # 环境变量配置
├── feishu_client.py # 飞书 API:鉴权、考勤流水查询、发消息
├── attendance.py # 上班/下班打卡检查与提醒逻辑
├── main.py # 定时任务入口
├── requirements.txt
├── .env.example
└── README.md
MIT