文章更新了,之前因为浪浪云有端口转发公众号无法部署嘛,这次直接反代成功了,企业微信也同理
订阅号和服务号区别
个人订阅号 | 个人可申请 | 在收到消息时会回复用户一条消息,回复生成后需要用户主动发消息获取 |
企业服务号 | 企业可申请,同时需要通过认证开通客服接口 | 回复生成后可主动推送给用户 |
下面那订阅号为例
配置文件
根据上次的博客(下面有链接)部署完项目,在配置文件(config.json)文件改参数
COW AI接入到微信 保姆教程 (部署在服务器,插件安装)-CSDN博客
项目配置
在 chatgpt-on-wechat 下打开 config.json文件
cd chatgpt-on-wechat/
vi config.json
然后填写配置文件
用英文输入法状态下点击键盘上的字母 i 开始编辑
"channel_type": "wechatmp",
"use_linkai": true,
"linkai_api_key": "填写你自己key",
"linkai_app_code": "填写你自己code",
"linkai_api_base": "https://api.link-ai.chat",
"wechatmp_app_id": "微信公众平台的appID",
"wechatmp_app_secret": "微信公众平台的appsecret",
"wechatmp_aes_key": "微信公众平台的EncodingAESKey,加密模式需要,如果明文模式就可以空着",
"wechatmp_token": "微信公众平台的Token,你自己随便输入就好",
"wechatmp_port": 80 # 80或者443端口
不会抄答案
修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了
运行
在chat-on-wechat目录下运行python3 app.py项目
python3 app.py
购买虚拟主机反代(浪浪云)
注意:如果你用的不是浪浪云的端口转发这一步可以跳过去
购买一个虚拟主机就好
打开 管理
高级——反向代理
添加代理
不知道NAT服务器IP看这里
保存完,打开首页——打开域名
如果显示这样说明成功了
非浪浪云(端口转发)用户检查
运行完最下面时这样的
然后,服务器地址在浏览器中访问地址后面加上/wx之后返回终端查看是否有正确输出202
这样算是成功了
公众号配置
开发者密码
我们先设置开发者密码 打开 设置与开发——基本配置——开发者密码,点开后就是验证信息了
非浪浪云(端口转发)用户设置白名单
这一步是为了获取获取access_token的
打开设置与开发——安全中心——IP白名单
点开后就是这样的页面
这里要填写我们服务器的公网IP地址
点开我们之前我们购买的云服务器,复制公网IP
这里不用之前的服务器不知道我是没弄好还是别的原因就是不成功,所以在腾讯云免费领了一个,后续我会看看浪浪云可不可以,可行的话,我会更新教程
返回到我们的公众号网站,填写刚才复制的IP地址确认,之后就要扫码验证。之后我们的IP白名单写好了。
配置token
然后打开设置与开发——基本配置 根据下面的图片填写内容即可
非浪浪云(端口转发)
浪浪云(端口转发)
提交之后,会提示token验证成功之后公众号就会有ai回复
服务号
服务号与上述订阅号的接入过程基本相同,略微差异如下:
- 在公众平台申请企业服务号并完成微信认证,在接口权限中确认已获得了 客服接口 的权限
- 在
config.json
中设置"channel_type": "wechatmp_service"
,其他配置与上述订阅号相同 - 交互效果上,即使是较长耗时的回复,也可以主动推送给用户,而无需用户手动获取
补充
启动失败时,请检查80端口是否以被ngnix服务给占用,{ngnix}是网站的php项目服务,该服务会默认占用80端口及443端口也就是http跟https,解决方法如下:
- 诺不使用网站服务可以简单粗暴关闭ngnix服务,之后检查端口是否被占用结束端口进程自动关闭端口服务,命令如下检查端口进程服务:netstat -anp |grep{加端口号},列如netstat -anp |grep 80检查项目进程是否正确启动:ps -ef | grep }注解:进程名-app.py}| grep -v grep,例如:ps -ef | grep app.py | grep -v grep
- 2.弄需要使用网站服务可以使用反向代理,或者是切换网站端口避免占用80或者是443端口
- 诺需要使用网站服务,其次建义将网站使用https端口为443,加ssl证书,强制使用https,将公众号端口设置为80
- 总结:1.正确配置好json与公众号一致,2.检查端口80或者是443是否以被其他服务占用,3.需使用网站建议加ssl开启https
如果浪浪云用户点开域名没有显示,你把服务器关掉就好了
sudo systemctl stop firewalld
sudo systemctl disable firewalld