我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python+wxauto实现微信助手

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python+wxauto实现微信助手

前言

之前一直太忙,老是不能及时回复朋友的信息,所以就想着做一个可以自动回复朋友的机器人,查了许多资料,发现itachat只能写网页版,但微信没有网页版了,也看了itchat-uos,但仅支python2.7和python3.5,但我是python3.7,所以。。。(此处是我的痛),所以我选择wxauto,还有一个技术是基于hook的,可以看这篇文章基于hook的python机器人,彻底取代itchat,还有wxpy,有兴趣的朋友可自行查阅。

如何安装wxauto

使用Pycharm的库自行导入

from wxauto import *

或者使用pip安装wxauto,只需要在终端入以下代码:

pip install wxauto

 启动微信客户端

扫码登录你的微信客户端,我还使用了天行数据的api接口,来实现定时发送晚安心语,早上每日一言。注册天行数据在下面的data中填写你自己的key

import requestsfrom wxauto import *from urllib import request, parseimport timeimport jsonclass autoReply():    def __init__(self):        # 获取当前微信客户端        self.wx = WeChat()        # 天行数据接口格式        self.headers = {            'Content-type': 'application/x-www-form-urlencoded'        }        # 填写你自己的密钥        self.data = {            "key": "you key",        }

重写GetLastMessage方法

由于wxauto实现的功能太少,无法实现其自动回复,所以要重写GetLastMessage方法,还有wxauto其他的方法见文章GitHub - cluic/wxauto: Windows版本微信客户端(非网页版)自动化,可实现简单的发送、接收微信消息,持续更新中

    def GetLast_Message(self, user):        # 获取user的最新一条消息        i = -1        messages = self.wx.GetAllMessage        while True:            if messages[i][0] == user:                message = messages[i]                return message            i = i - 1

实现定时发送

# 定时发送早上每日一言,晚安!    def send_time(self, time1, time2):        t = time.strftime('%H:%M:%S', time.localtime())        if t == time1:            # 每日一言接口            url2 = 'https://api.xygeng.cn/one'            data = parse.urlencode(self.data)            req = request.Request(url=url2, headers=self.headers, data=bytes(data, encoding="utf-8"))            res = request.urlopen(req)            json_data = json.load(res)            print(json_data)            if json_data["code"] == 200:                message = json_data['data']['content']                message = '每日一言:' + message                self.wx.SendMsg(message)            else:                self.wx.SendMsg('每日一言')        elif t == time2:            # 天行数据的晚安心语接口            url1 = "https://apis.tianapi.com/wanan/index"            data = parse.urlencode(self.data)            req = request.Request(url=url1, headers=self.headers, data=bytes(data, encoding="utf-8"))            res = request.urlopen(req)            json_data = json.load(res)            if json_data["code"] == 200:                message = json_data['result']['content']                self.wx.SendMsg(message)            else:                self.wx.SendMsg('晚安')

最后实现回复信息

    def reply_message(self, user):        #机器人接口        url = 'https://v.api.aa1.cn/api/api-xiaoai/talk.php'        # 打开user聊天框        self.wx.ChatWith(user)        #获取user的最后一条信息        a = self.GetLast_Message(user)        b = 0        while True:            # 定时发送            time1 = '08:00:00'  # 早上时间            time2 = '22:00:00'  # 晚上时间            self.send_time(time1, time2)            # 自动回复            message = self.GetLast_Message(user)            # 修改自动回复的第一句            if message != a and b != 0:                res = requests.get(url=url, params="msg=" + message[1])                self.wx.SendMsg(res.text)                a = message            elif message != a and b == 0:                self.wx.SendMsg("主人不在,有什么问题我可以为你解决哦!")                b=b+1if __name__ == '__main__':    x = autoReply()    # 输入你要自动回复的朋友的名字    x.reply_message('The quiet coder')

总结

之前本来就只想做个自动回复算了,但看代码就几行解决了,所以就多做了每日一言,晚安,如果觉得多余的话,把send_time方法删除就行了,由于wxauto实现的功能实在是太少了,所以只能实现对某个人的自动回复,我也尝试过使用wxauto底层的代码方法去实现,但太难了,所以就打住了,若你们有更好的方法实现全部的自动回复的话,希望在下面的评论区留下你的见解。

最后资料整理不易,不奢求能进各位的收藏夹,只希望各位大佬们能留个赞👍!!!

更新:

由于微信版本更新的原因,会出现LookupError: Find Control Timeout(10.0s): {Name: '输入', ControlType: EditControl}问题,解决方案如下:wxauto发送功能失效出现LookupError: Find Control Timeout(10.0s): {Name: ‘输入‘, ControlType: EditControl}解决_The quiet coder的博客-CSDN博客https://blog.csdn.net/m0_65783113/article/details/132524827

来源地址:https://blog.csdn.net/m0_65783113/article/details/129788768

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python+wxauto实现微信助手

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android中微信抢红包助手的实现详解

实现原理 通过利用AccessibilityService辅助服务,监测屏幕内容,如监听状态栏的信息,屏幕跳转等,以此来实现自动拆红包的功能。关于AccessibilityService辅助服务,可以自行百度了解更多。 代码基础: 1.首
2022-06-06

怎么用python打造一个微信群聊助手

这篇文章给大家介绍怎么用python打造一个微信群聊助手,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。教大家如何用20行Python代码实现微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂
2023-06-02

Java如何实现微信跳一跳辅助

这篇文章主要介绍Java如何实现微信跳一跳辅助,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!环境配置及相关说明:1)、Windows系统,本人win102)、AVA环境安装,JDK7以上即可3)、安卓手机一部、数据线
2023-05-30

Python+ITchart实现微信机器

这里我主要用了3个机器人,可以切换。  1.图灵机器人  (傻的不行,一直在问别人问题,没有限制)    http://www.tuling123.com  2.showApi上的图灵机器人  (感觉最聪明,可以识别微信表情,英文,中文等,
2023-01-30

Python如何实现B站UP主小助手

这篇文章给大家分享的是有关Python如何实现B站UP主小助手的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言先上效果有弹幕的时候是这样的为什么两张截图的显示器不一样呢?哎,说起来都是眼泪,那天晚上我直播写这个
2023-06-29

Python怎么实现抢红包提醒助手

这篇文章主要讲解了“Python怎么实现抢红包提醒助手”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现抢红包提醒助手”吧!1、安装库pip install wxpy2、启动
2023-06-16

使用Python实现微信自动化

Python中可以导入wxpy模块,在电脑上操作控制微信。
2023-01-31

利用python微信库itchat实现微信自动回复功能

前言 在论坛上看到了用Python登录微信并实现自动签到,才了解到一个新的Python库: itchat 利用Python 微信库itchat,可以实现自动回复等多种功能,好玩到根本停不下来啊,尤其是调戏调戏不懂计算机的,特别有成就感,哈哈
2022-06-04

python怎么实现微信自动发送信息

要实现微信自动发送信息,可以使用Python的第三方库itchat来实现。itchat是一个开源的微信个人号接口,可以通过Python来控制微信的消息发送、接收、登录等功能。首先,你需要安装itchat库。可以使用以下命令在命令行中进行安装
2023-08-31

微信小程序怎么实现手写签名

本文小编为大家详细介绍“微信小程序怎么实现手写签名”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么实现手写签名”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在微信小程序上实现手写签名,获取canva
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录