前言

一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理,
比如自动回复,再比如自动发送文件或者其他。--- 记录于2022年08月--- 2022年10月再次测试可用

使用Python3的第三方库wxauto, 它适用于Windows的微信客户端

官网: https://github.com/cluic/wxauto


功能

*这篇是微信自动化工具开发系列的第六篇

对上面的第五篇进行了简单的扩展,对于多个关键词进行多个不同的回复

代码的主要功能

  • Python自动根据微信群或者微信好友的信息自动回复(对于多个关键词进行多个不同的回复)

    比如: 有人在群里发了@223,自动回复aaa

    有人发了@123,自动回复bbb

注:wxauto.py里面的第252行进行修改,否则运行会报错

微信版本 3.7.5.23 更新导致的问题

需进行下面的修改来进行修复,修改第252行为:

copydata = COPYDICT[i].replace(b'<EditElement type="0" pasteType="0"><![CDATA[ ]]>', key.encode()).replace(b'type="0"', b'type="3"')

原因

这边使用wxauto来进行开发,而不是itchat,原因如下

itchat都是之前的教程,
本质上是用的微信的网页端的接口来进行数据交互的。

如果你想要使用itchat的代码的话,

  • 1、先测试下你的账号是否还可以登录微信网页端

https://wx.qq.com/
腾讯官方虽然没有正式的发表声明,但是你搜一下可以看到相关信息
大概从去年开始(时间不太确定),大部分微信账号都不可以继续登录微信网页端,只有少部分账号还可以登录。
原因未知。

  • 2、如果可以登录微信网页版 那么你可以关闭这个博客去网上找下itchat的代码来学习运行下,

如果登录失败,那么或许你可以尝试下wxauto也就是这里所说的方法来运行下。


环境

Windows 10
Python 3.8.10
Windows 10的微信客户端版本:3.7.5.23 (中文版本)

注:微信客户端中文版跟英文版都可以
没什么太大区别。

建议使用中文版本,英文版本现在微信更新后出现了Bug.

安装

安装Python3的第三方库wxauto,具体步骤如下

官网: https://github.com/cluic/wxauto

在cmd窗口执行下面命令进行安装

  • 安装第三方库wxauto
python3 --version
python3 -m pip install wxauto -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 查看wxauto是否安装成功
python3 -c "import wxauto; print(wxauto.VERSION)"

使用步骤

1. 新建main06.py

自己修改里面的配置

from wxauto import *
import time# 获取当前微信客户端
wx = WeChat()# 获取会话列表
wx.GetSessionList()###############################
# 1、获取默认窗口聊天信息
###############################
def reply_message_if_send_key_word(user, key_word, reply_message):# 默认是微信窗口当前选中的窗口# 输出当前聊天窗口聊天消息wx.ChatWith(user)# 获取最近的聊天记录#wx.LoadRecentMessage(1)wx.LoadRecentMessage(1)msgs = wx.GetAllMessagemessage_value = [msg[1] for msg in msgs]for index, msg in enumerate(msgs):if msg[1] ==key_word:print("*"*20)if reply_message not in message_value[index:]:print(f"收到关键词{key_word},将自动回复以下语句:{reply_message}")wx.SendMsg(reply_message) else:print("上面已回复,不再进行自动回复,等待新的关键词")print("*"*20)#wx.SendMsg(reply_message) if __name__ == '__main__':user = '什么'key_word = '@223'reply_message = 'aaa'reply_dict = {'@223': 'aaa','@123': 'bbb',}while True:for key_word, reply_message in reply_dict.items():reply_message_if_send_key_word(user=user, key_word=key_word, reply_message=reply_message)time.sleep(1)

注: 或者下面这个 这两个代码都可以用,功能没什么区别

main06.py

from wxauto import *
import time# 获取当前微信客户端
wx = WeChat()# 获取会话列表
wx.GetSessionList()###############################
# 1、获取默认窗口聊天信息
###############################
def reply_message_if_send_key_word(user, reply_dict):# 默认是微信窗口当前选中的窗口# 输出当前聊天窗口聊天消息wx.ChatWith(user)# 获取最近的聊天记录#wx.LoadRecentMessage(1)wx.LoadRecentMessage(1)msgs = wx.GetAllMessagemessage_value = [msg[1] for msg in msgs]key_words = [x for x in reply_dict.keys()]for index, msg in enumerate(msgs):if msg[1] in key_words:print("*"*20)reply_message = reply_dict[msg[1]]if reply_message not in message_value[index:]:print(f"收到关键词{key_word},将自动回复以下语句:{reply_message}")wx.SendMsg(reply_message) else:print("上面已回复,不再进行自动回复,等待新的关键词")print("*"*20)#wx.SendMsg(reply_message) if __name__ == '__main__':user = '什么'key_word = '@223'reply_message = 'aaa'reply_dict = {key_word: reply_message,}# 多个特定字段对应多个不同的回复reply_dict = {'@223': 'aaa','@123': 'bbb',}while True:reply_message_if_send_key_word(user=user, reply_dict=reply_dict)time.sleep(2)

2. 打开微信

  • windows10下打开微信客户端 (注:如果用的英文,记得点击左下角Settings-> General 切换为中文)
  • 正常扫码登录
  • 打开微信窗口到前面,不要最小化或者缩小到底部菜单

3. 执行代码

打开cmd窗口,在cmd窗口执行:

如果没有安装第三方库,参考上面的安装步骤进行安装再执行下面命令

cd E:\2022Python  # 修改为你的 main06.py所在路径
python3 main06.py

4. 输出

cmd窗口输出结果为:

