从 0 开始最详细的微信大众号接入 AI
作者的相关文章:
- 从 0 开始最详细的布置自己的微信机器人
- 微信小程序接入 ChatGPT 完成 AI 画图
- ChatGPT插件:让你的 ChatGPT 与众不同!
注意:由于微信大众号接口有回复时间限制,所以作者试了一下运用 openai 的接口,发现假如问一些杂乱的问题必定会超过限制,然后就会在微信窗口提示:
该大众号提供的服务出现故障,请稍后再试
所以作者找了一下国内的 AI 接口,详细能够看这里,当然必定还要很多,然后找了一个免费的接口:青云客智能聊天机器人,我们能够测验其他的。
写在前面
想要布置到微信大众号非常简单,只需以下四步,所以我们要看到最终啊:
- 注册一个大众号
- 克隆这个项目到自己的服务器
- 填写
config.js
文件 - 发动项目
假如是新的服务器,那么需求装置 node,npm,pm2,详细指令如下:
- 装置node 和 npm :
curl -sL https://deb.nodesource.com/setup_19.x | sudo -E bash -
sudo apt-get install -y nodejs
# 装置后
node -v
npm -v
- 装置 pm2:
npm i pm2 -g
注册大众号
- 详细步骤能够参阅注册微信大众号,我们应该能自己完成的
克隆到服务器
运用过微信机器人项目
假如你之前克隆过作者那个微信机器人的项目,那么能够依照如下操作克隆这个项目,作者已经将项目同步至 Gitee 了,这样服务器就能快速下载:
# []内的地址换成你之前克隆微信机器人的根目录,比方作者把那个ChatGPT项目放在了/usr/karl下
mkdir [/usr/karl]/Wechat-Official-Account
cd [/usr/karl]/Wechat-Official-Account
git clone -b wechat https://gitee.com/karl_fang/ChatGPT.git
cp -r ./ChatGPT/. ./
rm -rf ChatGPT/
npm i
克隆完成后,/usr/karl
下就有 ChatGPT 和 **Wechat-Official-Account ** 两个项目,一个是微信机器人的,一个是微信大众号的。
创建好后这是作者的目录结构
.
├── usr
├── karl
├── ChatGPT
└── Wechat-Official-Account
未运用过微信机器人项目
假如你没运用过微信机器人项意图话,克隆该项目是不会有冲突的,所以只需进入你想克隆的目录下运转如下指令即可:
git clone -b wechat https://gitee.com/karl_fang/ChatGPT.git
更改装备文件
config.js
装备文件如下:
module.exports = {
TOKEN: "", // token,自己填的
APPID: "", // 注册好大众号后会给你
SECRET: "", // 注册好大众号后会给你
PORT: 80, // 端口号,http -> 80, https -> 443
}
首先是 TOKEN,需求挑选 接本装备->服务器装备->提交
,假如你的接口服务验证经过会自动保存,否则会提示装备失利,装备成功后将令牌填入即可,过程如下:
图中能够看到要填服务器地址,加解密的密钥点击随机生成就行了,由于这运用的明文模式,所以密钥就没啥用了,加密模式我还没研讨,感觉也没啥用,你问机器人总不能把你信息给走漏出来吧️?
假如你不需求运用微信提供的服务接口,那么就不需求填写 APPID 和 SECRET,我们能够自己在作者代码的基础上进行更改,增加自己的功能,同时作者提供了获取 access token
的类,便利今后想运用微信服务时可快速获取 access token
,直接调用 fetchAccessToken
办法即可。
最终,假如你的地址是 http 协议,那么填写 80,否则就 443,微信大众号的接口只能选这两个端口号,其他的都不可。
发动项目
在本项意图根目录运转如下指令:pm2 start index.js
,然后就好啦,是不是很简单?下面是接入后的作用:
对了,假如想更改重视自己大众号时的内容,能够在 wechat/auth.js
中的第 45 行进行更改,也就是如下示例:
if (message.Event === 'subscribe') {
options.msg = `重视时显示你自己的文字`; // 第 45 行
}
这里放上我自己大众号,我们喜爱的能够重视一下哈,也能够搜索同名小程序,可是是专门给作者女朋友私人订制的,或许大部分功能对我们没什么用,可是感兴趣也能够看看:
更换机器人接口
假如你想更换自己的机器人接口,能够在 wechat/request.js
中进行更改,原内容如下:
const request = require('request');
// 机器人接口的API,此处运用的青云客机器人,也能够运用其他的API
const URL = "换成你自己想要的接口 URL 地址";
module.exports = payload => {
// payload 是一个对象,依照接口的需求自己加参数吧
return new Promise((resolve, reject) => {
request.get(`${URL}${encodeURI(payload.msg)}`, function (error, response, body) {
if (error) reject('request failed: ' + error);
// 处理收到的 body 内容,比方处理换行,字符串转对象等等,只需将处理结果回来即可
const result = ...;
resolve(result);
});
})
}
其他的就不需求更改了,这样增加了可维护性。
写在最终
假如喜爱的话能够保藏这个专栏,或者能够点赞➕保藏➕重视