更新 README.md,移除已删除文档的引用

This commit is contained in:
饭团
2026-03-06 14:29:54 +08:00
parent be5400c39e
commit 85b9b95441

201
README.md
View File

@@ -24,12 +24,18 @@
"tenant": [ "tenant": [
"im:message", "im:message",
"im:message:readonly", "im:message:readonly",
"im:resource",
"im:message.p2p_msg:readonly",
"cardkit:card:read",
"cardkit:card:write",
"cardkit:template:read",
"aily:file:read", "aily:file:read",
"aily:file:write" "aily:file:write"
], ],
"user": [ "user": [
"aily:file:read", "aily:file:read",
"aily:file:write" "aily:file:write",
"im:message.p2p_msg:get_as_user"
] ]
} }
} }
@@ -39,15 +45,15 @@
|---------|------| |---------|------|
| `im:message` | 发送消息 | | `im:message` | 发送消息 |
| `im:message:readonly` | 读取消息 | | `im:message:readonly` | 读取消息 |
| `aily:file:read` | 读取文件 | | `im:resource` | **关键**:访问消息中的资源(文件 |
| `aily:file:write` | 写入文件 | | `im:message.p2p_msg:readonly` | 读取私聊消息 |
| `cardkit:*` | 发送交互式卡片 |
| `aily:file:*` | 文件读写 |
详细权限配置请查看 [`FEISHU_PERMISSIONS.md`](./FEISHU_PERMISSIONS.md) 详细权限配置请查看 [`FEISHU_SCOPES.md`](./FEISHU_SCOPES.md)
### 3. 配置事件订阅 ### 3. 配置事件订阅
**方式一HTTP 回调(默认)**
1. 进入"事件订阅"页面 1. 进入"事件订阅"页面
2. 选择 **"HTTP 回调"** 方式 2. 选择 **"HTTP 回调"** 方式
3. 开启"启用事件订阅" 3. 开启"启用事件订阅"
@@ -56,26 +62,13 @@
- `im.message.receive_v1` - 接收消息 - `im.message.receive_v1` - 接收消息
6. 保存后复制 Verification Token 和 Encrypt Key 6. 保存后复制 Verification Token 和 Encrypt Key
**方式二WebSocket 长连接(内网推荐)** > **💡 提示:** 也可以使用 WebSocket 长连接模式(不需要公网 IP在 `.env` 中设置 `FEISHU_MODE=websocket`
1. 进入"事件订阅"页面
2. 选择 **"WebSocket 长连接"** 方式
3. 开启"启用事件订阅"
4. 配置订阅事件:
- `im.message.receive_v1` - 接收消息
5. 保存后复制 Verification Token 和 Encrypt Key
6.`.env` 中设置 `FEISHU_MODE=websocket`
> **💡 提示:** WebSocket 模式不需要公网 IP适合内网部署。
>
> 详细配置请查看 [`WEBSOCKET.md`](./WEBSOCKET.md)
### 4. 配置机器人 ### 4. 配置机器人
1. 进入"机器人"页面 1. 进入"机器人"页面
2. 开启"启用机器人" 2. 开启"启用机器人"
3. 配置机器人名称和头像 3. 配置机器人名称和头像
4. 在"消息已读状态"中开启"获取用户已读状态"(可选)
### 5. 安装应用 ### 5. 安装应用
@@ -87,32 +80,7 @@
## 📦 部署 ## 📦 部署
### 🐧 Linux / 🍎 macOS ### 🐳 Docker推荐
```bash
# 一键启动
chmod +x start.sh
./start.sh
# 或手动部署
npm install
cp .env.example .env
npm start
```
### 🪟 Windows
```cmd
# 双击运行
start.bat
# 或手动部署
npm install
copy .env.example .env
npm start
```
### 🐳 Docker所有平台
```bash ```bash
# 构建镜像 # 构建镜像
@@ -127,48 +95,42 @@ docker run -d \
qiniu-feishu-bot qiniu-feishu-bot
``` ```
### 🌐 Nginx 反向代理(生产环境推荐) ### 🐧 Linux / 🍎 macOS
**特点:**
- ✅ 不占用 80/443 端口Node.js 应用使用 3030 端口)
- ✅ 支持多域名部署(与其他应用共享 Nginx
- ✅ 支持 HTTPS 配置
详细配置请查看 [`NGINX.md`](./NGINX.md)
```bash ```bash
# 快速配置 # 安装依赖
sudo nano /etc/nginx/sites-available/qiniu-bot npm install
# 复制 NGINX.md 中的配置
sudo ln -s /etc/nginx/sites-available/qiniu-bot /etc/nginx/sites-enabled/ # 复制环境变量
sudo nginx -t cp .env.example .env
sudo systemctl restart nginx
# 编辑配置
nano .env
# 启动服务(使用 PM2
pm2 start pm2.config.cjs
# 查看日志
pm2 logs qiniu-bot
``` ```
**Nginx 配置示例(多域名):** ### 🪟 Windows
```nginx ```cmd
# 七牛云上传机器人 # 安装依赖
server { npm install
listen 80;
server_name qiniu.your-domain.com; # 独立域名
location /feishu/event { # 复制环境变量
proxy_pass http://127.0.0.1:3030/feishu/event; copy .env.example .env
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 其他应用 # 编辑配置
server { notepad .env
listen 80;
server_name other.your-domain.com;
location / { # 启动服务(使用 PM2
proxy_pass http://127.0.0.1:4000; pm2 start pm2.config.cjs
}
} # 查看日志
pm2 logs qiniu-bot
``` ```
--- ---
@@ -185,8 +147,6 @@ FEISHU_VERIFICATION_TOKEN=xxxxxxxxxxxxxx
FEISHU_ENCRYPT_KEY=xxxxxxxxxxxxxx FEISHU_ENCRYPT_KEY=xxxxxxxxxxxxxx
# 飞书事件接收模式http (HTTP 回调) 或 websocket (WebSocket 长连接) # 飞书事件接收模式http (HTTP 回调) 或 websocket (WebSocket 长连接)
# - http: 需要公网 IP/域名,配置简单
# - websocket: 不需要公网 IP内网可用
FEISHU_MODE=http FEISHU_MODE=http
# 七牛云配置(可选,也可通过卡片配置) # 七牛云配置(可选,也可通过卡片配置)
@@ -213,6 +173,20 @@ NODE_ENV=production
"region": "z0", "region": "z0",
"domain": "https://your-cdn-domain.com" "domain": "https://your-cdn-domain.com"
} }
},
"uploadPaths": {
"原文件名": "",
"ipa": "/ipa/gamehall_jinxianv2.ipa"
},
"uploadProfiles": {
"默认": {
"bucket": "default",
"path": ""
},
"IPA 上传": {
"bucket": "default",
"path": "ipa"
}
} }
} }
``` ```
@@ -221,22 +195,31 @@ NODE_ENV=production
## 💡 使用方式 ## 💡 使用方式
### 命令触发 ### 常用命令
| 命令 | 说明 | | 命令 | 说明 |
|------|------| |------|------|
| `/upload` | 上传文件到七牛云 | | `/upload` | 开始上传流程 |
| `/upload --original` | 使用原文件名上传 | | `/config list` | 查看存储桶配置 |
| `/config` | 管理七牛云配置 | | `/path list` | 查看预设路径 |
| `/help` | 查看帮助 | | `/path add <名称> <路径>` | 添加预设路径 |
| `/profile list` | 查看上传配置模板 |
| `/profile add <名称> <桶> [路径]` | 添加上传配置 |
| `/profile remove <名称>` | 删除上传配置 |
| `/help` | 查看详细帮助 |
### 卡片交互 ### 使用流程
发送任意消息给机器人,会收到交互式卡片: **方式 1选择配置 → 发送文件**
1. 发送 `/upload`
2. 选择上传配置
3. 发送文件
4. 确认上传
- 📎 **选择文件** - 点击后上传附件 **方式 2发送文件 → 选择配置**
- ⚙️ **配置** - 管理七牛云配置 1. 直接发送文件
-**帮助** - 查看使用说明 2. 选择上传配置
3. 确认上传
--- ---
@@ -247,23 +230,18 @@ qiniu-feishu-bot/
├── src/ ├── src/
│ ├── index.js # 主入口 │ ├── index.js # 主入口
│ ├── feishu-api.js # 飞书 API 封装 │ ├── feishu-api.js # 飞书 API 封装
── qiniu-uploader.js # 七牛云上传 ── qiniu-uploader.js # 七牛云上传
│ └── cards/ # 卡片模板
│ ├── upload-card.js # 上传卡片
│ └── config-card.js # 配置卡片
├── config/ ├── config/
│ └── qiniu-config.json.example │ └── qiniu-config.json # 七牛云配置
├── .env.example ├── .env # 环境变量
├── .env.example # 环境变量示例
├── .env.production # 生产环境配置
├── .gitignore ├── .gitignore
├── Dockerfile ├── Dockerfile
├── package.json ├── package.json
├── start.sh # Linux/macOS 启动脚本 ├── pm2.config.cjs # PM2 配置
├── start.bat # Windows 启动脚本
├── README.md # 项目说明 ├── README.md # 项目说明
── DEPLOY.md # 详细部署指南Linux/macOS/Windows ── FEISHU_SCOPES.md # 飞书权限配置
├── WINDOWS.md # Windows 专用指南
├── NGINX.md # Nginx 反向代理部署指南
└── WEBSOCKET.md # WebSocket 长连接模式配置指南
``` ```
--- ---
@@ -275,21 +253,18 @@ qiniu-feishu-bot/
1. 检查七牛云配置是否正确 1. 检查七牛云配置是否正确
2. 确认存储桶区域代码匹配 2. 确认存储桶区域代码匹配
3. 检查 AccessKey/SecretKey 权限 3. 检查 AccessKey/SecretKey 权限
4. 在七牛云控制台关闭存储桶的"防覆盖"设置
### 消息无响应 ### 消息无响应
1. 检查事件订阅配置 1. 检查事件订阅配置
2. 确认服务器可被飞书访问(需要公网 IP 2. 确认服务器可被飞书访问(HTTP 模式需要公网 IP
3. 查看日志输出 3. 查看日志`pm2 logs qiniu-bot`
4. 检查飞书应用权限是否已授权
### 文件无法覆盖 ### 文件下载失败
在七牛云控制台关闭存储桶的"防覆盖"设置 确保已添加 `im:resource` 权限,该权限用于访问消息中的文件资源
### 跨平台问题
- **Windows**: 查看 [`WINDOWS.md`](./WINDOWS.md)
- **Linux/macOS**: 查看 [`DEPLOY.md`](./DEPLOY.md)
--- ---