ChatGPT+node微信公众号接入

扫码体验:(已无法体验,国内屏蔽严重,镜像地址已被封禁,我也不想花钱整国外服务器)

仓库:https://gitee.com/netzhouxiang/chat-gpt

注意:目前api.openai.com域名已被拦截,如果需要可以走代理,大家娱乐就好,别当正经事情做,我仓库里用的替代地址,而且因网络和机器人反应慢等问题,微信超五秒就会服务故障,所以我还增加了未读功能,如果是服务器可以通过主动推送消息,我这是订阅号只能发一下回一条,有需要的自己改进

效果如下:

接入官网API现在很简单

1、使用梯子,加国外短信验证,注册openai账号;

2、登录进去后点开API VIEWS ,创建key;

3、使用key调用官方接口即可,下面是node调用代码:

this.requestChatGPT = function(msg){
        const access_token = "通过openai获取的KEY";
        return new Promise(function(resolve,reject){
            const data = JSON.stringify({
                'messages': [{"role": "user", "content": escape(msg)}],
                'model': 'gpt-3.5-turbo-0301',
            })
            //设置 https.request  options 传入的参数对象
            var options={
                //目标主机地址
                hostname: 'api.openai.com',
                port: 443,
                //目标地址 
                path: '/v1/chat/completions',
                //请求方法
                method: 'POST',
                timeout: 4000,
                //头部协议
                headers: {
                    'Content-Type': 'application/json',
                    'Content-Length': data.length,
                    'Authorization': 'Bearer ' + access_token,
                }
            };
            var req = https.request(options,function(res){
                var buffer = [],result = '';
                //用于监听 data 事件 接收数据
                res.on('data',function(data){
                    buffer.push(data);
                });
                 //用于监听 end 事件 完成数据的接收
                res.on('end',function(){
                    result = Buffer.concat(buffer).toString('utf-8');
                    console.log("result");
                    console.log(result);
                    resolve(result);
                })
            })
            //监听错误事件
            .on('error',function(err){
                reject(err);
            });
            req.setTimeout(4000,()=>{
                reject();
            })
            //传入数据
            req.write(data);
            req.end();
        });
    }

4、在github找到 wechatbynode 开源项目,然后下载,并按要求修改配置文件;(因这块有成熟的代码,就不手动编写)

5、打开代码,增加第三步方法,然后修改公众号配置,在消息回调处做处理即可,源代码在下面: