Skip to content

Commit 94d4a78

Browse files
authored
Merge pull request #13 from nbtca/copilot/add-club-reminder-feature
增加社团事务的临期提醒功能
2 parents cb89eda + 8067d58 commit 94d4a78

4 files changed

Lines changed: 607 additions & 1 deletion

File tree

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
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

Comments
 (0)