PC端微信自动回复,python脚本

本文介绍了如何使用Python和wxauto库在PC端微信上实现自动回复功能,包括安装步骤、关键代码片段以及处理异常的方法。作者详细说明了如何获取聊天信息、设置关键字匹配和自动回复消息的过程。

**

PC端微信自动回复,python脚本

**
注意事项:

  1. 先安装python3以上版本的编译器;
  2. 安装python开发工具,包括但不限于:PyCharm;
  3. 需事先安装wxauto组件 ,也可直接通过开发工具直接更新引入;
from wxauto import *
import time

# 获取当前微信客户端
wx = WeChat()

# 获取会话列表
wx.GetSessionList()


###############################
# 1、获取默认窗口聊天信息
###############################
def replyMessage(user, key_word, reply_message):
    # 默认是微信窗口当前选中的窗口
    # 输出当前聊天窗口聊天消息
    wx.ChatWith(user)
    # 避免调用wxauto插件接口报错
    wx.control(user)

    # 获取最近的聊天记录,会加载旧聊天记录到内存,以便获取更多消息
    # wx.LoadMoreMessage()
    # 获取当前聊天窗户的所有聊天记录,但不包括旧记录,可以把上面一行注释,即可获取更多聊天消息
    msgs = wx.GetAllMessage
    
    # 单个用户循环所有消息,依次回复对应关键字,回复多条消息
    # message_value = [msg[1] for msg in msgs]
    # for index, msg in enumerate(msgs):
    #     if msg[1] ==key_word:
    #         if reply_message not in message_value[index:]:
    #             print(f"收到关键词{key_word},将自动回复以下语句:{reply_message}")
    #             wx.SendMsg(reply_message)
    #         else:
    #             print("上面已回复,不再进行自动回复,等待新的关键词")
    #         wx.SendMsg(reply_message)
    
    # 获取对方最后一条消息,仅回复该条消息
    if msgs[-1][0] != "自己的微信用户名":
        if msgs[-1][1] == key_word:
            print(f"收到关键词{key_word},将自动回复以下语句:{reply_message}")
            wx.SendMsg(reply_message)



if __name__ == '__main__':
    # 自定义需要自动回复的用户,也可做特例循环,或者全用户回复
    user = '阿罗哈'
    # 关键字
    key_word = '你好'
    # 关键字回复
    reply_message = '我是机器人,自动回复的'
    # 关键字与回复列表
    reply_dict = {
        '你好': '我是机器人,自动回复的,哈哈哈哈',
        '天气咋样': '一般般-机器人',
        '你吃饭了吗': '不想吃,没胃口-机器人',
        '你在干嘛': '有点急事,稍后回复你-机器人'
    }

    while True:
        for key_word, reply_message in reply_dict.items():
            replyMessage(user=user, key_word=key_word, reply_message=reply_message)
        time.sleep(1)

异常情况:

wxauto组件可能存在于微信版本不相符的情况,因此在调用组件接口时会报错,需点击WeChat()进入wxauto.py,同时注释行

self.EditMsg = self.UiaAPI.EditControl(Name='输入')

新增方法:

    def control(self, ctname):
        self.EditMsg = self.UiaAPI.EditControl(Name = ctname)

并在代码中调用,具体看上面代码实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值