最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于Wechaty实现微信接入ChatGPT

业界 admin 11浏览 0评论

引言与效果

Wechaty 是一个开源的对话SDK,可以快速接入AI,本文章旨在教学如何用Wechaty实现微信接入GPT,最终实现效果如下:


Wechaty机器人介绍

Wechaty 是一个开源的的对话机器人 SDK。

在GitHub上可以找到很多支持微信个人号接入的第三方类库,其中大多都是基于Web Wechat的API来实现的,如基于Python的WeixinBot,基于Node.js的Wechaty等。

少数支持非Web协议的库,大多是商业私有闭源的,Wechaty是少有的开源项目支持非Web协议的类库。

只需要6行代码,你就可以搭建一个 微信机器人功能 ,用来自动管理微信消息。

import { Wechaty } from 'wechaty'

Wechaty.instance()
.on('scan',        qrcode  => console.log('扫码登录:' + qrcode))
.on('login',       user    => console.log('登录成功:' + user))
.on('message',     message => console.log('收到消息:' + message))
.on('friendship',  friendship => console.log('收到好友请求:' + friendship))
.on('room-invite', invitation => console.log('收到入群邀请:' + invitation))
.start()

更多功能请看官方文档:介绍 | 中文版 | Wechaty (gitbook.io)


Wechaty部署

第一步:从GitHub上获取Wechaty项目
  1. 去GitHub上拉取Wechaty项目
    • 访问 Wechaty的GitHub页面。
    • 你可以直接下载源代码,或者使用Git克隆项目:
      git clone https://github/wechaty/wechaty.git
第二步:安装Node.js
  1. 下载Node.js
    • 访问 Node.js官网 下载Node.js,推荐使用16.*版本。
第三步:安装依赖
  1. 安装项目依赖
    • 打开终端,切换到 wechaty 项目的根目录。
    • 执行 npm install 安装项目依赖。
    • 执行 npm install axios 安装axios库,用于发送HTTP请求。
第四步:启动机器人
  1. 启动你的微信机器人
    • 在项目根目录下,运行 npm start
    • 如果一切正常,你会看到一个二维码。
第五步:登录微信
  1. 用微信扫描二维码
    • 打开微信,扫描显示的二维码进行登录。
第六步:测试机器人
  1. 发送测试消息
    • 用另外一台手机发送消息 "ding" 给你登录了机器人的微信账号。
    • 如果机器人回复了 "dong",那么恭喜你,搭建成功!


接入GPT

申请一下令牌,假如你能科学,也有官方账号,可以跳过这一步

 拿到令牌后,我们就可以进行接入了,打开你机器人目录下

wechaty-main\wechaty-main\examples里的ding-dong-bot

对 onMessage (msg: Message) 方法进行改写:

const openAiApiKey = '这里放你在水龙头拿到的key';
try{
	
	if (msg.type() === bot.Message.Type.Text)
	{
			const text = msg.text().trim();
      
			// 检查消息是否以艾特自己开头
			if (text.startsWith("@桔桔"))
			{
				// 替换掉艾特自己的字眼
				const newText = text.replace("@桔桔", "").trim();

				// 仅在真正消息体不为空时调用 API
				if (newText) 
				{
				  // 调用 OpenAI API
				  const data = {
					model: "gpt-3.5-turbo",
					messages: [{"role": "user", "content": newText}]
				  };
				  // 调用 OpenAI API,这里采用的是水龙头API提供的服务地址,不能直接访问官网
				  const response = await axios.post('https://openkey.cloud/v1/chat/completions', data, {
					headers: {
						'Authorization': `Bearer ${openAiApiKey}`,
						'Content-Type': 'application/json'
					}
				});


				 // 解析并发送回复
				  const choices = response.data.choices;
				  if (choices && choices.length > 0) 
				  {
					const reply = choices[0].message.content.trim();
					await msg.say(reply);
				  } else 
				  {
					await msg.say("对不起,我暂时无法回答这个问题。");
				  }
				}
				else
				{
					await msg.say("桔桔AI为你服务");
				}
				
			}
			else if(text==="ding")
			{
				await msg.say("dong");
			}
            

            
    }
  }catch(error){
	console.error('Error:',error);
  }
  console.log(msg.text())

然后在按照上面的Wechaty启动方式启动即可使用你的微信个人AI了!


结束语

这波属于站在巨人肩膀上实现功能,前人栽树,后人乘凉~

这里面非常好的一点就是使用这个网站提供的API,与官网的接口是一致的,可以直接看OpenAI官网文档进行代码的编写。

 对话Chat – OpenAI接口文档中文版 (openaidoc)

