Skip to content

peterpan0708/feishu-daily-reminder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

飞书考勤每日提醒

用飞书机器人按时间段检查你的上班/下班打卡,未打卡时通过飞书消息提醒。

功能

  • 上班打卡:每周一至周五 8:30–9:00,每 5 分钟检查一次;若未打上班卡则发送提醒,直到检测到已打卡。
  • 下班打卡:每周一至周五 18:00–20:00,每 5 分钟检查一次;若未打下班卡则发送提醒,直到检测到已打卡。
  • 睡觉提醒:每天 22:30 发送一条消息,提醒该休息了。

前置条件

  1. 飞书开放平台 创建企业自建应用,获取 App IDApp Secret
  2. 应用权限:开通「发送消息」与「考勤」相关权限;在考勤管理后台完成「API 接入」。
  3. 确认接收提醒的账号(需配置其 用户 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 < 12hour >= 17)。

项目结构

feishu-daily-reminder/
├── config.py        # 环境变量配置
├── feishu_client.py # 飞书 API:鉴权、考勤流水查询、发消息
├── attendance.py    # 上班/下班打卡检查与提醒逻辑
├── main.py          # 定时任务入口
├── requirements.txt
├── .env.example
└── README.md

许可

MIT

About

vibe coding feishu daily reminder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages