- A+
前言
接上篇文章:站在巨人的肩膀上,用Node+ChatGPT模块实现一个接口_DieHunter1024的博客-CSDN博客
我将ChatGPT模块的使用介绍了一下,使用自己的session发送请求达到调用ChatGPT进行聊天的目的,这篇文章会结合Wechaty去实现一个微信机器人
在开始编码之前,我们先了解一下wechaty
Wechaty是一个支持接入微信的聊天机器人,只需6行代码即可实现一个机器人,其跨平台性,多编程语言支持,使其在众多开源的bot项目中大放光彩。
关于它的使用,官方给的文档已经非常详细了,这里就不做描述
ChatGPT地址:https://chat.openai.com/(需要国外手机号注册)
ChatGPT独享账号,无需注册直接登陆,内含18美元,永久使用,获取链接:
https://item.taobao.com/item.htm?ft=t&id=702628447173
准备工作
node环境(v16+)
wechaty
qrcode-terminal(在控制台显示二维码)
起步
首先使用pnpm/npm/yarn安装以上依赖
创建一个wechaty server
const { WechatyBuilder } = require("wechaty"); const wechaty = WechatyBuilder.build(); wechaty .on("scan", (c, status) => { // status: 2代表链接等待调用,3代表链接已打开,这个链接实际上是提供一个登录的二维码供扫描 if (status===2) { console.log(c) } }) .on("login", (user) => console.log(`用户 ${user} 登录成功`)) .on("message", (message) => console.log(`收到消息: ${message}`)); wechaty.start();
注意:在使用wechaty时一定要在node v16+环境下运行,我的电脑是win7,不支node13+的,所以我使用强制使用高版本node的方式在win7中运行了node18,这样做的话会导致下面这个报错
这是由于高版本(14.6版本后才增加这个函数)的node取os.hostname()时找不到当前计算机的用户名
突然给电脑换系统又不太现实,所以我的快速的解决方式是增加以下代码(有其他补充,还请大佬指教)
Object.defineProperty(require("os"), "hostname", { value: () => { // 防止win7环境下,高版本node取不到os模块的hostname函数结果 return "my-pc-host-name"; }, }); const os = require("os"); console.log(os.hostname());
到这一步,我们还需要一个二维码的工具qrcode-terminal,将url转换为二维码,提供给手机微信扫描,代码如下:
Object.defineProperty(require("os"), "hostname", { value: () => { // 防止win7环境下,高版本node取不到os模块的hostname函数结果 return "my-pc-host-name"; }, }); const qrcode = require("qrcode-terminal"); const { WechatyBuilder } = require("wechaty"); const wechaty = WechatyBuilder.build(); wechaty .on("scan", (c, status) => { // status: 2代表等待,3代表扫码完成 status === 2 && qrcode.generate(c, { small: true }, console.log); }) .on("login", (user) => console.log(`用户 ${user} 登录成功`)) .on("message", (message) => console.log(`收到消息: ${message}`)); wechaty.start();
效果:
确认登录
发送消息
接收消息
实践
大家如果使用过socket的话,应该比较容易理解,这个模块消息的传递是基于发布订阅的
接下来,我们把这个机器人完善一下,配合这篇文章实现的接口,将机器人完整的功能实现一下
Object.defineProperty(require("os"), "hostname", { value: () => { // 防止win7环境下,高版本node取不到os模块的hostname函数结果 return "my-pc-host-name"; }, }); const qrcode = require("qrcode-terminal"); const { WechatyBuilder, ScanStatus } = require("wechaty"); const { sessionToken } = require("./session"); const request = require("request"); const wechaty = WechatyBuilder.build(); const url = "http://127.0.0.1:1024/sendMsg"; const sendChatGPT = (msg) => { const { promise, reject, resolve } = defer(); request.post( url, { json: { msg, sessionToken, }, }, (error, res, body) => { if (error) return reject(error); console.log(body.msg); resolve(body.msg); } ); return promise; }; /** * @name: * @description: promise扁平处理 * @return {*} */ const defer = () => { let resolve, reject; return { promise: new Promise((_resolve, _reject) => { resolve = _resolve; reject = _reject; }), resolve, reject, }; }; const onMessage = async (msg) => { // console.log(`收到消息: ${msg.toString()}`); const msgText = await msg.text(); if (msgText) { try { const gptMsg = await sendChatGPT(msgText); msg.say(gptMsg); } catch (error) { msg.say(error); } } }; const onLogout = (user) => { console.log(`用户 ${user} 退出成功`); }; const onLogin = (user) => { console.log(`用户 ${user} 登录成功`); }; const onError = console.error; const onScan = (code, status) => { // status: 2代表等待,3代表扫码完成 status === ScanStatus.Waiting && qrcode.generate(code, { small: true }, console.log); }; wechaty .on("scan", onScan) .on("login", onLogin) .on("logout", onLogout) .on("error", onError) .on("message", onMessage); wechaty.start();
效果:
这里由于选择的是text而不是富文本的方式,所以中间的代码块没有显示出来,但是简单的问答还是能够实现的
写在最后
感谢你看到了最后,如果文章对你有帮助的话,还请点赞支持一下博主,非常感谢
源码:ChatGPT-Wechaty-Bot: 使用ChatGPT+Wechaty实现的一个对话机器人
本文是全系列中第4 / 156篇:chatGPT
- chatgpt是什么?可以提供哪些服务,用户该怎样使用chatgpt(附Chat GPT注册教程)
- ChatGPT:本地环境搭建chatgpt、调试运行、接口API调用
- 在微信上搭建ChatGpt机器人
- 微信接入ChatGPT,使用Node+ChatGPT+Wechaty做一个微信机器人
- ChatGPT版微信个人号搭建流程
- 做了第一个ChatGPT .NET API聊天库
- 当大厂程序员已开始用AI写代码 人类会被AIGC淘汰吗?
- 【基于OpenAI的ChatGPT】搭建属于自己的微信聊天机器人(附带注册英国手机号码方式)
- 基于ChatGPT的微信聊天机器人
- 使用OpenGPT(ChatGPT)搭建 QQ 机器人
- chatgpt对接微信全流程
- 2023最新的Chatgpt微信机器人搭建教程【附免注册chatgpt账号】
- centos8下搭建chatgpt本地环境集成到微信中,接入个人微信操作教程
- centos8下搭建chatgpt本地环境集成到微信中,接入个人微信操作过程报错故障处理
- centos8下搭建chatgpt本地环境集成到微信中,接入个人微信操作过程报错故障处理【后续更新附加】
- 砸下677亿,微软盯上ChatGPT
- 他做了一个「ChatGPT 杀手」,a16z 抢着投
- ChatGPT:是平台的缪斯还是黑客的「MOSS」?
- 我用 ChatGPT 搞钱,月赚 10 万
- 一文读懂:有关ChatGPT的十个问题
- ChatGPT 创始人和他疯狂的 Worldcoin 实验
- ChatGPT爆火的冷思考:盈利难题与治理挑战
- 开局打爆谷歌,微软ChatGPT版必应亲测:强到发指!
- 八张数据图完整了解ChatGPT行业影响全景
- 昂贵的ChatGPT背后,国产GPU“掘金”路漫漫
- 观点:不要神化ChatGPT
- 别煽动焦虑了,ChatGPT还抢不动打工人的饭碗
- 最快月活过亿,但ChatGPT或终将被开源打败
- 朱嘉明:智能数字新时代,关于AIGC的13个关键问题
- 算力才是ChatGPT核心竞争力?AI芯片被推至聚光灯下
- 中美“狂飙”ChatGPT,一文读懂超20家科技巨头最新布局
- 阿里版ChatGPT已进入测试!中文聊天截图曝光,达摩院出品
- 生成式AI狂飙,中国版ChatGPT还有多远?
- 只见ChatGPT笑,不见元宇宙哭
- 谷歌版ChatGPT灾难级发布,市值一夜狂跌7000亿,熬夜网友:退钱!
- 谷歌“仓促”迎接 AI 大战,机器人 Bard“掉链子”股价大跌
- 10个实用的 ChatGPT 免费扩展!
- ChatGPT爆红,AI大规模商用离我们还有多远?
- ChatGPT火了,区块链和元宇宙没人提了?
- 「用ChatGPT搞钱年入百万!」各路博主发布生财之道,网友回呛:答辩的搬运工
- 颠覆历史!「ChatGPT搜索引擎」发布,微软市值一夜飙涨5450亿
- 中国版ChatGPT项目“文心一言”将于3月面世,百度能否趁势“狂飙”?
- 同一个问题被问100遍,被“封神”的ChatGPT终于穿帮了
- AI搜索大战打响!微软官宣ChatGPT引入Bing 生成式AI能否帮助巨头走出泥潭?
- ChatGPT引爆新一轮科技军备赛
- 微软“核弹级”更新:ChatGPT亮相Bing搜索和浏览器,今天上线,免费使用
- 卖账号、赚打赏,他们用 ChatGPT 搞钱
- 盖茨再谈ChatGPT:AI能提高效率,但要考虑边界在哪
- OpenAI给科技行业敲响警钟,中国必须要有自主“大模型”
- 谷歌亲自下场,AI大战正式打响!
- 当你还在讨论分析ChatGPT,有人开始用它“搞钱”了
- ChatGPT杀疯了,两个月引爆千亿美金新赛道
- 谷歌慌了,超20亿投资ChatGPT竞品Anthropic对抗微软
- 狂飙的ChatGPT,为什么是OpenAI最先做出来?
- 欧盟委员会对 ChatGPT 的最新监管方向
- 小冰CEO李笛:“按ChatGPT模式做AI,我们一天成本要3亿”
- 国产ChatGPT扎堆,又是一场元宇宙式狂欢?
- ChatGPT开始被“疯狂吐槽”了
- 私募如何玩转ChatGPT?
- ChatGPT爆红、元宇宙过气:科技巨头为何总是喜新厌旧?
- 大厂火拼ChatGPT
- 麦肯锡:ChatGPT 等生成式 AI 技术将如何改变企业?
- ChatGPT 两个月引爆万亿新赛道,国内外有哪些 AI 玩家能突出重围?
- ChatGPT热度再升级,AIGC的投资人开始关注“文生图”了
- AIGC应用持续升温,将给普通人生活带来哪些改变?
- ChatGPT持续“高烧”,再走一遍元宇宙的老路
- 第一批因ChatGPT坐牢的人,已经上路了
- 给担心被ChatGPT取代的人:2023年我们必须学习的人工智能技能
- ChatGPT“狂飙”:风浪越大,鱼越贵
- 为了 ChatGPT,微软抛弃元宇宙?
- ChatGPT成科技圈的“新贵”,谁还记得元宇宙?
- ChatGPT反噬百度
- 给数字人装上ChatGPT ?多家公司这样回应
- 教程:如何创建一个 AI 元宇宙化身
- 不只是聊天机器人:一文梳理 ChatGPT 带来的真正影响
- 美国宾州大学教授体验 Bing AI 有感:生成式 AI 的改进速度超乎预料,但我们还没准备好
- 元宇宙规模化商用仍未落地,ChatGPT或难续写新故事
- ChatGPT来袭,元宇宙将迎新契机?
- 没有对标ChatGPT产品,苹果内部AI峰会被指更像“团建”
- OpenAI与AIGC:改变人类生产范式,通往“万物的摩尔定律”
- ChatGPT在一线城市火,元宇宙在二三线城市热
- 英伟达将AI雄心扩展到云端,黄仁勋:生成式AI带来“拐点”
- ChatGPT的前世今生:OpenAI的技术「执拗」与「豪赌」
- OpenAI造就硅谷新“黑帮”:ChatGPT爆火背后的神秘大佬、技术版图和资本故事
- 国内AI公司,靠ChatGPT逆袭?
- Meta推出先进大型语言模型,下一个ChatGPT不远了?
- 与周鸿祎“深聊”ChatGPT:它会不会产生与人类为敌的想法?
- ChatGPT狂欢背后:别让科技新概念昙花一现
- ChatGPT能让AI赛道“复苏”吗?
- 马斯克谋划建研究室开发ChatGPT竞争对手,自曝对AI感到焦虑
- ChatGPT获得“正经编制”,国际预科生写论文用它不算作弊!
- 知乎CEO周源:密切关注ChatGPT发展,AI能让内容更快推广
- ChatGPT之父撰文:《万物摩尔定律》出现,这场革命将创造惊人的财富
- 一文了解 ChatGPT 等 LLMs 得到明显改进的 3 个变化
- 2.5亿美金,Salesforce设立史上规模最大AIGC风投基金
- AIGC如何成为元宇宙神助攻?
- ChatGPT 算力消耗惊人,能烧得起的中国公司寥寥无几
- 云巨头拥抱 AI:Salesforce 引入 ChatGPT
- GPT-4将在下周发布,必应日活破亿,谷歌还有招架之力吗?
- 揭秘ChatGPT背后天价超算!上万颗英伟达A100,烧光微软数亿美元
- 科技巨头持续血拼:微软豪掷数亿造ChatGPT超算,谷歌加急测试Big Bard
- 想成为顶级 AI 绘画师?先让这 7 个平台帮你成为 Prompt 高手
- 解读美国版权局最新 AI 生成作品版权指南,版权之路依旧艰难
- 周鸿祎:GPT-4会掀起新的工业革命,国内追赶不应放弃核心技术研发
- 竞品还在追赶,OpenAI 用 GPT-4 飚赢自己
- GPT-4震撼空降,谷歌「紧追」微软有点难
- GPT-4来了!国内相关初创项目近30家,VC加紧奔赴AI淘金热
- GPT-4震惊四座,中国创业者激战“小模型”
- ChatGPT-4 本周降临:它将如何影响 Web3?
- 彻底颠覆 Office,微软发布 Copilot
- 从GPT-4、文心一言再到Copilot,AIGC的长期价值被逐渐确立
- 又一中文版ChatGPT!李开复宣布筹组AI新公司“Project Al 2.0”
- OpenAI重磅研究:ChatGPT可能影响80%工作岗位,收入越高影响越大
- 首发ChatGPT课、AI共创游戏设计,网易试图抢跑AIGC红利
- GPT-4如何引领科技前沿?盘点10大应用场景
- AI“春晚”英伟达又甩王炸!ChatGPT专用GPU来了 还要赋能芯片制造
- AI企业如何发展,“中国版chat GPT”给出了答案
- 百度被网暴,AI大模型“套皮”海外知名项目,百度首次回复:假的!
- 李彦宏:中国基本不会再出一个OpenAI,创业公司重做ChatGPT没多大意义
- ChatGPT“变现”在即,哪些法律风险不容忽视?
- OpenAI大动作!ChatGPT开始联网 一夜之间从工具进化成平台?
- 一文读懂 ChatGPT 插件功能:语言模型获取新信息的“眼睛和耳朵”
- ChatGPT这么牛,我们应该如何兼顾发展和治理?
- 动嘴就能写代码,GitHub 将 ChatGPT 引入 IDE,重磅发布 Copilot X!
- 生成式AI淘金热,谁能从中赚钱?
- 智慧法律时代来临!以 ChatGPT 为代表的新 AI 技术加速升级法律服务
- 疯狂三月:一场ChatGPT引发的千亿“钞”能力竞赛
- 紧急刹车:AI 军备竞赛升温,“喊停”公开信倏忽而至
- 叫停GPT-4后续AI大模型!马斯克、Bengio等人发出公开信,千人响应
- 多家AI企业坦言大模型尚处研制阶段,行业应用落地存在不确定性
- “得志”于 AIGC,商汤科技“失意”在持续亏损
- 自主完成任务的ChatGPT,Beyond ChatGPT
- 自主拆分任务的chatGPT版本autoGPT的用户前端化实现——agentGPT部署及配置全流程
- chatGPT本地化搭建服务,一键免费部署你的私人 ChatGPT 网页应用。
- 苹果禁用ChatGPT,为防机密泄露!大模型版Siri即将升级推出
- 第一代AIGC硬件悄然爆发
- 从战略高度重视ChatGPT引发的新一轮人工智能革命
- 好莱坞片酬最高的演员,投资了世界上最成功的 AI 公司
- 研究:ChatGPT带来生成式AI十年繁荣,2032年市场规模1.3万亿美元
- 大模型创业潮:狂飙 180 天
- 在未来城市中,AIGC会扮演怎样的角色?
- OpenAI、谷歌双标玩得溜:训练大模型用他人数据,却决不允许自身数据外流
- AI席卷华尔街:对冲基金部署ChatGPT,银行展开“军备竞赛” AI梦工厂 发布在 AIGC 1.4万
- 华为版ChatGPT将于7月初发布,名为“盘古Chat”
- 大模型落地,搜索先成卷王
- 困在网页里的ChatGPT,想在移动生态里突围
- ChatGPT和AI正如何改变播客行业?
- ChatGPT流量见顶,AI革命中道崩殂?或许是OpenAI在下一盘大棋
- OpenAI 内部力推,AI 代理真能成为互联网应用发展的下一个阶段吗?
- 自行车+ChatGPT主打“陪伴”?感觉哪里怪怪的
- 押注新浪潮!韩国目标成为全球第三大AI强国
- GPT-4 “炼丹”指南:MoE、参数量、训练成本和推理的秘密
- OpenAI「打死都不说」的 GPT-4 训练细节被传出,这是我的解读
- 狙击 GPT-4 插件!谷歌 AI 助手 Bard 即将推出扩展程序,与微软的竞争进入白热化
- 谁拖了中国ChatGPT的后腿?
- 生成式AI这一年:从群雄乱战到生态确立,世界已被改变
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