引言与效果

Wechaty 是一个开源的对话SDK,可以快速接入AI,本文章旨在教学如何用Wechaty实现微信接入GPT,最终实现效果如下:


Wechaty机器人介绍

Wechaty 是一个开源的的对话机器人 SDK。

在GitHub上可以找到很多支持微信个人号接入的第三方类库,其中大多都是基于Web Wechat的API来实现的,如基于Python的WeixinBot,基于Node.js的Wechaty等。

少数支持非Web协议的库,大多是商业私有闭源的,Wechaty是少有的开源项目支持非Web协议的类库。

只需要6行代码,你就可以搭建一个 微信机器人功能 ,用来自动管理微信消息。

import { Wechaty } from 'wechaty'

Wechaty.instance()
.on('scan',        qrcode  => console.log('扫码登录:' + qrcode))
.on('login',       user    => console.log('登录成功:' + user))
.on('message',     message => console.log('收到消息:' + message))
.on('friendship',  friendship => console.log('收到好友请求:' + friendship))
.on('room-invite', invitation => console.log('收到入群邀请:' + invitation))
.start()

更多功能请看官方文档:介绍 | 中文版 | Wechaty (gitbook.io)


Wechaty部署

第一步:从GitHub上获取Wechaty项目
  1. 去GitHub上拉取Wechaty项目
    • 访问 Wechaty的GitHub页面。
    • 你可以直接下载源代码,或者使用Git克隆项目:
      git clone https://github/wechaty/wechaty.git
第二步:安装Node.js
  1. 下载Node.js
    • 访问 Node.js官网 下载Node.js,推荐使用16.*版本。
第三步:安装依赖
  1. 安装项目依赖
    • 打开终端,切换到 wechaty 项目的根目录。
    • 执行 npm install 安装项目依赖。
    • 执行 npm install axios 安装axios库,用于发送HTTP请求。
第四步:启动机器人
  1. 启动你的微信机器人
    • 在项目根目录下,运行 npm start
    • 如果一切正常,你会看到一个二维码。
第五步:登录微信
  1. 用微信扫描二维码
    • 打开微信,扫描显示的二维码进行登录。
第六步:测试机器人
  1. 发送测试消息
    • 用另外一台手机发送消息 "ding" 给你登录了机器人的微信账号。
    • 如果机器人回复了 "dong",那么恭喜你,搭建成功!


接入GPT

申请一下令牌,假如你能科学,也有官方账号,可以跳过这一步

 拿到令牌后,我们就可以进行接入了,打开你机器人目录下

wechaty-main\wechaty-main\examples里的ding-dong-bot

对 onMessage (msg: Message) 方法进行改写:

const openAiApiKey = '这里放你在水龙头拿到的key';
try{
	
	if (msg.type() === bot.Message.Type.Text)
	{
			const text = msg.text().trim();
      
			// 检查消息是否以艾特自己开头
			if (text.startsWith("@桔桔"))
			{
				// 替换掉艾特自己的字眼
				const newText = text.replace("@桔桔", "").trim();

				// 仅在真正消息体不为空时调用 API
				if (newText) 
				{
				  // 调用 OpenAI API
				  const data = {
					model: "gpt-3.5-turbo",
					messages: [{"role": "user", "content": newText}]
				  };
				  // 调用 OpenAI API,这里采用的是水龙头API提供的服务地址,不能直接访问官网
				  const response = await axios.post('https://openkey.cloud/v1/chat/completions', data, {
					headers: {
						'Authorization': `Bearer ${openAiApiKey}`,
						'Content-Type': 'application/json'
					}
				});


				 // 解析并发送回复
				  const choices = response.data.choices;
				  if (choices && choices.length > 0) 
				  {
					const reply = choices[0].message.content.trim();
					await msg.say(reply);
				  } else 
				  {
					await msg.say("对不起,我暂时无法回答这个问题。");
				  }
				}
				else
				{
					await msg.say("桔桔AI为你服务");
				}
				
			}
			else if(text==="ding")
			{
				await msg.say("dong");
			}
            

            
    }
  }catch(error){
	console.error('Error:',error);
  }
  console.log(msg.text())

然后在按照上面的Wechaty启动方式启动即可使用你的微信个人AI了!


结束语

这波属于站在巨人肩膀上实现功能,前人栽树,后人乘凉~

这里面非常好的一点就是使用这个网站提供的API,与官网的接口是一致的,可以直接看OpenAI官网文档进行代码的编写。

 对话Chat – OpenAI接口文档中文版 (openaidoc)

发布评论

评论列表 (0)

  1. 暂无评论