其他类(方法)

WxResponse

该类用于该项目多个方法的返回值

# 这里假设result为某个方法的WxResponse类型返回值
result: WxResponse = ...

# 判断是否成功
if result:
    data = result['data'] # 成功,获取返回数据,大多数情况下为None
else:
    print(result['message'])  # 该方法调用失败,打印错误信息

WxParam

该类用于该项目的一些参数,在获取WeChat实例前,可以通过修改该类的属性来修改默认参数

属性类型默认值描述
LANGUAGELiteral['cn', 'cn_t', 'en']'cn'语言设置,简体中文/繁体中文/英文
ENABLE_FILE_LOGGERboolTrue是否启用日志文件
DEFAULT_SAVE_PATHstr./wxautox下载文件/图片默认保存路径
✨MESSAGE_HASHboolFalse是否启用消息哈希值用于辅助判断消息,开启后会稍微影响性能
DEFAULT_MESSAGE_XBIASint51头像到消息X偏移量,用于消息定位,点击消息等操作
DEFAULT_MESSAGE_YBIASint30头像到消息Y偏移量,用于消息定位,点击消息等操作
FORCE_MESSAGE_XBIASboolFalse是否强制重新自动获取X偏移量,如果设置为True,则每次启动都会重新获取
LISTEN_INTERVALint1监听消息时间间隔,单位秒
✨LISTENER_EXCUTOR_WORKERSint4监听执行器线程池大小,根据自身需求和设备性能设置
SEARCH_CHAT_TIMEOUTint2搜索聊天对象超时时间,单位秒
✨NOTE_LOAD_TIMEOUTint30微信笔记加载超时时间,单位秒
SEND_FILE_TIMEOUTint10发送文件超时时间,单位秒
CHAT_WINDOW_SIZEtuple(800, 6000)监听尺寸,由于4.x版本客户端UI机制是显示的部分才注册UIA控件,所以尽可能拉大窗口显示更多消息来提高判断容错
SEND_CONTENT_RATIOfloat0.9输入内容相似度,用于判断输入框中的内容是否是要发送的内容,避免发送错误内容。因为存在特殊符号转码问题,可能编辑框内容无法100%与实际传入的字符串相等,所以达到相似度即通过校验,才触发发送
GET_NEXT_MAX_QUANTITYint30GetNextNewMessage方法最大获取数量
GET_NEXT_MAX_RUNTIMEint10GetNextNewMessage方法最长获取时间,单位秒
SPECIAL_SESSION_NAMElist['公众号', '折叠的聊天', 'QQ邮箱提醒', '服务号']特殊聊天会话名称列表
✨DEFAULT_STICKERSlist见下方列表默认聊天表情列表,包含常用的微信表情符号
CALLBACK_STOP_SIGNstr'stop'回调函数结束标识
INPUT_AT_INTERVALfloat0.5@成员输入间隔时间,单位秒

DEFAULT_STICKERS 默认表情列表

WxParam.DEFAULT_STICKERS 包含了微信的默认表情列表,共计 128 个表情符号:

DEFAULT_STICKERS = [
    # 基础表情
    '[微笑]', '[撇嘴]', '[色]', '[发呆]', '[得意]', '[流泪]', '[害羞]', '[闭嘴]', '[睡]', '[大哭]',
    '[尴尬]', '[发怒]', '[调皮]', '[呲牙]', '[惊讶]', '[难过]', '[囧]', '[抓狂]', '[吐]', '[偷笑]',
    '[愉快]', '[白眼]', '[傲慢]', '[困]', '[惊恐]', '[憨笑]', '[悠闲]', '[咒骂]', '[疑问]', '[嘘]',
    '[晕]', '[衰]', '[骷髅]', '[敲打]', '[再见]', '[擦汗]', '[抠鼻]', '[鼓掌]', '[坏笑]', '[右哼哼]',

    # 表情和手势
    '[鄙视]', '[委屈]', '[快哭了]', '[阴险]', '[亲亲]', '[可怜]', '[笑脸]', '[生病]', '[脸红]', '[破涕为笑]',
    '[恐惧]', '[失望]', '[无语]', '[嘿哈]', '[捂脸]', '[奸笑]', '[机智]', '[皱眉]', '[耶]', '[吃瓜]',
    '[加油]', '[汗]', '[天啊]', '[Emm]', '[社会社会]', '[旺柴]', '[好的]', '[打脸]', '[哇]', '[翻白眼]',

    # 符号和物品
    '[666]', '[让我看看]', '[叹气]', '[苦涩]', '[裂开]', '[嘴唇]', '[爱心]', '[心碎]', '[拥抱]', '[强]',
    '[弱]', '[握手]', '[胜利]', '[抱拳]', '[勾引]', '[拳头]', '[OK]', '[合十]', '[啤酒]', '[咖啡]',

    # 庆祝和节日
    '[蛋糕]', '[玫瑰]', '[凋谢]', '[菜刀]', '[炸弹]', '[便便]', '[月亮]', '[太阳]', '[庆祝]', '[礼物]',
    '[红包]', '[發]', '[福]', '[烟花]', '[爆竹]', '[猪头]', '[跳跳]', '[发抖]', '[转圈]', '[天啊]',

    # 其他
    '[强]', '[汗]', '[握手]',
]

这些表情可以在发送消息时使用,例如:

from wxautox4 import WeChat

wx = WeChat()
msg_list = wx.ChatWith('文件传输助手')

# 发送表情
msg_list.SendMsg('[微笑][拥抱][爱心]')

示例:

from wxautox4.param import WxParam

# 设置8个监听线程
WxParam.LISTENER_EXCUTOR_WORKERS = 8

# 设置搜索聊天超时时间为10秒
WxParam.SEARCH_CHAT_TIMEOUT = 10

# 自定义表情列表(添加自定义表情)
WxParam.DEFAULT_STICKERS = [
    '[微笑]', '[撇嘴]', '[色]',
    # ... 添加更多表情
]

WeChatImage

from wxautox4.ui.component import WeChatImage

imgwnd = WeChatImage()

微信图片/视频窗口类,用于处理微信图片或图片窗口的各种操作

wxauto_image_wnd

save

保存图片/视频

参数:

参数名类型默认值说明
dir_pathstrNone保存的目录路径,None即本地路径下自动生成
timeoutint10保存超时时间

返回值:Path,保存的文件路径

close

关闭图片/视频窗口

参数:无

返回值:无