chatgpt接入微信
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
背景
chatgpt是一个有趣的、聪明的AI机器人。
很多人希望可以把这个机器人接入微信群聊里面。
介绍
本项目使用python制作了一个微信群聊机器人。
微信群聊机器人
群聊里面被艾特后会基于被艾特的内容发送对应的文本。
可以使用chatgpt。
也可自己定义机器人回复内容比如自己写对话机器人
和微信通信主要是模拟点击事件而不是通过网页版微信现在很多网页版微信都是无法登录的。
功能展示
B站视频链接https://www.bilibili.com/video/BV1i8411G7xC
微信群聊里面有人艾特机器人这里的机器人名称叫小埋)。
文本结构是
@机器人名称 + 问题
机器人会处理此文本并且返回答案。
技术逻辑
交互逻辑
机器人之所以可以检测是否被
提及到
。移动到被艾特的位置复制文本点击发送按钮等。都是使用cv里面的图像模板匹配。
也就是需要预先对微信群聊的对话框做特征点标记。
而所谓的标记就是需要我们先做好模板也就是把一些特征点截图保存
获取文本并处理逻辑
在定位到被艾特的位置后会自动点击复制按钮然后复制这段话。这个时候是已经将文本放入window系统的剪切板
然后使用python的特定的包提取window系统剪切板的文本。
经过后端的机器人接口对文本做处理。
然后再放入window系统剪切板里面。
到文本输入框里面粘贴文本。
最后点击发送。
程序的完整正向逻辑
视频
1. 检测是否被@
如果被检测到就继续
2. 找到被@的文本位置
点击上图的红圈位置会定位到在经过0.5秒后对应的信息会被加深有个深色条。
就像是下图的红圈1和红圈2的区别。而红圈1就是我们刚才被艾特的文本。
3. 鼠标点击复制
鼠标在定位到上图的绿圈之后
点击右键找到复制按钮点击复制
4. 处理文本
复制后的文本会被从剪切板传递到python里面然后python调用机器人接口得到新内容将新内容再次传递到剪切板
5. 定位聊天对话框
依靠下图的绿框的一排图标可以定位到文本输入框的位置。
鼠标移到这个地方。
6. 粘贴内容
鼠标右键粘贴内容
7. 点击发送按钮
粘贴好之后就是点击发送即可。
如何使用
机器人名称
注意我这里叫【小埋】你的可以改为你自己的这个不是难点。
截图
使用这部分是最麻烦的因为每个人的电脑分辨率不同导致截图都是没办法复用的因此你只能在你的电脑上把下面截图都给再截图一遍。
1. image_01_mention.png
这个是被提到的图片你需要截图内容上最好和我截图一样。
2. image_02_usertextv2.png
这个截图很有技巧。因为在点击【被提到后】需要等待那个消息框周围变深然后才能截图。
因此建议使用pyautogui辅助截图。
就是要把这个绿框截图给准确的截下来当然你的机器人名称不叫小埋
截图成功最终的样子就是images/image_02_usertextv2.png
。
注意这里是V2版本的奥后面有V2
3. image_03_copy.png
这个不难就是鼠标放在被艾特的文本上的时候右键出现【复制】,然后这个时候截图。
4. image_04_input.png
这个也是不难就是直接截图
5. image_05_send.png
这个就是右下角的【发送】按钮
安装依赖
pip install pyautogui pip install pyperclip# https://github.com/acheong08/ChatGPTpip install revChatGPT --upgrade
程序
上面基本上就ok了。最后直接运行app.py
文件就行了。
默认是简单回复模板。
如果想要使用chatgpt模板前提你可以正常使用chatgpt。
仓库链接
https://github.com/yuanzhoulvpi2017/WechatGroupRobot
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |