feat(telegram): 新增 Telegram 机器人通知与快捷审核功能
- 新增 Telegram 通知功能,支持通过机器人接收新评论通知 - 在 Telegram 消息中提供“批准”和“删除”按钮,支持快捷审核 - 新增后台 Telegram 设置页面,支持配置 Bot Token、Chat ID 和开关 - 新增 `/api/telegram/webhook` 端点处理按钮回调 - 更新邮件通知逻辑,统一使用评论设置中的 `adminEmail` 作为收件人 - 更新相关文档,包括功能说明和 API 文档
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
邮件通知配置接口用于获取和更新 SMTP 配置、邮件模板以及测试邮件发送功能。
|
||||
|
||||
新评论的邮件通知会发送到「评论设置」(`/admin/settings/comments`) 中配置的管理员邮箱(`adminEmail`),无需在本接口中单独设置收件邮箱。
|
||||
|
||||
所有接口都需要在请求头中携带 Bearer Token。
|
||||
|
||||
```http
|
||||
@@ -194,10 +196,10 @@ POST /admin/settings/email-test
|
||||
|
||||
字段说明:
|
||||
|
||||
| 字段名 | 类型 | 必填 | 说明 |
|
||||
| ----------- | ------ | ---- | ------------------------------------ |
|
||||
| `toEmail` | string | 是 | 接收测试邮件的邮箱地址 |
|
||||
| `smtp` | object | 是 | SMTP 配置对象(与更新配置接口相同) |
|
||||
| 字段名 | 类型 | 必填 | 说明 |
|
||||
| --------- | ------ | ---- | ------------------------------------ |
|
||||
| `toEmail` | string | 是 | 接收测试邮件的邮箱地址 |
|
||||
| `smtp` | object | 是 | SMTP 配置对象(与更新配置接口相同) |
|
||||
|
||||
**成功响应**
|
||||
|
||||
@@ -247,7 +249,7 @@ GET /admin/settings/email
|
||||
获取当前通知邮箱配置。
|
||||
|
||||
> [!NOTE]
|
||||
> 此接口已被 `/admin/settings/email-notify` 替代,建议使用新接口获取完整的邮件通知配置。
|
||||
> 此接口已被 `/admin/settings/email-notify` 替代,且管理员通知邮箱已统一由 `/admin/settings/comments` 中的 `adminEmail` 提供,不再推荐使用本接口。
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/admin/settings/email`
|
||||
@@ -282,7 +284,7 @@ PUT /admin/settings/email
|
||||
设置通知邮箱,用于接收新评论提醒。
|
||||
|
||||
> [!NOTE]
|
||||
> 此接口已被 `/admin/settings/email-notify` 替代,建议使用新接口获取完整的邮件通知配置。
|
||||
> 此接口已被 `/admin/settings/email-notify` 替代,且通知收件邮箱已统一使用评论配置中的 `adminEmail`,不再推荐调用本接口。
|
||||
|
||||
- 方法:`PUT`
|
||||
- 路径:`/admin/settings/email`
|
||||
|
||||
@@ -43,7 +43,7 @@ GET /admin/settings/comments
|
||||
|
||||
| 字段名 | 类型 | 说明 |
|
||||
| ---------------- | --------------- | --------------------------------------------------------- |
|
||||
| `adminEmail` | string | 博主邮箱地址,用于显示"博主"标识以及管理员身份验证 |
|
||||
| `adminEmail` | string | 博主邮箱地址,用于显示"博主"标识、管理员身份验证以及接收新评论邮件通知 |
|
||||
| `adminBadge` | string | 博主标识文字,例如 `"博主"` |
|
||||
| `avatarPrefix` | string | 头像地址前缀,如 Gravatar 或 Cravatar 镜像地址 |
|
||||
| `adminEnabled` | boolean | 是否启用博主标识相关展示 |
|
||||
|
||||
78
docs/api/admin/telegram-notify.md
Normal file
78
docs/api/admin/telegram-notify.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Telegram 通知设置
|
||||
|
||||
Telegram 通知设置接口用于获取和更新 Telegram 机器人的配置,包括 Bot Token、Chat ID 以及 Webhook 设置。
|
||||
|
||||
所有接口都需要在请求头中携带 Bearer Token。
|
||||
|
||||
```http
|
||||
Authorization: Bearer <token>
|
||||
```
|
||||
|
||||
## 1.1 获取 Telegram 配置
|
||||
|
||||
```
|
||||
GET /admin/settings/telegram
|
||||
```
|
||||
|
||||
获取当前的 Telegram 通知配置。
|
||||
|
||||
- 方法:`GET`
|
||||
- 路径:`/admin/settings/telegram`
|
||||
- 鉴权:需要(Bearer Token)
|
||||
|
||||
**成功响应**
|
||||
|
||||
- 状态码:`200`
|
||||
|
||||
```json
|
||||
{
|
||||
"botToken": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
|
||||
"chatId": "123456789",
|
||||
"notifyEnabled": true
|
||||
}
|
||||
```
|
||||
|
||||
## 1.2 更新 Telegram 配置
|
||||
|
||||
```
|
||||
PUT /admin/settings/telegram
|
||||
```
|
||||
|
||||
更新 Telegram 通知配置。
|
||||
|
||||
- 方法:`PUT`
|
||||
- 路径:`/admin/settings/telegram`
|
||||
- 鉴权:需要(Bearer Token)
|
||||
|
||||
**请求体**
|
||||
|
||||
```json
|
||||
{
|
||||
"botToken": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
|
||||
"chatId": "123456789",
|
||||
"notifyEnabled": true
|
||||
}
|
||||
```
|
||||
|
||||
## 1.3 一键设置 Webhook
|
||||
|
||||
```
|
||||
POST /admin/settings/telegram/setup
|
||||
```
|
||||
|
||||
自动设置 Telegram Webhook URL。此接口会使用当前 Worker 的域名构建 Webhook URL 并调用 Telegram API。
|
||||
|
||||
- 方法:`POST`
|
||||
- 路径:`/admin/settings/telegram/setup`
|
||||
- 鉴权:需要(Bearer Token)
|
||||
|
||||
**成功响应**
|
||||
|
||||
- 状态码:`200`
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "Webhook 设置成功",
|
||||
"webhookUrl": "https://your-domain.com/api/telegram/webhook"
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user