五、使用示例
五、使用示例
1. 基本使用
from wxautox import WeChat
# 初始化微信实例
wx = WeChat()
# 发送消息
wx.SendMsg("你好", who="张三")
# 获取当前聊天窗口消息
msgs = wx.GetAllMessage()
for msg in msgs:
print(f"消息内容: {msg.content}, 消息类型: {msg.type}")
2. 监听消息
from wxautox import WeChat
from wxautox.msgs import FriendMessage
import time
wx = WeChat()
# 消息处理函数
def on_message(msg, chat):
# 示例1:将消息记录到本地文件
with open('msgs.txt', 'a', encoding='utf-8') as f:
f.write(msg.content + '\n')
# 示例2:自动下载图片和视频
if msg.type in ('image', 'video'):
print(msg.download())
# 示例3:自动回复收到
if isinstance(msg, FriendMessage):
time.sleep(len(msg.content))
msg.quote('收到')
...# 其他处理逻辑,配合Message类的各种方法,可以实现各种功能
# 添加监听,监听到的消息用on_message函数进行处理
wx.AddListenChat(nickname="张三", callback=on_message)
# 保持程序运行
wx.KeepRunning()
# ... 程序运行一段时间后 ...
# 移除监听
wx.RemoveListenChat(nickname="张三")
3. 处理好友申请
from wxautox import WeChat
wx = WeChat()
# 获取新的好友申请
newfriends = wx.GetNewFriends(acceptable=True)
# 处理好友申请
tags = ['同学', '技术群']
for friend in newfriends:
remark = f'备注_{friend.name}'
friend.accept(remark=remark, tags=tags) # 接受好友请求,并设置备注和标签
4. 使用打字机模式发送消息
from wxautox import WeChat
wx = WeChat()
# 普通文本发送
wx.SendTypingText("你好,这是一条测试消息", who="张三")
# 使用@功能和换行
wx.SendTypingText("各位好:\n{@张三} 请负责前端部分\n{@李四} 请负责后端部分", who="项目群")
5. 获取多个微信客户端
from wxautox import get_wx_clients
# 获取所有微信客户端
clients = get_wx_clients()
for client in clients:
print(f"微信客户端: {client}")
6. 自动登录
ℹ️
仅可自动登录的微信有效
from wxautox import LoginWnd
wxpath = "D:/path/to/WeChat.exe"
# 创建登录窗口
loginwnd = LoginWnd(wxpath)
# 登录微信
loginwnd.login()
7. 获取登录二维码
from wxautox import LoginWnd
wxpath = "D:/path/to/WeChat.exe"
# 创建登录窗口
loginwnd = LoginWnd(wxpath)
# 获取登录二维码图片路径
qrcode_path = loginwnd.get_qrcode()
print(qrcode)
8. 合并转发消息
from wxautox import WeChat
from wxautox.msgs import HumanMessage
wx = WeChat()
# 打开指定聊天窗口
wx.ChatWith("工作群")
# 获取消息列表
msgs = wx.GetAllMessage()
# 多选最后五条消息
n = 0
for msg in msgs[::-1]:
if n >= 5:
break
if isinstance(msg, HumanMessage):
n += 1
msg.multi_select()
# 执行合并转发
targets = [
'张三',
'李四
]
wx.MergeForward(targets)