写点什么

mxxWechatBot 微信机器人 V2(流程图、原理)

作者:穆雄雄
  • 2023-12-31
    山东
  • 本文字数:2773 字

    阅读完需:约 9 分钟

mxxWechatBot微信机器人V2(流程图、原理)

大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。



@TOC

一、前言

免责声明:该工具仅供学习使用,禁止使用该工具从事违法活动,否则永久拉黑​封禁账号。


经过不断地探索与研究,mxxWechatBot正式上线,届时全面开放使用。


mxxWechatBot,微信机器人,实现原理主要是是hook注入,部署环境要求如下:


  1. 操作系统:windows 操作系统

  2. 微信版本:WeChatSetup3.6.0.18.exe(安装包可以找我要)

  3. jdk版本:目前使用的是 1.8,安装包也可以找我要

  4. 系统最低配置要求:2 核 4G 的 win 系统即可。


也可以从服务端的资料下载中下载。



初识版本大约是在今年 5 月份就推出来了,当时使用用户不是很多,不断地改进到现在。为什么改造这么长时间?其一平时工作本身也比较忙,没有多余的时间静下来去改善。其二是,机器人满足了自己的需求了,就没有在扩展的写了,后来经过用户一使用,问题还是不少,于是就继续改造,好在功夫不负有心人,终于改造完了。接下来,我来整体的说一下情况吧:

二、mxxWechatBot 流程图



上面的流程图其实一目了然了,mxxWechatBot一共分为了三端,分别为:


  • mxxWechatBot客户端,主要部署在用户的 win 系统上

  • mxxWechatBot服务端,主要部署在博主这边

  • 用户业务端,主要部署在用户端,或是家里的本地服务器,或是云服务器


三个端之间的各个请求环节大家可以看流程图即可,算了.....估计有的懒人可能都不认证看流程图就开始问问题了。我还是简单的总结一下流程图中的内容吧。


  1. 当用户发送消息后,客户端会收到用户所发送的消息,然后判断当前客户端账号是否有权限调用自定义接口,如果有,则查询本地文件(你不用关注是哪个文件)看看用户发送的消息中,有没有和你自定义设置的关键词所匹配,如果有,则调用你在服务端设置的自定义接口,如果没有,则不操作。

  2. 你业务端的自定义接口处理来自 mxxWechatBot 客户端发送的消息,消息内容格式如下:


{    "msg":"收到的消息",  "tag":1,          //消息类型,0表示发送文字,1表示发送图片 2发送本地文件 3发送H5小卡片 4发送小程序 5发送音乐卡片 6发送xml文件 7发送聊天记录 -1设置百度的appkey和秘钥 8语言消息 9名片消息 10视频消息 11动态表情 12地理位置 13分享链接或者附件 14红包 15群邀请 16系统消息  "atList":[],      //艾特的人  "finalFromWxid":"发送消息的人",//如果是群,则是发送消息的人,如果是好友,该值为空  "fromWxid":"发送的群",//如果是群,则是wxid,如果是好友,则是好友wxid  "memberCount":100,//群成员数量,如果是好友,则为空  "time":"16816816816",  //发送时间  "msgSourse":0  //消息来源-0别人发送  1自己发送  }
复制代码


然后你需要写个请求方式为:post的接口,入参格式为json,然后按照你对应的业务去处理。


业务接口以Java为例,代码如下:


@PostMapping("/testQianDao")    public void testQianDao(@RequestBody String data){        //data就是传输过来的json格式字符串        JSONObject dataJson = JSONObject.parseObject(data);        //处理你的业务    }
复制代码


别的语言,自行去写即可。


  1. 处理完消息后,如果需要给发送消息的群或者好友回复,则需要调用一下发送消息的接口即可。发送消息以java为示例:


①获取token


/**     * 获取服务端机器人的token     */    public String getmxxWecharBotToken(){        String url = "http://wechat.88688.team/prod-api/" + "/getWechatToken";        JSONObject o = new JSONObject();        o.put("username",LOGIN_USER_NAME);  //自己服务端的账号        o.put("password",LOGIN_USER_PASSWORD); //自己服务端的密码        String params = JSON.toJSONString(o);        String body = HttpUtil.createPost(url)                .body(params)               .execute()               .body();        log.info("请求获取服务端的token:{}",body);        JSONObject jsonObject = JSON.parseObject(body);        String token  = "";        if(jsonObject.getInteger("code") == 200){            //获取token            token = jsonObject.getString("token");            //将token放在缓存中            redisService.setCacheObject("mxxWechatRotToken",token,28, TimeUnit.MINUTES);        }        return token;    }
复制代码


②请求接口:


/**     * 给微信机器人中发送信息的公共方法     */    public String sendMsgToWechat(String wxid,Integer tag,String appkey,String message,boolean isAt,JSONArray atList){        String url = WECHAT_SERVE_API + "/system/object/customApiSendMsg";        String token = "";        //获取token       Object redisToken =  redisService.getCacheObject("mxxWechatRotToken");       if (redisToken==null){           token = getmxxWecharBotToken();       }else{           token = redisToken.toString();       }       log.info("token的值是{}",token);       //将消息放在body中        JSONObject paramsObject = new JSONObject();        paramsObject.put("tag",tag);        paramsObject.put("wxid",wxid);        paramsObject.put("appkey",appkey);        paramsObject.put("message",message);        paramsObject.put("isAt",isAt);        paramsObject.put("atList",atList);        String body = HttpUtil.createPost(url)                .header(Header.AUTHORIZATION,"Bearer "+token)                .header(Header.CONTENT_TYPE,"application/json")                .body(JSON.toJSONString(paramsObject))                .execute()                .body();        log.info("给微信群中发送的结果:" + body);        return body;    }
复制代码


详情请参考接口文档:接口地址以及这篇博客:利用雄雄的小课堂-微信机器人通过自定义接口发送不同形式的内容至群



这就是整个流程,写文档比写代码还累,md....

三、怎么使用?

  1. 联系我,找我要个服务端的账号,微信:mxx2451999120(2024.2.1 日之前,所有用户免费使用,后期预计收费 15 元/月)

  2. 拿到账号后,登录服务端,进资料下载的菜单下载资料,也可以找我直接要。

  3. 配置自定义接口:进自定义接口菜单中配置。

  4. 准备一台 win 操作系统的环境,如果没有,可以在网上买个 XX 宝,一月 10 块钱,半年 50,比自己在家里开个机器方便多了,而且,自己的机器,一月电费都不止 10 块钱,有需要的,可以找我,我给你连接,不赚你一分钱。

  5. 在 win 机器上,启动客户端、注入、登录微信,教程:mxxWechatBot微信机器人V2使用教程(图文)最全最详细

  6. 登录上服务端,同步一下自己的自定义接口给客户端(注意,一定要启动好客户端之后在同步,不然同步不上)。



然后就可以使用了。


发布于: 刚刚阅读数: 5
用户头像

穆雄雄

关注

还未添加个人签名 2023-01-29 加入

还未添加个人简介

评论

发布
暂无评论
mxxWechatBot微信机器人V2(流程图、原理)_微信机器人_穆雄雄_InfoQ写作社区