这是一个为AstrBot设计的课程表插件,它可以帮助群组成员方便地管理和查询自己以及群友的课程安排。
- 多种绑定方式:支持通过发送
.ics日历文件或 WakeUp课程表 分享口令,将个人课表与QQ号绑定。 - 今日课程查询:快速查看今天和明天还有哪些课程,并以精美的图片形式展示。
- 群友课程总览:一条指令查看群里所有已绑定用户的课程状态(进行中 / 下一节),方便约饭、约游戏。
- 本周上课排行:查看本周群友上课时长和节数的排行榜。
- 智能状态显示:自动判断课程是“进行中”还是“下一节”,并计算剩余/等待时间。
- 高度定制化:
- 支持显示用户昵称,而非QQ号。
- 为个人课表、群友课表和排行榜提供三种不同的、精心设计的渲染样式。
- 自动处理时区,确保时间准确。
- 支持自定义字体:只需将你喜欢的
.ttf或.otf字体文件放入插件目录,即可自动应用。
| 命令 | 功能描述 |
|---|---|
/绑定课表 |
在群聊中发送此命令,然后根据提示发送你的 .ics 文件或 WakeUp 分享口令来绑定课表。 |
/查看课表 |
显示你自己今天接下来要上的课程。 |
/查看明日课表 |
显示你自己明天要上的课程。 |
/群友在上什么课 |
显示群里所有成员当前正在上或下一节要上的课程。 |
/群友明天上什么课 |
显示群里所有成员明天要上的课程。 |
/本周上课排行 |
显示本周群友上课时长和节数的排行榜。 |
- .ics 文件:将你的课表导入课表软件(如 Wakeup课程表 或类似应用),然后从软件的设置中选择“导出”,并导出为日历文件(通常文件后缀为
.ics),即可获得所需文件。 - WakeUp 口令:在 WakeUp课程表 应用中,选择“分享课表”,然后选择“分享给好友”,复制生成的口令即可。
群友课表样式 (/群友在上什么课)
个人课表样式 (/查看课表)
排行榜样式 (/本周上课排行)
- 顶层文件
main.py— 插件入口与主逻辑,处理命令路由与核心流程。constants.py— 常量与配置默认值(字符串、路径、默认选项等)。ics_parser.py— 解析.ics日历文件与 WakeUp 分享口令,归一化为内部课程数据结构。schedule_helper.py— 与课程调度/时间计算相关的辅助函数(判断进行中/下一节、时区处理、节次计算等)。image_generator.py— 将课程数据渲染为图片(个人课表、群友总览、排行榜等)。data_manager.py— 数据存取与持久化(用户绑定信息、导入的日历内容等)。metadata.yaml— 插件元信息(名称、版本、作者、权限等)。requirements.txt— 项目依赖清单。README.md— 本说明文档。LICENSE— 项目许可证文件。
欢迎提交 Pull Request 或 Issue 来改进这个插件!


