基于Wechaty实现微信接入ChatGPT

本文详细介绍了如何利用Wechaty这个开源的对话机器人SDK,结合GPT实现微信个人号的自动化管理,包括微信登录、消息处理以及接入OpenAIAPI进行智能回复。
摘要由CSDN通过智能技术生成

引言与效果

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.com/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.com.cn)

在Windows 7操作系统中,错误模块路径C:\windows\Syswow64\nt.dll是指ntdll.dll文件在系统中的位置。ntdll.dll是Windows 7操作系统中的一个重要组件,是NT内核级文件,系统从ring3到ring0的入口。当系统出现ntdll.dll模块故障的错误提示时,可以通过以下方法进行修复: 1. 首先,下载ntdll.dll文件。确保下载的dll文件与您的操作系统相匹配,如果您的系统是64位的,请下载64位的dll文件。 2. 然后,将下载的dll文件复制到C:\Windows\SysWOW64目录下。这是64位系统的系统目录,如果您的系统是32位的,请将dll文件复制到C:\Windows\System32目录下。 3. 最后,重新启动计算机,以使更改生效。 通过以上方法,您可以修复win7错误模块路径C:\windows\Syswow64\ntdll.dll的问题。请注意,在进行任何系统文件更改之前,请确保备份重要数据,并谨慎操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [windows mysql服务自动启动 错误模块名称:ntdll.dll](https://blog.csdn.net/hefeng_aspnet/article/details/131662120)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【已解决】win7系统出现ntdll.dll错误模块怎么解决?](https://blog.csdn.net/qdx698767896/article/details/122352460)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值