Skip to main content

nwafu-task-feishu

西北农林科技大学课表导入飞书待办技能。支持校历作息时间(夏令时/冬令时自动切换)、课程表解析、飞书任务创建、分组管理等功能。

설치로 이동

소스 정보

저장소
caoronglin/nwafu-task-feishu
최근 소스 활동
2026년 3월 15일 02:29
감지된 SKILL.md 언어
중국어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
nwafu-task-feishu
description
西北农林科技大学课表导入飞书待办技能。支持校历作息时间(夏令时/冬令时自动切换)、课程表解析、飞书任务创建、分组管理等功能。
version
1.0.0
author
薛麟麒 <xuelinqi@nwsuaf.edu.cn>
tags
西北农林科技大学,课表,飞书,待办,任务管理,校历,作息时间
repository
https://github.com/caoronglin/nwafu-task-feishu
license
MIT
## 📚 技能描述 西北农林科技大学(NWSUAF)课表自动导入飞书待办技能。根据校历规定的作息时间(夏令时/冬令时自动切换),将课程表 Excel 中的课程信息批量创建为飞书待办任务,支持按课程/实验分组管理。 ## 🎯 功能特性 - ✅ **作息时间自动切换**:根据校历自动应用夏令时(5 月 1 日 -9 月 30 日)或冬令时(10 月 1 日 -4 月 30 日) - ✅ **课程表解析**:支持从飞书导出的课表 Excel 文件中解析课程信息 - ✅ **飞书任务创建**:批量创建带准确时间的飞书待办任务 - ✅ **分组管理**:自动创建"课程"和"实验"分组,任务按类型归类 - ✅ **班级匹配**:支持多班级课程,精确匹配用户所在班级 - ✅ **北京时间**:所有时间使用北京时间(UTC+8) ## 📋 触发词 nwafu task feishu,西农课表,西北农林科技大学课表,课表导入飞书,飞书待办,创建课程任务,校历作息,夏令时冬令时,课程分组,实验分组,批量创建任务,课表自动化,NWSUAF,nwafu schedule ## 🔧 前置准备 ### 1. 飞书应用配置 在飞书开放平台创建应用,获取以下权限: - 任务读写权限 - 用户信息读取权限 ### 2. 环境变量配置 复制 `.env.example` 为 `.env` 并填写配置: ```bash cp .env.example .env ``` ### 3. 依赖安装 ```bash pip install -r requirements.txt ``` ## 💻 使用方法 ### 基础用法 ```bash python nwafu_task_feishu.py --excel 课表文件.xls --class 生技 2402 ``` ### 完整参数 ```bash python nwafu_task_feishu.py \ --excel /path/to/calendar.xls \ --class "生技 2402" \ --start-date 2026-03-02 \ --lab-excel /path/to/lab.xls \ --action create # create, delete, sync ``` ### 参数说明 | 参数 | 必需 | 说明 | |------|------|------| | `--excel` | ✅ | 课表 Excel 文件路径 | | `--class` | ✅ | 用户班级名称(如"生技 2402") | | `--start-date` | ❌ | 开学日期(默认:2026-03-02) | | `--lab-excel` | ❌ | 实验课表 Excel 文件路径 | | `--action` | ❌ | 操作类型:create(创建)、delete(删除)、sync(同步) | | `--delete-all` | ❌ | 删除所有已创建的任务 | ## 📅 作息时间规则 ### 夏令时(5 月 1 日 - 9 月 30 日) | 节次 | 时间 | |------|------| | 1-2 节 | 08:00-09:40 | | 3-4 节 | 10:10-11:50 | | 5-6 节 | 14:30-16:10 | | 7-8 节 | 16:30-18:10 | | 9-10 节 | 19:00-20:35 | | 11-12 节 | 20:45-22:20 | ### 冬令时(10 月 1 日 - 4 月 30 日) | 节次 | 时间 | |------|------| | 1-2 节 | 08:00-09:40 | | 3-4 节 | 10:10-11:50 | | 5-6 节 | 14:00-15:40 | | 7-8 节 | 16:00-17:40 | | 9-10 节 | 19:00-20:35 | | 11-12 节 | 20:45-22:20 | ## 📁 文件结构 ``` nwafu-task-feishu/ ├── nwafu_task_feishu.py # 主程序脚本 ├── pyproject.toml # Python 项目配置 ├── requirements.txt # Python 依赖 ├── .env.example # 环境变量模板 ├── .gitignore # Git 忽略配置 ├── .editorconfig # 编辑器配置 ├── LICENSE # MIT 许可证 ├── README.md # 项目说明 ├── CHANGELOG.md # 更新日志 ├── CONTRIBUTING.md # 贡献指南 ├── CODE_OF_CONDUCT.md # 行为准则 ├── SECURITY.md # 安全政策 ├── SKILL.md # CoPaw 技能描述 ├── tests/ # 测试目录 │ ├── __init__.py │ └── test_schedule.py └── .github/workflows/ # GitHub Actions └── ci.yml ``` ## 🔐 密钥管理 ### 方式一:.env 文件(推荐) ```bash cp .env.example .env # 编辑 .env 填写密钥 ``` ### 方式二:系统环境变量 ```bash export FEISHU_APP_ID=your_app_id export FEISHU_APP_SECRET=your_app_secret export FEISHU_USER_OPEN_ID=your_open_id ``` ### 方式三:命令行参数 ```bash python nwafu_task_feishu.py --app-id xxx --app-secret xxx --user-id xxx ``` ## ⚠️ 注意事项 1. **密钥安全**:不要将 `.env` 文件提交到 Git 2. **班级名称**:必须与课表中的班级名称完全一致(注意空格) 3. **开学日期**:根据实际校历调整开学日期 4. **任务删除**:删除操作不可恢复,请谨慎使用 5. **时区设置**:服务器时区应设置为 Asia/Shanghai(北京时间) ## 🐛 常见问题 ### Q: 任务创建后看不到? A: 检查 `FEISHU_USER_OPEN_ID` 是否正确,必须使用用户的 open_id ### Q: 时间不对? A: 检查服务器时区是否为 Asia/Shanghai,执行 `date` 查看 ### Q: 班级匹配不到? A: 课表中的班级名称可能有空格差异,用 `--debug` 查看解析结果 ### Q: 夏令时/冬令时切换? A: 脚本自动根据日期判断,5 月 1 日 -9 月 30 日用夏令时,其他用冬令时 ## 📝 示例 ### 示例 1:创建课程任务 ```bash python nwafu_task_feishu.py \ --excel 课表导出.xls \ --class "生技 2402" \ --action create ``` ### 示例 2:创建课程 + 实验任务 ```bash python nwafu_task_feishu.py \ --excel 课表导出.xls \ --lab-excel 实验课表.xls \ --class "生技 2402" \ --action create ``` ### 示例 3:删除所有任务 ```bash python nwafu_task_feishu.py \ --class "生技 2402" \ --delete-all ``` ## 📄 License MIT License - 详见 [LICENSE](LICENSE) 文件 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request!详见 [CONTRIBUTING.md](CONTRIBUTING.md) ## 🔗 链接 - GitHub: https://github.com/caoronglin/nwafu-task-feishu - Issues: https://github.com/caoronglin/nwafu-task-feishu/issues - PyPI: (待发布)
GitHub에서 보기