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