**
PC端微信自动回复,python脚本
**
注意事项:
- 先安装python3以上版本的编译器;
- 安装python开发工具,包括但不限于:PyCharm;
- 需事先安装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)
并在代码中调用,具体看上面代码实例。
本文介绍了如何使用Python和wxauto库在PC端微信上实现自动回复功能,包括安装步骤、关键代码片段以及处理异常的方法。作者详细说明了如何获取聊天信息、设置关键字匹配和自动回复消息的过程。

2920

被折叠的 条评论
为什么被折叠?



