Skip to content

advent259141/astrbot_plugin_CourseSchedule

Repository files navigation

课程表插件 for AstrBot

这是一个为AstrBot设计的课程表插件,它可以帮助群组成员方便地管理和查询自己以及群友的课程安排。

✨ 功能特性

  • 多种绑定方式:支持通过发送 .ics 日历文件或 WakeUp课程表 分享口令,将个人课表与QQ号绑定。
  • 今日课程查询:快速查看今天还有哪些课程,并以精美的图片形式展示。
  • 群友课程总览:一条指令查看群里所有已绑定用户的课程状态(进行中 / 下一节),方便约饭、约游戏。
  • 本周上课排行:查看本周群友上课时长和节数的排行榜。
  • 智能状态显示:自动判断课程是“进行中”还是“下一节”,并计算剩余/等待时间。
  • 高度定制化
    • 支持显示用户昵称,而非QQ号。
    • 为个人课表、群友课表和排行榜提供三种不同的、精心设计的渲染样式。
    • 自动处理时区,确保时间准确。
    • 支持自定义字体:只需将你喜欢的 .ttf.otf 字体文件放入插件目录,即可自动应用。

📝 命令列表

命令 功能描述
/绑定课表 在群聊中发送此命令,然后根据提示发送你的 .ics 文件或 WakeUp 分享口令来绑定课表。
/查看课表 显示你自己今天接下来要上的课程。
/群友在上什么课 显示群里所有成员当前正在上或下一节要上的课程。
/本周上课排行 显示本周群友上课时长和节数的排行榜。

❓ 如何获取 .ics 文件或 WakeUp 口令?

  • .ics 文件:将你的课表导入课表软件(如 Wakeup课程表 或类似应用),然后从软件的设置中选择“导出”,并导出为日历文件(通常文件后缀为 .ics),即可获得所需文件。
  • WakeUp 口令:在 WakeUp课程表 应用中,选择“分享课表”,然后选择“分享给好友”,复制生成的口令即可。

🖼️ 效果预览

群友课表样式 (/群友在上什么课)

ccee4521fc5822da47458ff04c3086d0

个人课表样式 (/查看课表)

d17a5c9144750086f306a21e795c611b

排行榜样式 (/本周上课排行)

6b2ef146e07647930297672739e15249

⚙️ 文件结构

  • main.py: 插件主逻辑文件。
  • ics_parser.py: 负责解析 .ics 文件和 WakeUp 口令。
  • image_generator.py: 负责生成课程表和排行榜图片。
  • data_manager.py: 负责数据管理。
  • constants.py: 存放插件常量。
  • metadata.yaml: 插件元数据。
  • requirements.txt: Python 依赖。
  • README.md: 你正在阅读的这个文件。

🤝 贡献

欢迎提交 Pull Request 或 Issue 来改进这个插件!

About

简单的课表插件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages