feat: Initialize wxauto WeChat automation project with job extraction tools

- Add wxauto package with WeChat UI automation and message handling capabilities
- Implement job_extractor.py for automated job posting extraction from WeChat groups
- Add job_extractor_gui.py providing graphical interface for job extraction tool
- Create comprehensive documentation in Chinese covering GUI usage, multi-group support, and quick start guides
- Add build configuration files (build_exe.py, build_exe.spec) for packaging as standalone executable
- Include utility scripts for WeChat interaction (auto_send_msg.py, get_history.py, receive_file_transfer.py)
- Add project configuration files (pyproject.toml, setup.cfg, requirements.txt)
- Include test files (test_api.py, test_com_fix.py) for API and compatibility validation
- Add Apache 2.0 LICENSE and comprehensive README documentation
- Configure .gitignore to exclude build artifacts, logs, and temporary files
This commit is contained in:
2026-02-11 14:49:38 +08:00
commit b66bac7ca8
52 changed files with 15318 additions and 0 deletions

294
wxauto/languages.py Normal file
View File

@@ -0,0 +1,294 @@
WECHAT_MAIN = {
'新的朋友': {'cn': "新的朋友", 'cn_t': '', 'en': ""},
"添加朋友": {'cn': "添加朋友", 'cn_t': '', 'en': ""},
"搜索结果": {'cn': "搜索:", 'cn_t': '', 'en': ""},
"找不到相关账号或内容": {'cn': "找不到相关账号或内容", 'cn_t': '', 'en': ""},
}
WECHAT_CHAT_BOX = {
"查看更多消息": {'cn': "查看更多消息", 'cn_t': '', 'en': ""},
"消息": {'cn': "消息", 'cn_t': '', 'en': ""},
"表情" : {'cn': "表情(Alt+E)", 'cn_t': '', 'en': ""},
"发送文件": {'cn': "发送文件", 'cn_t': '', 'en': ""},
"截图": {'cn': "截图", 'cn_t': '', 'en': ""},
"聊天记录": {'cn': "聊天记录", 'cn_t': '', 'en': ""},
"语音聊天": {'cn': "语音聊天", 'cn_t': '', 'en': ""},
"视频聊天": {'cn': "视频聊天", 'cn_t': '', 'en': ""},
'聊天信息': {'cn': "聊天信息", 'cn_t': '', 'en': ""},
"发送": {'cn': "发送(S)", 'cn_t': '', 'en': ""},
"置顶": {'cn': "置顶", 'cn_t': '', 'en': ""},
"最小化": {'cn': "最小化", 'cn_t': '', 'en': ""},
"最大化": {'cn': "最大化", 'cn_t': '', 'en': ""},
"关闭": {'cn': "关闭", 'cn_t': '', 'en': ""},
'以下为新消息': {'cn': "以下为新消息", 'cn_t': '', 'en': ""},
're_新消息按钮': {'cn': '.*?条新消息', 'cn_t': '', 'en': ""},
}
WECHAT_SESSION_BOX = {
# 聊天页面
"聊天记录": {'cn': "聊天记录", 'cn_t': '', 'en': ""},
"会话": {'cn': "会话", 'cn_t': '', 'en': ""},
"已置顶": {'cn': "已置顶", 'cn_t': '', 'en': ""},
"文件传输助手": {'cn': "文件传输助手", 'cn_t': '', 'en': ""},
"折叠的群聊": {'cn': "折叠的群聊", 'cn_t': '', 'en': ""},
"发起群聊": {'cn': "发起群聊", 'cn_t': '', 'en': ""},
"搜索": {'cn': "搜索", 'cn_t': '', 'en': ""},
"re_条数": {'cn': r'\[\d+条\]', 'cn_t': '', 'en': ""},
# 联系人页面
"添加朋友": {'cn': "添加朋友", 'cn_t': '', 'en': ""},
"联系人": {'cn': "联系人", 'cn_t': '', 'en': ""},
"通讯录管理": {'cn': "通讯录管理", 'cn_t': '', 'en': ""},
"新的朋友": {'cn': "新的朋友", 'cn_t': '', 'en': ""},
"公众号": {'cn': "公众号", 'cn_t': '', 'en': ""},
"企业号": {'cn': "企业号", 'cn_t': '', 'en': ""},
"群聊": {'cn': "群聊", 'cn_t': '', 'en': ""},
# 收藏页面
"分类": {'cn': "分类", 'cn_t': '', 'en': ""},
"新建笔记": {'cn': "新建笔记", 'cn_t': '', 'en': ""},
"全部收藏": {'cn': "全部收藏", 'cn_t': '', 'en': ""},
"最近使用": {'cn': "最近使用", 'cn_t': '', 'en': ""},
"链接": {'cn': "链接", 'cn_t': '', 'en': ""},
"图片与视频": {'cn': "图片与视频", 'cn_t': '', 'en': ""},
"笔记": {'cn': "笔记", 'cn_t': '', 'en': ""},
"文件": {'cn': "文件", 'cn_t': '', 'en': ""},
"聊天记录": {'cn': "聊天记录", 'cn_t': '', 'en': ""},
"分割线": {'cn': "分割线", 'cn_t': '', 'en': ""},
"展开标签": {'cn': "展开标签", 'cn_t': '', 'en': ""},
"折叠标签": {'cn': "折叠标签", 'cn_t': '', 'en': ""},
"标签": {'cn': "标签", 'cn_t': '', 'en': ""},
}
WECHAT_NAVIGATION_BOX = {
'聊天': {'cn': "聊天", 'cn_t': '', 'en': ""},
'通讯录': {'cn': "通讯录", 'cn_t': '', 'en': ""},
'收藏': {'cn': "收藏", 'cn_t': '', 'en': ""},
'聊天文件': {'cn': "聊天文件", 'cn_t': '', 'en': ""},
'朋友圈': {'cn': "朋友圈", 'cn_t': '', 'en': ""},
'搜一搜': {'cn': "搜一搜", 'cn_t': '', 'en': ""},
"视频号": {'cn': "视频号", 'cn_t': '', 'en': ""},
"看一看": {'cn': "看一看", 'cn_t': '', 'en': ""},
"小程序面板": {'cn': "小程序面板", 'cn_t': '', 'en': ""},
"手机": {'cn': "手机", 'cn_t': '', 'en': ""},
"设置及其他": {'cn': "设置及其他", 'cn_t': '', 'en': ""},
}
EMOTION_WINDOW = {
"添加的单个表情": {'cn': "添加的单个表情", 'cn_t': '', 'en': ""},
}
MOMENT_PRIVACY = {
'谁可以看': {'cn': "谁可以看", 'cn_t': '', 'en': ""},
"公开": {'cn': "公开", 'cn_t': '', 'en': ""},
"所有朋友可见": {'cn': "所有朋友可见", 'cn_t': '', 'en': ""},
"私密": {'cn': "私密", 'cn_t': '', 'en': ""},
"仅自己可见": {'cn': "仅自己可见", 'cn_t': '', 'en': ""},
"白名单": {'cn': "选中的标签或朋友可见", 'cn_t': '', 'en': ""},
"黑名单": {'cn': "选中的标签或朋友不可见", 'cn_t': '', 'en': ""},
"完成": {'cn': "完成", 'cn_t': '', 'en': ""},
"确定": {'cn': "确定", 'cn_t': '', 'en': ""},
"取消": {'cn': "取消", 'cn_t': '', 'en': ""}
}
PROFILE_CARD = {
'微信号': {'cn': "微信号:", 'cn_t': '', 'en': ""},
'昵称': {'cn': "昵称:", 'cn_t': '', 'en': ""},
'备注': {'cn': "备注", 'cn_t': '', 'en': ""},
'地区': {'cn': "地区:", 'cn_t': '', 'en': ""},
'标签': {'cn': "标签", 'cn_t': '', 'en': ""},
'共同群聊': {'cn': "共同群聊", 'cn_t': '', 'en': ""},
'来源': {'cn': "来源", 'cn_t': '', 'en': ""},
'发消息': {'cn': "发消息", 'cn_t': '', 'en': ""},
'语音聊天': {'cn': "语音聊天", 'cn_t': '', 'en': ""},
'视频聊天': {'cn': "视频聊天", 'cn_t': '', 'en': ""},
'更多': {'cn': "更多", 'cn_t': '', 'en': ""},
"设置备注和标签": {'cn': "设置备注和标签", 'cn_t': '', 'en': ""},
'确定': {'cn': "确定", 'cn_t': '', 'en': ""},
'输入标签': {'cn': "输入标签", 'cn_t': '', 'en': ""},
'备注名': {'cn': "备注名", 'cn_t': '', 'en': ""},
}
MESSAGES = {
'[图片]': {'cn': "[图片]", 'cn_t': '', 'en': ""},
'[视频]': {'cn': "[视频]", 'cn_t': '', 'en': ""},
'[语音]': {'cn': "[语音]", 'cn_t': '', 'en': ""},
'[音乐]': {'cn': "[音乐]", 'cn_t': '', 'en': ""},
'[位置]': {'cn': "[位置]", 'cn_t': '', 'en': ""},
'[链接]': {'cn': "[链接]", 'cn_t': '', 'en': ""},
'[文件]': {'cn': "[文件]", 'cn_t': '', 'en': ""},
'[名片]': {'cn': "[名片]", 'cn_t': '', 'en': ""},
'[笔记]': {'cn': "[笔记]", 'cn_t': '', 'en': ""},
'[视频号]': {'cn': "[视频号]", 'cn_t': '', 'en': ""},
'[动画表情]': {'cn': "[动画表情]", 'cn_t': '', 'en': ""},
'[聊天记录]': {'cn': "[聊天记录]", 'cn_t': '', 'en': ""},
'微信转账': {'cn': "微信转账", 'cn_t': '', 'en': ""},
'接收中': {'cn': "接收中", 'cn_t': '', 'en': ""},
're_语音': {'cn': "^\[语音\]\d+秒(,未播放)?$", 'cn_t': '', 'en': ""},
're_引用消息': {'cn': "(^.+)\n引用.*?的消息 : (.+$)", 'cn_t': '', 'en': ""},
're_拍一拍': {'cn': "^.+拍了拍.+$", 'cn_t': '', 'en': ""},
}
CHATROOM_DETAIL_WINDOW = {
"聊天信息": {'cn': "聊天信息", 'cn_t': '', 'en': ""},
"查看更多": {'cn': "查看更多", 'cn_t': '', 'en': ""},
'群聊名称': {'cn': "群聊名称", 'cn_t': '', 'en': ""},
'仅群主或管理员可以修改': {'cn': "仅群主或管理员可以修改", 'cn_t': '', 'en': ""},
'我在本群的昵称': {'cn': "我在本群的昵称", 'cn_t': '', 'en': ""},
"仅群主和管理员可编辑": {'cn': "仅群主和管理员可编辑", 'cn_t': '', 'en': ""},
'点击编辑群公告': {'cn': "点击编辑群公告", 'cn_t': '', 'en': ""},
'编辑': {'cn': "编辑", 'cn_t': '', 'en': ""},
'备注': {'cn': "备注", 'cn_t': '', 'en': ""},
'群公告': {'cn': "群公告", 'cn_t': '', 'en': ""},
'分隔线': {'cn': "分隔线", 'cn_t': '', 'en': ""},
'完成': {'cn': "完成", 'cn_t': '', 'en': ""},
'发布': {'cn': "发布", 'cn_t': '', 'en': ""},
'退出群聊': {'cn': "退出群聊", 'cn_t': '', 'en': ""},
'退出': {'cn': "退出", 'cn_t': '', 'en': ""},
'聊天成员': {'cn': "聊天成员", 'cn_t': '', 'en': ""},
"添加": {'cn': "添加", 'cn_t': '', 'en': ""},
"移出": {'cn': "移出", 'cn_t': '', 'en': ""},
"re_退出群聊": {'cn': "将退出群聊“.*?”", 'cn_t': '', 'en': ""},
}
PROFILE_WINDOW = {
"微信号": {'cn': "微信号:", 'cn_t': '', 'en': ""},
"昵称": {'cn': "昵称:", 'cn_t': '', 'en': ""},
"地区": {'cn': "地区:", 'cn_t': '', 'en': ""},
"个性签名": {'cn': "个性签名", 'cn_t': '', 'en': ""},
"来源": {'cn': "来源", 'cn_t': '', 'en': ""},
"备注": {'cn': "备注", 'cn_t': '', 'en': ""},
"共同群聊": {'cn': "共同群聊", 'cn_t': '', 'en': ""},
'添加到通讯录': {'cn': "添加到通讯录", 'cn_t': '', 'en': ""},
'更多': {'cn': "更多", 'cn_t': '', 'en': ""},
}
ADD_NEW_FRIEND_WINDOW = {
'标签': {'cn': "标签", 'cn_t': '', 'en': ""},
'确定': {'cn': "确定", 'cn_t': '', 'en': ""},
'备注名': {'cn': "备注名", 'cn_t': '', 'en': ""},
'朋友圈': {'cn': "朋友圈", 'cn_t': '', 'en': ""},
'仅聊天': {'cn': "仅聊天", 'cn_t': '', 'en': ""},
'聊天、朋友圈、微信运动等': {
'cn': "聊天、朋友圈、微信运动等",
'cn_t': '',
'en': ""
},
"你的联系人较多,添加新的朋友时需选择权限": {
'cn': "你的联系人较多,添加新的朋友时需选择权限",
'cn_t': '',
'en': ""
},
"发送添加朋友申请": {
'cn': "发送添加朋友申请",
'cn_t': '',
'en': ""
}
}
ADD_GROUP_MEMBER_WINDOW = {
'搜索': {'cn': "搜索", 'cn_t': '', 'en': ""},
'确定': {'cn': "确定", 'cn_t': '', 'en': ""},
'完成': {'cn': "完成", 'cn_t': '', 'en': ""},
'发送': {'cn': "发送", 'cn_t': '', 'en': ""},
'已选择联系人': {'cn': "已选择联系人", 'cn_t': '', 'en': ""},
'请勾选需要添加的联系人': {
'cn': "请勾选需要添加的联系人",
'cn_t': '',
'en': ""
}
}
IMAGE_WINDOW = {
'上一张': {'cn': '上一张', 'cn_t': '上一張', 'en': 'Previous'},
'下一张': {'cn': '下一张', 'cn_t': '下一張', 'en': 'Next'},
'预览': {'cn': '预览', 'cn_t': '預覽', 'en': 'Preview'},
'放大': {'cn': '放大', 'cn_t': '放大', 'en': 'Zoom'},
'缩小': {'cn': '缩小', 'cn_t': '縮小', 'en': 'Shrink'},
'图片原始大小': {'cn': '图片原始大小', 'cn_t': '圖片原始大小', 'en': 'Original image size'},
'旋转': {'cn': '旋转', 'cn_t': '旋轉', 'en': 'Rotate'},
'编辑': {'cn': '编辑', 'cn_t': '編輯', 'en': 'Edit'},
'翻译': {'cn': '翻译', 'cn_t': '翻譯', 'en': 'Translate'},
'提取文字': {'cn': '提取文字', 'cn_t': '提取文字', 'en': 'Extract Text'},
'识别图中二维码': {'cn': '识别图中二维码', 'cn_t': '識别圖中QR Code', 'en': 'Extract QR Code'},
'另存为': {'cn': '另存为...', 'cn_t': '另存爲...', 'en': 'Save as…'},
'更多': {'cn': '更多', 'cn_t': '更多', 'en': 'More'},
'复制': {'cn': '复制', 'cn_t': '複製', 'en': 'Copy'},
'最小化': {'cn': '最小化', 'cn_t': '最小化', 'en': 'Minimize'},
'最大化': {'cn': '最大化', 'cn_t': '最大化', 'en': 'Maximize'},
'关闭': {'cn': '关闭', 'cn_t': '關閉', 'en': 'Close'},
'': {'cn': '', 'cn_t': '', 'en': ''}
}
MENU_OPTIONS = {
# session
'置顶': {'cn': '置顶', 'cn_t': '', 'en': ''},
'取消置顶': {'cn': '取消置顶', 'cn_t': '', 'en': ''},
'标为未读': {'cn': '标为未读', 'cn_t': '', 'en': ''},
'消息免打扰': {'cn': '消息免打扰', 'cn_t': '', 'en': ''},
'在独立窗口打开': {'cn': '在独立窗口打开', 'cn_t': '', 'en': ''},
'不显示聊天': {'cn': '不显示聊天', 'cn_t': '', 'en': ''},
'删除聊天': {'cn': '删除聊天', 'cn_t': '', 'en': ''},
# msg
'撤回': {'cn': '撤回', 'cn_t': '', 'en': ''},
'复制': {'cn': '复制', 'cn_t': '', 'en': ''},
'放大阅读': {'cn': '放大阅读', 'cn_t': '', 'en': ''},
'翻译': {'cn': '翻译', 'cn_t': '', 'en': ''},
'转发': {'cn': '转发...', 'cn_t': '', 'en': ''},
'收藏': {'cn': '收藏', 'cn_t': '', 'en': ''},
'多选': {'cn': '多选', 'cn_t': '', 'en': ''},
'引用': {'cn': '引用', 'cn_t': '', 'en': ''},
'搜一搜': {'cn': '搜一搜', 'cn_t': '', 'en': ''},
'删除': {'cn': '删除', 'cn_t': '', 'en': ''},
'编辑': {'cn': '编辑', 'cn_t': '', 'en': ''},
'另存为': {'cn': '另存为...', 'cn_t': '', 'en': ''},
'语音转文字': {'cn': '语音转文字', 'cn_t': '', 'en': ''},
'在文件夹中显示': {'cn': '在文件夹中显示', 'cn_t': '', 'en': ''},
# edit
'剪切': {'cn': '剪切', 'cn_t': '', 'en': ''},
'粘贴': {'cn': '粘贴', 'cn_t': '', 'en': ''},
}
MOMENTS = {
'朋友圈': {'cn': '朋友圈', 'cn_t': '', 'en': ''},
'刷新': {'cn': '刷新', 'cn_t': '', 'en': ''},
'评论': {'cn': '评论', 'cn_t': '', 'en': ''},
'广告': {'cn': '广告', 'cn_t': '', 'en': ''},
'': {'cn': '', 'cn_t': '', 'en': ''},
'取消': {'cn': '取消', 'cn_t': '', 'en': ''},
'发送': {'cn': '发送', 'cn_t': '', 'en': ''},
'分隔符_点赞': {'cn': '', 'cn_t': '', 'en': ''},
're_图片数': {'cn': '包含\d+张图片', 'cn_t': '', 'en': ''},
}
NEW_FRIEND_ELEMENT = {
'新的朋友': {'cn': '新的朋友', 'cn_t': '', 'en': ''},
'回复': {'cn': '回复', 'cn_t': '', 'en': ''},
'发送': {'cn': '发送', 'cn_t': '', 'en': ''},
'朋友圈': {'cn': '朋友圈', 'cn_t': '', 'en': ''},
'仅聊天': {'cn': '仅聊天', 'cn_t': '', 'en': ''},
'聊天、朋友圈、微信运动等': {'cn': '聊天、朋友圈、微信运动等', 'cn_t': '', 'en': ''},
'备注名': {'cn': '备注名', 'cn_t': '', 'en': ''},
'标签': {'cn': '标签', 'cn_t': '', 'en': ''},
}
WECHAT_BROWSER = {
"关闭": {'cn': '关闭', 'cn_t': '', 'en': ''},
"更多": {'cn': '更多', 'cn_t': '', 'en': ''},
'地址和搜索栏': {'cn': '地址和搜索栏', 'cn_t': '', 'en': ''},
'转发给朋友': {'cn': '转发给朋友', 'cn_t': '', 'en': ''},
'复制链接': {'cn': '复制链接', 'cn_t': '', 'en': ''},
}
WECHAT_LOGINWND = {
"进入微信": {'cn': '进入微信', 'cn_t': '', 'en': ''},
"切换账号": {'cn': '切换账号', 'cn_t': '', 'en': ''},
"仅传输文件": {'cn': '仅传输文件', 'cn_t': '', 'en': ''},
"二维码": {'cn': '仅传输文件', 'cn_t': '', 'en': ''},
"提示": {'cn': '提示', 'cn_t': '', 'en': ''},
"确定": {'cn': '确定', 'cn_t': '', 'en': ''},
}