【20220331】自动回复微信机器人——基于pyautogui,取消OCR功能,调用中文预训练模型API

本文介绍了一款结合pyautogui库、OCR技术及改进版文本识别的微信自动回复机器人。它能识别聊天内容并根据预设规则自动回复,包括群聊和一对一场景。通过实验结果可视化,展示了其笑话、成语识别及基本功能的实用性。未来计划改进群聊处理和复杂指令识别。
摘要由CSDN通过智能技术生成


还有笑话+成语+名词解释+智能问答+天气+翻译+问候的功能;还有发一个表情包或者问号的功能,测试效果良好,别生气别骂人!

主要思路:

1. pyautogui

  1. pyautogui.locateCenterOnScreen来定位
  2. pyautogui.screenshot来截聊天区域的图

2. 文本识别

OCR,参考之前写的一篇CSDN,实现效果:

原窗口:
在这里插入图片描述
截固定长宽的像素:
在这里插入图片描述
结果:

['@21-肖龙', '老师-HCS-吴志勇', '大家都太强了#章']

发现名字也会被识别出来,这里不能直接取最后一个,因为多行输入的时候:
在这里插入图片描述

结果:

['好多不会都血红蛋白许多还打不打胡', '好的']

发现有时候有名字有时候又没有……

解决方法:微信原因。这里只针对单人聊天,如果需要实现群聊效果需要进入群中设置不显示成员名称。

在这里插入图片描述

['还是你的记得记得都就差你']

3. 改进版文本识别

以上文本识别太不好用了,同时百度云OCR注册比较麻烦,免费的只有200次的额度,中午睡午觉发现了一个更为简便的方法:

  1. 找到所有的聊天框:pyautogui.locateAllOnScreen
  2. 微信双击就可以选择文本:pyautogui.doubleClick
  3. 粘贴过来:pyautogui.hotkey('ctrl', 'c'))txt = pyperclip.paste()

4. 自动回复

本来想用ERNIE的,发现几个月前百度有个新的预训练模型,也挺麻烦的,先获取access_token,接口在,控制台在,好像是基于PLATO-XL,中文预训练模型,论文地址

这里或者这里修改技能

5. 全部代码

https://github.com/YoungSeng/Autowechat

6. 实验结果可视化

https://www.bilibili.com/video/BV1X5411S7vE

运行效果:

手写一个自动回复微信消息机器人!

图片截图:
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述

请添加图片描述
……

7. 未来方向

  1. 现在是设置为没有新消息的时候点一个固定的屏蔽群消息的置顶群聊,知道检测到红点为止,这个可以改进,就可以和一个人不只说一句话了;
  2. 我想到了发文件、音频、表情包这样的测试用例,所以昨晚跑了一个多小时效果良好,没有报错;
  3. 没有基于OCR,是基于双击全选当前最后一个文本框,这在群聊中收到@消息的时候会检测不到文本,这个也好解决,把x轴坐标往右一点就可以了;
  4. 接到微信电话的时候!哈哈哈哈哈哈这个是最搞笑的,因为要双击所以会接到电话,但是又不能说话,然后要等别人骂骂咧咧的挂掉电话之后才可以继续运行监测图标的程序;
  5. 有些死循环,比如“别客气,这是应该做的……”(好像是),原本模型原因;
  6. 公式、代码不能识别,这一点看来比GPT差一点。

参考

  1. python微信自动回复聊天 文本识别+pyautogui
  2. 5分钟,教你做个自动化软件拿来办公、刷副本、回微信 | 源码公开,开箱即用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值