refactor(core): ♻️ 重构 Telegram Bot 消息删除逻辑

实现更灵活的消息管理功能,包括支持单条删除、批量删除以及全量清空话题历史。

- 重构 tg-bot.js 中的删除指令解析逻辑
- 新增 handleAdminDeleteAll 处理全量删除请求
- 支持通过 /del N 指令进行批量删除
- 更新 README.md 文档,补充管理员侧的操作说明和权限说明
- 优化管理员编辑消息时的通知逻辑

此更改提高了管理员维护群组话题的效率,并清晰化了用户与管理员的权限边界。
This commit is contained in:
2026-05-05 00:11:45 +08:00
parent 4d66046d96
commit 4cd98f7fb3
2 changed files with 156 additions and 9 deletions

View File

@@ -66,9 +66,12 @@
- 内置 Telegram 管理面板,主管理员通过 `/start` 打开
### 双向消息删除
- **用户侧**:引用自己发送的消息,发送 `/del` 命令,可以删除该消息并通知管理员
- **管理员侧**在 topic 中引用消息,发送 `/del` 命令,可以同时删除用户侧和管理员侧的消息
- **权限控制**:用户只能删除自己发送的消息,无法删除管理员回复的消息
- **用户侧**:引用自己发送的消息,发送 `/del` 命令,可以删除该消息并通知管理员
- **管理员侧**
- **单条删除**:在 topic 中引用消息,发送 `/del` 命令,可以同时删除用户侧和管理员的消息
- **批量删除**:直接发送 `/del N`(如 `/del 3`),可删除当前话题内最近的 N 条消息(仅限管理员使用)。
- **全量清空**:主管理员可使用 `/del all` 清空当前话题的所有历史消息。
- **权限控制**:用户只能删除自己发送的消息,无法删除管理员回复的消息;批量删除功能仅对管理员开放。
## 运行环境
@@ -227,8 +230,11 @@ curl -X POST "https://api.telegram.org/bot<BOT_TOKEN>/setWebhook" \
8. **引用消息**:用户可以使用 `>``》``&gt;` 开头来引用之前的内容。
9. **删除消息**
- **用户侧**:引用自己发送的消息,发送 `/del` 命令,可以删除该消息并通知管理员。
- **管理员侧**在 topic 中引用消息,发送 `/del` 命令,可以同时删除用户侧和管理员侧的消息。
- **注意**:用户只能删除自己发送的消息,无法删除管理员回复的消息
- **管理员侧**
- 引用消息发送 `/del`:删除指定的单条双向记录
- 直接发送 `/del N`:删除当前话题内最近的 N 条消息(例如 `/del 5`)。
- 主管理员发送 `/del all`:清空当前话题的所有历史记录。
- **注意**:用户只能删除自己发送的消息,无法删除管理员回复的消息;批量删除功能仅对管理员开放。
### 特殊语法
- **引用块**:以 `>``》``&gt;` 开头的文本会被渲染为 HTML 引用块