PS E:\2022Python> python3 main06.py********************
收到关键词@223,将自动回复以下语句:bbb
********************
********************
上面已回复,不再进行自动回复,等待新的关键词
********************
********************
上面已回复,不再进行自动回复,等待新的关键词
********************
********************
上面已回复,不再进行自动回复,等待新的关键词
********************
********************
收到关键词@223,将自动回复以下语句:aaa
********************
********************
上面已回复,不再进行自动回复,等待新的关键词
********************

后续

这边刚开始写一下系列文章,想发展下自己的博客和微信公众号账号

如果对你有帮助,方便的话可以关注下 博客左侧的微信公众号(点击我的头像进入个人中心,位于左侧下方)

如有问题的话,也可通过公众号直接留言,这边有微信提醒,可以几小时内及时回复

也可直接在CSDN博客留言或者私信留言,这个没有微信提醒,所以这边可能一天或者几天内给回复

微信公众号所在位置:打开个人中心也就是这个链接
https://blog.csdn.net/xiaozi_001?type=blog
左侧下方

如有需求,

想要对微信进行一些自动化操作来提高效率:

比如

  • 自动群发不同聊天信息到几个微信群里

  • 自动群发不同的图片到几个微信群里

  • 自动群发不同的文件到几个微信群里


  • 如果你本身懂代码的话

如果你本身懂代码的话, 直接看第三方库wxauto的使用,自己来写就可以了,

博客后续也会基于这个系列继续更新。

欢迎点赞留言提出问题,方便的话 点赞收藏 关注下微信公众号

  • 如果你本身不懂代码

只是想要一个简单的微信处理工具来满足自己的需求的话

可以微信公众号留言或者私信留言,

发下你的具体需求,这边后续根据你的需求进行下二次开发

如有需求,可关注下博客左侧的微信公众号留言或者直接私信留言

前者可以几小时内及时回复

后者可能看的不及时,大概一天或者几天内有回复


其他

如有问题 欢迎提出

如有疑问 欢迎留言

如有作用 欢迎点赞

如有失效 欢迎留言

2022年010月 可用

Python 微信自动化工具开发系列06_根据用户信息自动回复升级版本(2022年10月可用)相关推荐

  1. Python 微信自动化工具开发系列02_自动获取微信多个好友聊天信息(2023年1月可用)

    前言 一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理, 比如自动回复,再比如自动发送文件或者其他.--- 记录于2022年07月 ...

  2. Python 微信自动化工具开发系列04_所有微信群的群文件自动同步拷贝到群名对应的新文件夹中(2023年1月可用)

    前言 一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理, 比如自动回复,再比如自动发送文件或者其他.--- 记录于2022年08月 ...

  3. 微信公众号开发之授权获取用户信息

    微信开发交流群:148540125 系列文章参考地址 极速开发微信公众号 欢迎留言.转发.打赏 项目源码参考地址 点我点我--欢迎Start 前几篇文章已讲完如何导入项目,如何启动配置项目,如何成为开 ...

  4. Python+微信小程序开发(二)代码构成和宿主环境

    一.小程序代码构成 ​在上一篇文章中,我们通过开发者工具载入模板快速创建了一个QuickStart项目.这个项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的  ...

  5. Python+微信小程序开发(一)了解和环境搭建

    一.小程序介绍 1.什么是微信小程序? 移动互联网时代,手机 手机软件,在手机上中安装很多软件 腾讯和阿里(只安装自己不用别人) 腾讯:微信 + N小程序 阿里:支付宝 + N小程序 2.为什么要做小 ...

  6. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

  7. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

  8. 微信小程序开发系列五:微信小程序中如何响应用户输入事件

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  9. 微信小程序开发系列四:微信小程序之控制器的初始化逻辑

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...

  10. 微信小程序开发系列教程三:微信小程序的调试方法

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...

最新文章

  1. 反汇编工具 win32asm
  2. 二分类神经网络的特征光谱---1-2至1-9
  3. 利用 python 的各种开源工具自制浏览器
  4. 虚拟DOM和Diff算法 - 入门级
  5. 骚年快答 | 为何微服务项目都使用单体代码仓库?
  6. Java Excel合并工具 v1.0
  7. oracle 创建用户
  8. 【渝粤教育】广东开放大学 建筑设备 形成性考核 (33)
  9. 常用模块(collections模块,时间模块,random模块,os模块,sys模块,序列化模块,re模块,hashlib模块,configparser模块,logging模块)...
  10. NWT失败反省:做视频的多了,汝眼里怎么只有腾讯
  11. 怎样避免每次运行都启用宏的麻烦
  12. 淘宝店铺介绍范文如何写的技巧详细分析!
  13. python画太阳花输出为图片文件
  14. python爬千图网高清图片
  15. Visual Studio 2019 发行说明
  16. 大型水利投资集团,打造数智财资管理新范式
  17. 2021-2022下沉市场研究报告合集(共46份)
  18. Java之图片裁剪工具类-yellowcong
  19. 注册时给用户发邮件激活码 , 以及登录操作
  20. 斗地主三步走——洗牌、发牌和看牌

热门文章

  1. RESTful设计风格
  2. 手机计算机怎样调音乐,手机音乐EQ均衡器调节音效简单小技巧-均衡器设置
  3. 常见的 Android 性能指标获取方式:CPU、FPS、Memory、GPU 、I/O、Network
  4. 城市三级联动带城市数据
  5. 轻松两步实现了接口限流
  6. linux进阶-PHP加速器
  7. 【iOS】解决UITextField输入限制受中文自动联想影响的问题
  8. 一个简单的教学管理系统(SQL实现)
  9. 利用灵雀云免费主机做反向ssh端口转发,实现内网服务器的外网访问_20160107_七侠镇莫小贝
  10. 超市仓库商品盘点作业流程,仓库如何进行盘点,仓库盘点流程?仓库盘点好方法?