利用 Cloudflare worker 功能部署自己的微信接口测试号 ChatGPT 机器人
- worker: 接收微信消息回调,并回复用户
- KV: 定时更新微信 access token 并保存
- D1: 保存消息记录用以发给 ChatGPT
- 需要拥有自己的域名并在 Cloudflare 上做 DNS 解析
- 注册 Cloudflare 账号
- 注册 OpenAI 账号并获取 API key
- 安装 wrangler
- clone 本项目并
npm install
安装依赖
- 执行
wrangler kv:namespace create KV
,会得到对应 KV 存储的 id。替换掉wrangler.toml
文件中的<Your KV ID>
- 执行
wrangler d1 create chatgpt-weixin-worker
,会得到对应 D1 数据库的 id。替换掉wrangler.toml
文件中的<Your d1 database id>
- 执行
wrangler d1 execute chatgpt-weixin-worker --file=./schema.sql
向 D1 数据库中创建对应的表 - 登录微信公众平台接口测试账号,将对应的
appID
及appsecret
填入wrangler.toml
文件中的<Your weixin appid>
和<Your weixin secret>
- 用 ChatGPT API key 替换掉
wrangler.toml
中的<Your chatgpt api key>
- 执行
npm run deploy
部署 worker - 到 Cloudflare dashboard 给 worker 配置自定义域名(因为如果是 Cloudflare 提供的 workers.dev 域名的话,腾讯云并不会发送消息回调)
- 将该自定义域名填入 微信公众平台-接口配置信息-URL 中,Token 随意填,点击提交,提示配置成功
- 因为配置了每 30 分钟定时更新微信 access token,所以这时未必会开始第一次执行,可临时修改
wrangler.toml
中的crons = ["*/30 * * * *"]
为crons = ["*/1 * * * *"]
并部署。成功执行第一次之后可修改回原值并再次部署