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

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


先看这里

    • 一、前言
    • 二、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){//获取tokentoken = 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 = "";//获取tokenObject 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.hqwc.cn/news/309908.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《网络是怎样连接的》2.1节图表(自用)

图3.1:协议栈的组成 图3.2:netstat命令查看套接字 上图中每一行就是一个套接字 图3.3:协议栈在浏览器访问DNS服务器与web服务器时的具体工作流程 套接字由协议栈创建 应用程序通过Socket库中的程序组件与协议栈交互

linux文件夹介绍

在linux内核文件夹下面存在着许多文件夹,那么那些文件夹是什么用处呢,下面将为你介绍。 (1)documentation 这个文件夹下没有内核代码,仅仅有一套实用的文档,但这些文档的质量不一。比如内核文档的文件系统,在该文件夹下…

【华为机试】2023年真题B卷(python)-解密犯罪时间

一、题目 题目描述: 警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。 根据警察和线人的约定,为了隐蔽,该时间是修改过的,解密规则为: 利用当前出现过的数字&am…

线程数据共享和安全 -ThreadLocal

什么是 ThreadLocal ThreadLocal 的作用,可以实现在同一个线程数据共享, 从而解决多线程数据安全问题. 2. ThreadLocal 可以给当前线程关联一个数据(普通变量、对象、数组)set 方法 [源码!]ThreadLocal 可以像 Map 一样存取数据,key 为当前线程, get 方…

【23.12.30高可用篇】什么是SLA?

什么是SLA? ✔️简述✔️拓展知识✔️4个9、5个9 ✔️简述 SLA是Service Level Agreement的缩写,意为服务等级协议。它是指供应商和客户之间达成的一份正式协议,规定了供应商应该向客户提供的服务水平、质量、可靠性和响应时间等指标。 SLA通…

分布式技术之分布式数据存储系统

文章目录 什么是分布式数据存储系统?分布式数据存储系统三要素顾客:生产和消费数据导购:确定数据位置货架:存储数据 CAP 理论指出,在分布式系统中,不能同时满足一致性、可用性和分区容错性,指导…

Windows系统下如何运行.sh脚本文件

前言: .sh文件是一种命令脚本文件,在Windows系统下可以通过命令行工具打开运行。通常可以使用Git工具来打开运行.sh脚本文件。不过很多第一次使用Git的人,可能对Git工具不熟悉。.sh文件在命令行运行时是有固定写法的,下面介绍详细…

HDMI2.1输入转4Port MIPI/LVDS输出,嵌入式SPI闪存固件存储,VR和AR应用首选国产芯片方案-LT6911GXC

描述 LT6911GXC是一款高性能的HDMI2.1到MIPI或LVDS芯片,用于VR/显示应用。 HDCP RX作为HDCP中继器的上游,可配合其他芯片的HDCPTX实现中继器功能。 对于HDMI2.1输入,LT6911GXC可以配置为3/4通道。自适应均衡使其适合于长电缆应用,…

基于OpenAI的Whisper构建的高效语音识别模型:faster-whisper

1 faster-whisper介绍 faster-whisper是基于OpenAI的Whisper模型的高效实现,它利用CTranslate2,一个专为Transformer模型设计的快速推理引擎。这种实现不仅提高了语音识别的速度,还优化了内存使用效率。faster-whisper的核心优势在于其能够在…

9个格子3个点的不同分布占比

直线上有9个格子,有3个点,可能有10种分布方式 数量 编号 7 0 1 1 1 0 0 0 0 0 0 6 2 1 0 1 1 0 0 0 0 0 6 1 1 1 0 1 0 0 0 0 0 5 6 1 0 0 1 1 0 0 0 0 5 3 1 1 0 0 1 0 0 0 0 5 4 1 0 1 …

车企大佬们这“七宗罪”,正在拖『软件定义汽车』的后腿!

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码,添加九章小助手,务必备注交流群名称 真实姓名 公司 职位(不备注无法通过好友验证) “在车企的决策链上级别越高的领导,越不理解软件…

黑马程序员SSM框架-SpringMVC

课程链接:SpringMVC-01-SpringMVC简介_哔哩哔哩_bilibili SpringMVC简介 表现层框架 概述 入门案例 入门案例工作流程 SpringMVC对应的bean加载和Spring对应的bean加载 我们发现SpringMVC要加载controller的bean对象,Spring容器要加载除了controller类…