mxxWechatBot微信机器人V2版本文档说明

news2025/7/11 0:08:02

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


先看这里

    • 一、前言
    • 二、mxxWechatBot流程图
    • 三、怎么使用?

一、前言

经过不断地探索与研究,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机器上,启动客户端、注入、登录微信,教程:java版本微信机器人使用教程V1.0 。

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

然后就可以使用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1345123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

递归详解之青蛙跳台阶和汉诺塔问题

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

阻止指定IP地址进行网站访问的简单方式

​  许多网站管理员,应该都会将恶意持续访问的IP请求视为比较头疼的一个问题。要解决这个不正常的访问请求,增强网站安全性,有些简单方式可用。在下面的文章中,介绍了使用.htaccess来禁止某些IP地址的简单方式。 首先&#xff0…

C#的checked关键字判断是否溢出

目录 一、定义 二、示例: 三、生成: 一、定义 使用checked关键字处理溢出。 在进行数学运算时,由于变量类型不同,数值的值域也有所不同。如果变量中的数值超出了变量的值域,则会出现溢出情况,出现溢出…

C++内联函数与引用(超详细)

文章目录 前言一、内联函数1.为什么会存在内联函数2.什么是内联函数3.内联函数注意事项 二、引用1.什么是引用2.引用的特性3.常引用4.引用使用场景5.引用与指针 总结 前言 一、内联函数 1.为什么会存在内联函数 🧐🧐首先我们介绍内联函数之前&#xf…

ESP32入门六(读取引脚的模拟信号[3]:信号出现误差的原因[硬件篇])

在之前的文章中,我们介绍了ESP32在读取模拟信号时出现的误差的软件方面原因,在这一篇中,将会介绍并测试由于硬件或其它方面导致数据出现误差的原因。 一、厂商原因 首先,我们需要知道,在每块EPS32中,在出…

unity随笔- 2D动画制作animation

1.前提:将连续的动作图片制为图集。 2.在Hierarchy中选中含图集的sprites对象。 3.打开animator组件,点击create创建动画组件 4.添加property选择sprite 5.选择图集需要的部分加入animation。(animation使用见animator)

互联网加竞赛 基于Django与深度学习的股票预测系统

文章目录 0 前言1 课题背景2 实现效果3 Django框架4 数据整理5 模型准备和训练6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于Django与深度学习的股票预测系统 ** 该项目较为新颖,适合作为竞赛课题方向&#xff…

【计算机毕业设计】SSM汽车维修预约平台

项目介绍 本项目分为前后台,前台为普通用户登录,后台为管理员登录; 管理员角色: 管理员登录,新增管理员信息,查看管理员信息,查询管理员信息,查看用户信息列表,查询用户信息,新增新闻公告,查看新闻公告,查询新闻公告,新增配件类…

【unity学习笔记】配置模型,实现眨眼和口型效果

一、vriod捏人 1.在vroidstudio软件中捏人 2.导出模型(.vrm) 二、vrid导入unity的插件 1.在Git上搜索、打开univrm。 2.找到release页面找到合适的插件版本。(VRM-0.116.0_0f6c) 3.将univrm导入到工程中(assets)。 三…

Unity坦克大战开发全流程——开始场景——开始界面

开始场景——开始界面 step1:设置UI 反正按照这张图拼就行了 step2:写脚本 前面的拼UI都是些比较机械化的工作,直到这里写代码的时候才真正开始有点意思了,从这里开始,我们就要利用面向对象的思路来进行分析&#xff1…

【AIGC-图片生成视频系列-3】AI视频随心而动:MotionCtrl的相机运动控制和物体运动控制

最近,「单张图片生成视频」相关工作很多,但运动控制的准确性依旧是个挑战,包括相机运动的控制以及物体运动控制。 然,MotionCtrl 横空出世。 一. 项目简介 MotionCtrl——一个相机运动控制、物体运动控制的视频工具&#xff0c…

WEB渗透—PHP反序列化(十一)

Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…

如何在iterm2的命令行中快速移动

文章目录 一、打开Preferences设置二、进行key的映射三、修改键值四、参考文献 一、打开Preferences设置 二、进行key的映射 三、修改键值 四、参考文献 Mac下iTerm2光标按照单词快速移动设置

《企业数据资源相关会计处理暂行规定》学习笔记

附:2023年数据资源入表白皮书下载: 关注WX公众号: commindtech77, 获得数据资产相关白皮书下载地址 1. 回复关键字:数据资源入表白皮书 下载 《2023数据资源入表白皮书》 2. 回复关键字:光大银行 下载 光…

AIGC与计算机技术:人工智能生成内容的深度探索

AIGC与计算机技术:人工智能生成内容的深度探索 摘要:随着人工智能技术的快速发展,AIGC(人工智能生成内容)成为了计算机领域的前沿话题。本文将详细探讨AIGC的基本原理、技术应用和未来发展趋势,以及它对计…

OpenCV(Python)基础—9小时入门版

OpenCV(Python)基础—9小时入门版 # # Author : Mikigo # Time : 2021/12/1 # 一、一句话简介 OpenCV (Open Source Computer Vision Library) 是用 C 语言编写,提供 Python、Java 等语言 API的一个开源计算机视觉库。 二、安装 1、Debian 系使用 apt 安装 O…

Zookeeper-Zookeeper应用场景实战

1. Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。 可供选择的Java客户端API有: ZooKeeper官方的Java客户端API。 第三方的Java客户端API,比如Curator。 ZooKeeper官方的客户端API提供了基本的操作…

【Transformer】深入理解Transformer模型1——初步认识了解

前言 Transformer模型出自论文:《Attention is All You Need》 2017年 近年来,在自然语言处理领域和图像处理领域,Transformer模型都受到了极为广泛的关注,很多模型中都用到了Transformer或者是Transformer模型的变体&#xff0…

jmeter函数助手-常用汇总

一.函数助手介绍 1.介绍及作用 介绍: jmeter自带的一个特性,可以通过指定的函数规则创建后进行调用该函数,在后续接口请求参数中进行调用 作用 (1)做参数化。 2.如何使用 jmeter工具栏-->工具-->函数助手…

【用户增长】引言:浅析游戏运营用户增长概念

1 游戏发行运营中的主要职能: ​ 一、发行运营通识l 运营介绍:职能分工、发行运营流程、职业发展能力及要求l 品类认知:行业品类布局、品类用户画像、运营节奏及特性,包含不同品类核心打法及长线运营思路l 海外运营:海…