chatgpt 刚出时就体验了一下,并且写了一个飞书机器人在飞书上使用至今,感觉还挺方便。最近想起自己还有一个 n 年没用过的阿里云服务器和一个已冻结的微信公众号,便想着废物利用,在微信上也搞一个 chatgpt 的机器人。
通过本文你能获得什么
-
属于自己的 chatgpt 微信机器人
-
熟悉微信公众号的 golang 服务开发过程
前置条件
- 服务器一台
- chatgpt 注册账号
- 申请一个微信公众号
- 在服务器安装好 Git 和最新 Go 版本
以上每一个步骤对于小白来说都会比较繁琐,但这就是折腾的乐趣
部署服务
-
克隆仓库到服务器,仓库地址
git clone https://github.com/he2121/chatgpt_weixin.git
代码其实很简单,只有三个文件
- main.go: 使用 gin 起一个 HTTP 服务,作为微信公众号的回调地址
- weixin.go: 使用 微信SDK 监听消息,返回消息
- gpt.go: 封装了下 open-ai 的 HTTP 请求
发送消息的总链路:用户私聊公众号 -> 公众号后台 -> 自己的服务器 -> open-ai
返回结果则是上述逆向过程
-
代码参数设置
weixin.go 文件里有如下四个参数需要设置
从微信公众号后台 基础配置页面 可以获取到所有参数
- 这里可以加白名单,把自己服务器的 IP 加上
- token 随便填,只要和页面一致就行,不是指 access_token
- URL 端口号必须 80
chatgpt.go 文件里有如下参数需要设置
在 chatgpt setting 页面 获取
- 在克隆下来的仓库内,执行以下命令,启动服务
go build
./chatgpt_weixin
- 从微信公众号后台 基础配置页面 可以获取到所有参数设置好服务器 URL,通过校验并启动。
- 私聊公众号测试,通过服务日志排查问题。
总结
-
公众号回复必须 5 s 内,chatgpt 国内访问又慢,经常超时,微信公众号使用异步接口发送消息又比较复杂。(只能说微信公众号真难用,飞书真香)
-
关注 小贺coding 公众号,可体验一下 chatgpt,免费额度不多了(后续很可能使用不了/支持氪金使用),还是推荐自己搭建自己的服务哦