|
| 1 | +# 社团事务临期提醒功能 |
| 2 | + |
| 3 | +## 功能介绍 |
| 4 | + |
| 5 | +社团事务临期提醒功能是 Calendar 插件的一部分,用于帮助社团成员更好地管理即将到期的事务,避免遗漏重要事项。 |
| 6 | + |
| 7 | +## 功能特性 |
| 8 | + |
| 9 | +### 1. 每周汇总预告 |
| 10 | + |
| 11 | +在配置的时间(默认:每周一上午 9:00)发送一条汇总消息,列出接下来一周内即将到期的社团事务。 |
| 12 | + |
| 13 | +**示例消息:** |
| 14 | + |
| 15 | +``` |
| 16 | +📢 社团事务一周预告(10月20日~10月26日) |
| 17 | +以下事务将在一周内到期,请相关负责人提前准备: |
| 18 | +
|
| 19 | +1️⃣ [10月22日] 迎新晚会节目单提交(负责人:李华) |
| 20 | +2️⃣ [10月24日] 社团经费报销材料上交(负责人:张敏) |
| 21 | +3️⃣ [10月25日] 社团展板更新完成(负责人:王强) |
| 22 | +
|
| 23 | +✅ 请大家合理安排时间,确保事项按时完成。 |
| 24 | +—— 社团事务提醒机器人 🤖 |
| 25 | +``` |
| 26 | + |
| 27 | +### 2. 每日临期提醒 |
| 28 | + |
| 29 | +在配置的时间(默认:每天上午 9:00)发送单条提醒消息,提醒明天即将截止的事务。 |
| 30 | + |
| 31 | +**示例消息:** |
| 32 | + |
| 33 | +``` |
| 34 | +⏰ 临期提醒 |
| 35 | +明天(10月25日)截止的社团事务: |
| 36 | +
|
| 37 | +• 社团展板更新完成(负责人:王强) |
| 38 | +
|
| 39 | +请务必在截止前完成相关工作! |
| 40 | +—— 社团事务提醒机器人 🤖 |
| 41 | +``` |
| 42 | + |
| 43 | +## 配置说明 |
| 44 | + |
| 45 | +在插件配置文件中,可以通过 `ClubAffairsReminder` 节点进行配置: |
| 46 | + |
| 47 | +```json |
| 48 | +{ |
| 49 | + "ClubAffairsReminder": { |
| 50 | + "EnableWeeklySummary": true, |
| 51 | + "EnableDailyReminder": true, |
| 52 | + "WeeklySummaryHour": 9, |
| 53 | + "DailyReminderHour": 9, |
| 54 | + "WeeklySummaryDayOfWeek": 1 |
| 55 | + } |
| 56 | +} |
| 57 | +``` |
| 58 | + |
| 59 | +### 配置项说明 |
| 60 | + |
| 61 | +| 配置项 | 类型 | 默认值 | 说明 | |
| 62 | +|--------|------|--------|------| |
| 63 | +| `EnableWeeklySummary` | bool | `true` | 是否启用每周汇总提醒 | |
| 64 | +| `EnableDailyReminder` | bool | `true` | 是否启用每日提醒 | |
| 65 | +| `WeeklySummaryHour` | int | `9` | 每周汇总发送时间(小时,0-23) | |
| 66 | +| `DailyReminderHour` | int | `9` | 每日提醒发送时间(小时,0-23) | |
| 67 | +| `WeeklySummaryDayOfWeek` | int | `1` | 每周汇总发送在星期几(0=周日,1=周一,...,6=周六) | |
| 68 | + |
| 69 | +## 负责人信息提取 |
| 70 | + |
| 71 | +系统会自动从事务描述中提取负责人信息。支持以下格式: |
| 72 | + |
| 73 | +- `负责人:张三` |
| 74 | +- `负责人:张三` |
| 75 | +- `责任人:张三` |
| 76 | +- `责任人:张三` |
| 77 | + |
| 78 | +## 过滤规则 |
| 79 | + |
| 80 | +提醒消息遵循现有的 `ReminderGroups` 配置,支持白名单、黑名单和默认模式: |
| 81 | + |
| 82 | +- **Default(默认)**:发送所有事务提醒 |
| 83 | +- **WhiteList(白名单)**:仅发送包含指定关键词的事务 |
| 84 | +- **BlackList(黑名单)**:不发送包含指定关键词的事务 |
| 85 | + |
| 86 | +关键词匹配会检查事务的概要(Summary)、描述(Description)和地点(Location)字段。 |
| 87 | + |
| 88 | +## 工作原理 |
| 89 | + |
| 90 | +1. 系统每小时检查一次当前时间 |
| 91 | +2. 在配置的时间点,检查是否需要发送提醒 |
| 92 | +3. 使用日期记录防止同一天重复发送 |
| 93 | +4. 根据过滤规则筛选要发送的群组和事务 |
| 94 | +5. 自动提取负责人信息并格式化消息 |
| 95 | + |
| 96 | +## 注意事项 |
| 97 | + |
| 98 | +- 提醒功能需要正确配置 `ReminderGroups` 才能发送消息 |
| 99 | +- 系统使用网络时间(NetworkTime)确保时间准确性 |
| 100 | +- 日历数据需要成功同步才能发送提醒 |
| 101 | +- 如果某一天没有即将到期的事务,不会发送空消息 |
0 commit comments