Python实现微信自动回复

声明:简单!非常的简单!所以缺点和局限也非常的明显(毕竟就几十行代码)

代码如下:

from uiautomation import WindowControl, MenuControl

# 绑定微信主界面
wx = WindowControl(name='微信')
# 打印窗口信息
print(wx)
# 切换窗口
wx.SwitchToThisWindow()
# 绑定会话控件
hw = wx.ListControl(name='会话')

data = {  # 一个字典 可以塞任意条数据 只要对面发的消息,能与Key相匹配,就会回复Key对应的Value 
    '你好': '我不好',
    '再见': '拜拜',
}

while True:  # 死循环
    # 查找未读消息              参数为只查找列表前X项的未读消息
    we = hw.TextControl(searchDepth=3)
    # 死循环的维持,防止超时
    while not we.Exists(0):
        pass
    # 存在未读的消息
    if we.Name:
        # 点击未读的消息
        we.Click(simulateMove=False)
        # 读取最后一条消息
        last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name

        # 判断对面发的消息,是否能与某一个Key相匹配
        if last_msg in data: 
            msg = data[last_msg]
        else:
            msg = 'null'
            
        # 能匹配到数据时,就是对面发的消息,能与某一个Key相匹配
        if msg != 'null':
            # 将数据输入
            wx.SendKeys(msg, waitTime=0)
            # 发送消息,其实就是按下Enter键
            wx.SendKeys('{Enter}', waitTime=0)
            msg = 'null'
            # 让鼠标点击其他地方
            we.Click(x=100, y=300)
        # 不能匹配到数据时
        else:
            # 将数据输入
            wx.SendKeys('哈哈', waitTime=0)
            # 发送消息,其实就是按下Enter键
            wx.SendKeys('{Enter}', waitTime=0)
            # 让鼠标点击其他地方
            we.Click(x=100, y=300)

首先,必须让微信置顶,其次微信不能有置顶(不管是联系人还是群聊还是公众号),然后就可以正常使用了(当然程序要一直在运行,微信的界面也要保持置顶)

其实有些语句写的并不合理,有很多的东西都可以优化的,像自动发送的数据的设定,还有一些点击的设置,一些条件。能让这个程序更加完善且好用。但本人只是出于测试,就不深入了。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值