feat: 实现基于 Cloudflare Worker 的 WPS 表单数据转发至 GoToSocial 功能

This commit is contained in:
2026-01-20 11:16:00 +08:00
commit 2d3be3e2af
4 changed files with 317 additions and 0 deletions

67
README.md Normal file
View File

@@ -0,0 +1,67 @@
# WPS 表单数据推送 -> GoToSocial 机器人
一个 Cloudflare Worker用于将 WPS 表单收集的数据自动推送到 GoToSocial 发布动态。
## 工作流程
用户填写 WPS 表单 → WPS 推送数据 → Cloudflare Worker (本应用) → GoToSocial 发布动态
## 部署步骤
### 1. 安装依赖
本项目使用 [Bun](https://bun.sh/) 作为包管理器。
```bash
bun install
```
### 2. 登录 Cloudflare
执行以下命令,将根据提示在浏览器中登录您的 Cloudflare 账号。
```bash
bun x wrangler login
```
### 3. 设置密钥 (Secrets)
为了安全GoToSocial 的地址和访问令牌需要作为密钥存储在 Cloudflare 中。
```bash
# 1. 设置你的 GoToSocial 实例 API 地址
# 示例: https://your-domain.com/api/v1/statuses
bun x wrangler secret put GOTOSOCIAL_URL
# 2. 设置你的 GoToSocial Bearer Token
# 这是用于 API 认证的访问令牌
bun x wrangler secret put GOTOSOCIAL_TOKEN
```
### 4. (可选) 本地配置
`wrangler.toml` 文件包含本地开发时的配置。
- `GOTOSOCIAL_URL`: 你的 GoToSocial 实例 API 地址。
- `GOTOSOCIAL_VISIBILITY`: 动态的可见性,默认为 `private`。可选值:`public`, `unlisted`, `private`, `direct`
> **注意**: 在生产环境(部署后),配置的密钥 (`secrets`) 会覆盖 `wrangler.toml` 文件中的 `vars` 变量。
### 5. 部署
```bash
bun x wrangler deploy
```
部署成功后Cloudflare 会提供一个 Worker URL格式通常为
`https://wps-gotosocial-bot.你的用户名.workers.dev`
### 6. 配置 WPS 表单
1. 打开你的 WPS 表单,进入 **设置 -> 数据推送**
2.**URL** 输入框中,填入你部署好的 Worker URL并在末尾加上 `/webhook`。最终的 URL 应该像这样:
```
https://wps-gotosocial-bot.你的用户名.workers.dev/webhook
```
3. 点击 **“校验并绑定”**。
4. 绑定成功后WPS 表单的任何新提交都将自动推送到你的 GoToSocial。