# wxMaster **Repository Path**: yeyin197/wxMaster ## Basic Information - **Project Name**: wxMaster - **Description**: wxMaster是电脑版微信客户端的自动化框架,你可以用任何编程语言通过HTTP协议调用wxMaster框架的API接口,实现微信自动收取消息。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: https://www.xz3.top/wxMaster - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2025-05-06 - **Last Updated**: 2025-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # wxMaster [下载 wxMaster](https://wxmaster.pages.dev/exe/wxMaster.exe) wxMaster是电脑版微信客户端的自动化框架,你可以用任何编程语言通过HTTP协议调用wxMaster框架的API接口,实现微信自动收取消息。 wxMaster是面向开发者的,框架提供API功能接口,业务逻辑需要你用编程实现。 # 核心功能 **个人微信自动化 + 任意语言HTTP方式调用API接口 + 安全不封号** # 实现功能 1. 获取私聊消息 2. 获取群聊消息 3. 获取语音转文字消息 4. 获取通讯录全部联系人 5. 获取群成员列表 6. 获取指定联系人指定条数历史消息 7. 获取全部新消息 >以上所有功能提供HTTP协议API接口。 # 微信版本 4.0.0.26 4.0.0.32 4.0.0.34 4.0.0.35 4.0.1.11 4.0.1.13 4.0.1.17 4.0.1.21 4.0.2.17 [4.0.3.22 下载](https://mksoftcdnhp.yesky.com/6818c710/e02e4ec86536386d79d82ee0554b4ea6/uploadsoft/WeChatWin.4.0.3.22.exe) >wxMaster框架将尽力支持最新版微信。 >不支持4.0以下的版本。 >其它未测试版本不代表不能用,这个列表只是我本地有过的环境。 >请到微信官网下载最新版 [下载微信](https://pc.weixin.qq.com/)。 # 如何开始 1. [下载并启动wxMaster.exe](https://wxmaster.pages.dev/exe/wxMaster.exe) 2. 用任何编程语言编写业务逻辑。 # 安全愿景 市面上大部分个人微信机器人都采用HOOK注入或协议破解的方法实现,HOOK和协议最致命的缺点就是**易封号**,为了解决易封号的问题,wxMaster应运而生。 wxMaster采用直接读取微信本地数据库的方式获取消息数据,此方式不会被微信判定为危险行为,也就不会出现被封号的情况。 # 隐私声明 - wxMaster不会收集和上传用户的微信数据库内的任何数据。 - wxMaster不会修改、增添和删除用户的微信数据库内的任何数据。 # API接口 ## 通用 - **说明** 所有接口都按照此通用格式返回,不同接口的 `data` 值不同。 - **http地址** `http://127.0.0.1:34567` >其中 `34567` 是默认端口,允许用户自定义。 - **请求方式** `GET` - **返回类型** `json` - **返回** | 键 | 类型 | 示例 | 说明 | | :---: | :---: | :---: | :---: | | code | 整数 | 1 | 代码。1表示成功,其它表示失败 | | msg | 字符串 | success | 成功时为success,失败时为失败原因 | | data | json数组 | [] | 接口返回值 | - **返回示例** ``` { "code": 1, "msg": "success", "data": [...] } ``` ## getWxProcess - **api** `http://127.0.0.1:34567/getWxProcess` - **功能** 获取微信进程。 支持获取已登录的多个微信账号(微信多开)。 后续的所有接口都需要提供此接口返回的 **pid**。 调用其它接口之前必须先调用一次此接口,因为 wxMaster 需要对微信进程初始化。 如果中途登录了新的微信账号,必须再次调用一次此接口对新登录的微信初始化。 - **参数** 无 - **data** 数组内每一个元素对应一个微信进程(微信账号)。 | 键 | 类型 | 示例 | 说明 | | :---: | :---: | :---: | :---: | | accountNick | 字符串 | 昵称1 | 昵称 | | pid | 整数 | 111111 | 微信进程id | | version | 字符串 | 4.0.3.22 | 微信版本号 | | support | 字符串 | 支持 | 是否是被wxMaster支持的微信版本号
当前支持4.0.x版本 | - **返回示例:** ```json { "code": 1, "msg": "success", "data": [ { "accountNick": "昵称1", "pid": 111111, "version": "4.0.3.22", "support": "支持" }, { "accountNick": "昵称2", "pid": 222222, "version": "4.0.3.22", "support": "支持" } ] } ``` ## getContact - **API** `http://127.0.0.1:34567/getContact?pid=111111&getChatroom=1` - **功能** 获取通讯录。 - **参数** | 参数 | 必须 | 默认 | 示例 | 说明 | | :---: | :---:| :---: | :---: | :---: | | pid | 是 | 无 |111111 | 被获取的微信进程pid | | getChatroom | 否 | 1 | 1 / 0 | 是否获取群聊 | | getOpenim | 否 | 1 | 1 / 0 | 是否获取企业微信 | | getGh | 否 | 1 | 1 / 0 | 是否获取公众号和服务号 | - **data** | 键 | 示例 | 说明 | | :---: | :---: | :---: | | username | wxid_xxx | 联系人的wxid | | nick_name | 昵称1 | 联系人昵称 | | remark | 备注名1 | 备注 | | small_head_url | `https://wx.qlogo.cn/xxx` | 头像链接 | - **返回示例** >username以 `@chatroom` 结尾的是群聊 >username以 `@openim` 结尾的是企业微信联系人 >username以 `gh_` 开头的是公众号或服务号 ``` { "code":1, "msg":"success", "data":[ { "username":"wxid_xxx", "nick_name":"昵称1", "remark":"备注名1", "small_head_url":"https://wx.qlogo.cn/xxx" }, { "username":"111111@chatroom", "nick_name":"群聊名2", "remark":"备注名2", "small_head_url":"https://wx.qlogo.cn/xxx" } ] } ``` ## getChatroomMember - **API** `http://127.0.0.1:34567/getChatroomMember?pid=111111&username=12345678901@chatroom` - **功能** 获取群成员。 - **参数** | 参数 | 必须 | 示例 | 说明 | | :---: | :---: | :---: | :---: | | pid | 是 | 111111 | 被获取的微信进程pid | | username | 是 | 12345678901@chatroom | 被获取的群username。
从 `getContact` 接口获得 | - **data** | 键 | 示例 | 说明 | | :---: | :---: | :---: | | nick | 张三 | 群成员的微信昵称 | | remark | 张三2 | 群成员的群昵称 | | username | 张三2 | 群成员的wxid | - **返回示例** ``` { "code":1, "msg":"success", "data":[ { "nick":"张三", "remark":"张三2", "username":"wxid_xxx" }, { "nick":"李四", "remark":"李四2", "username":"wxid_yyy" } ] } ``` ## getMsgOne - **API** `http://127.0.0.1:34567/getMsgOne?pid=111111&username=wxid_xxx&count=20&getVoice=0` - **功能** 获取一个联系人的历史消息,可以是好友私聊消息或群聊消息。 - **参数** | 参数 | 必须 | 默认 | 示例 | 说明 | | :---: | :---: | :---: | :---: | :---: | | pid | 是 | 无 | 111111 | 被获取消息的微信进程pid | | username | 是 | 无 | wxid_xxx | 被获取消息的好友username或群聊username。
从 `getContact` 接口获得 | | count | 否 | 20 | 20 | 获取历史消息的条数。
不指定则获取20条。 | | getVoice | 否 | 0 | 0 | 是否获取语音转文本消息。
1:是
0:否 | - **data** | 键 | 示例 | 说明 | | :---: | :---: | :---: | | content | 我是消息内容 | 消息内容 | | nick | 张三 | 发送人昵称
如果备注存在,则返回备注 | | time | 1700000000 | 消息时间戳,10位 | | type | 1 | 消息类别
见下方详细列表 | | username| wxid_xxx | 发送人username | - **type** 消息类别 | type | 消息类型 | | :---: | :-----: | | 1 | [文本消息] | | 3 | [图片消息] | | 34 | [语音消息]
当语音被转为文字后,可获取到文字内容。| | 42 | [名片消息] | | 43 | [视频消息] | | 47 | [动画表情] | | 48 | [位置消息] | | 50 | [音视频通话] | | 66 | [企业微信好友名片] | | 10000 | [系统消息] | | 244813135921 | [引用消息] | | 17179869233 | [卡片式链接(带描述)] | | 21474836529 | [卡片式链接/图文消息] | | 154618822705 | [小程序分享] | | 12884901937 | [音乐卡片] | | 8594229559345 | [红包卡片] | | 81604378673 | [聊天记录合并转发消息] | | 266287972401 | [拍一拍消息] | | 8589934592049 | [转账卡片] | | 270582939697 | [视频号直播卡片] | | 25769803825 | [文件消息] | | 292057776177 | [分享链接] | | 4294967345 | [分享链接] | | 326417514545 | [分享链接] | | 219043332145 | [视频号] | | 141733920817 | [小程序] | | 103079215153 | [转发的收藏笔记] | - **返回示例** ```json { "code": 1, "msg": "success", "data": [ { "content":"我是文字消息", "nick":"张三", "time":1700000000, "type":1, "username":"wxid_xxx" }, { "content":"我是语音转文字消息", "nick":"张三", "time":1700000000, "type":34, "username":"wxid_xxx" }, { "content":"[图片消息]", "nick":"张三", "time":1700000000, "type":3, "username":"wxid_xxx" } ] } ``` ## getMsgNew - **API** `http://127.0.0.1:34567/getMsgNew?pid=111111&getVoice=0` - **功能** 获取全部新消息,包括好友私聊消息和群聊消息。 轮询此接口可获取新消息。 每次调用此接口时,wxMaster会记录当时的时间。下次调用此接口时,消息的发送时间大于上次的时间则认为是新消息。 - **参数** | 参数 | 必须 | 默认 | 示例 | 说明 | | :---: | :---: | :---: | :---: | :---: | | pid | 是 | 无 | 111111 | 被获取消息的微信进程pid | | getVoice | 否 | 0 | 0 | 是否获取语音转文字消息。
1:是
0:否 | - **data** >如果没有新消息,返回的data会是一个空数组。 | 键 | 示例 | 说明 | | :---: | :---: | :---: | | fromNick | 张三 / 群聊名称 | 消息来源。
好友昵称,或群聊名称
如果备注存在,则返回备注 | | fromUsername | wxid_xxx / xxx@chatroom | 消息来源。
好友wxid,或群聊wxid | | list | [...] | 消息数组。
按时间先后排序,最近的消息在最前面 | | content | 我是消息内容 | 消息内容。 | | nick | 张三 | 发送人昵称
如果备注存在,则返回备注 | | time | 1700000000 | 消息时间戳,10位 | | type | 1 | 消息类型
参见 `getMsgOne` 接口的type类型 | | username | wxid_xxx | 发送人wxid | - **返回示例** ```json { "code": 1, "msg": "success", "data": [ { "fromNick":"张三", "fromUsername":"wxid_xxx", "list":[ { "content":"我是文字消息", "nick":"张三", "time":1700000000, "type":1, "username":"wxid_xxx" }, { "content":"我是语音转文字消息", "nick":"张三", "time":1700000000, "type":34, "username":"wxid_xxx" }, { "content":"[图片消息]", "nick":"张三", "time":1700000000, "type":3, "username":"wxid_xxx" } ] }, { "fromNick":"群聊名", "fromUsername":"xxx@chatroom", "list":[ { "content":"我是文字消息", "nick":"张三", "time":1700000000, "type":1, "username":"wxid_xxx" }, { "content":"我是语音转文字消息", "nick":"李四", "time":1700000000, "type":34, "username":"wxid_yyy" }, { "content":"[图片消息]", "nick":"王二麻子", "time":1700000000, "type":3, "username":"wxid_zzz" } ] } ] } ``` # 用户协议 用户下载并启动wxMaster即表示同意该协议。 用户通过wxMaster仅能获取自己的微信数据,禁止用于获取别人的微信数据。 用户使用wxMaster产生的任何非法行为与wxMaster无关。 使用框架时需遵守所在地法律法规、相关政策以及企业章程,禁止用于任何违法或侵犯他人权益的行为。 wxMaster需要获取用户PC端微信的数据库密码,从而实现获取微信消息和获取联系人的功能。获取到的数据库密码wxMaster不会上传和发送给任何其他人。用户下载并启动wxMaster即表示同意授权给wxMaster获取微信数据库密码和读取数据库内容的权限。