Skip to content

flairyu/wxMaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

wxMaster

下载 wxMaster
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  

wxMaster框架将尽力支持最新版微信。
不支持4.0以下的版本。
请到微信官网下载最新版 下载微信

如何开始

  1. 下载并启动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版本
  • 返回示例:

    {
        "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 [转发的收藏笔记]
  • 返回示例

    {
        "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
  • 返回示例

    {
        "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获取微信数据库密码和读取数据库内容的权限。

About

wxMaster是电脑版微信客户端的自动化框架,你可以用任何编程语言通过HTTP协议调用wxMaster框架的API接口,实现微信自动收发消息。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors