大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。
先看这里
- 前言
- 接口地址
- 一、获取`token`
- 二、主动发送消息
- 三、获取群、好友以及公众号列表
前言
注意:
- 免责声明:该工具仅供学习使用,禁止使用该工具从事违法活动,否则永久拉黑封禁账号。
- 本工具我不会绝对保证对你的账号没有影响,尽量使用小号去研究学习,
mxxWechatBot
不承担任何责任。
经过用户的不断使用与反馈,发现了个问题,虽然mxxWechatBot
工具支持兼容不同编程语言,但是写法略有所不同,许多小伙伴在使用的过程中,还是发现在调用主动发送的接口还是有点小问题,今天,我就简单的使用java
写个demo
供大家参考吧。
其他文章地址:mxxWechatBot专栏
接口地址
为了避免接口滥用,以及数据安全的问题,接口地址放在微信群里面了,有需要的使用mxxWechatBot
的小伙伴们可以联系我,获取api
接口地址。
一、获取token
- 请求方式:
post
- 接口地址:
{apiUrl}
/getWechatToken - 参数:
{"username": "username", //服务端的用户名"password": "password" //服务端的密码
}
- 响应内容:
{"msg": "操作成功","code": 200,"expireTime": 1704200673599, //失效时间"token": "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijc1M2NmMzMwLTJkZmItNDc1Ny04ZWIzLWU3MjgwOTk4ZDEyYyJ9.-XuaK8O-8EV694vUzkU5yDMmoheOJZylHJcrMEcfG0uoS-1MzBTVudbFmQro42sF63DPwqQ" //token的值
}
- 示例代码:
/*** 获取服务端机器人的token*/public String getmxxWecharBotToken(){String url = WECHAT_SERVE_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;}
注意,token
的默认失效时间为30分钟。
二、主动发送消息
- 请求方式:
post
- 接口地址:
{apiUrl}
/system/object/customApiSendMsg - 参数:
{"wxid": "xxxx@chatroom", //需要发送的群或者好友"tag": 0, //消息类型"appkey": "xxxxx", //-1设置百度的appkey和秘钥 0表示发送文字,1表示发送图片 2发送本地文件 3发送H5小卡片 4发送小程序 5发送音乐卡片 6发送xml文件 7发送聊天记录 8语言消息 9名片消息 10视频消息 11动态表情 12地理位置 13分享链接或者附件 14红包 15群邀请 16系统消息 17其他类型的xml"message": "你好", //消息内容"isAt": false, //是否需要艾特"atList": ["wxid_ehfxxxxbt22" //艾特的人员]
}
- 响应内容:
{"msg": "操作成功","code": 200
}
- 示例代码:
/*** (微信机器人)定时发送每日天气文字到微信群中*/@GetMapping("/sendWetherInfoByDaysText")@Scheduled(cron = " 0 10 9 * * ?")public void sendWetherInfoByDaysText() {StringBuilder sb = new StringBuilder();sb.append("\\uD83D\\uDD34\\uD83D\\uDFE0\\uD83D\\uDFE1 大家好!我是雄雄,让我们一起关注天气变化,关爱彼此,共度美好时光。祝愿大家拥有一个愉快的一天!");sb.append("/cbr");sb.append("/cbr");//获取中央气象台每日天气信息JSONObject objectZhongYang = collectWebDataUtils.getZYWetherDay();//文本信息JSONArray contentList = objectZhongYang.getJSONArray("contentArray");int i = 1;for (Object o : contentList) {if (i == 1) {sb.append("[拥抱]").append(o).append("/cbr");} else if (i == 2) {sb.append("\\uD83D\\uDD34").append(o).append("/cbr");} else if (i == 3) {sb.append("\\uD83D\\uDFE0").append(o).append("/cbr");} else if (i == 4) {sb.append("\\uD83D\\uDFE1").append(o).append("/cbr");} else if (i == 5) {sb.append("\\uD83D\\uDFE2").append(o).append("/cbr");}sb.append("/cbr");i++;}sb.append("/cbr");sb.append("数据来源于:中国中央气象台");//处理url中的特殊字符try {//调用发送的方法String result = sendMsgToWechat(xunXiWxid, XIAOTANGYUAN_REBOT_TEXT, XIAOTANGYUAN_REBOT_APPKEY, sb.toString(),false,new JSONArray());log.info("发送天气信息结果:" + result);} catch (Exception e) {e.printStackTrace();}}
三、获取群、好友以及公众号列表
-
请求方式:
get
-
接口地址:
{apiUrl}
/system/apiMxxWechatBot/getGandFList?appkey=xxxx&tag=2&pageNum=1&pageSize=10 -
参数:appkey:你的appkey,tag:0-好友 1-群聊 2-公众号,pageNum:当前页,pageSize:页大小
-
响应内容:
{"total": 54, //总数量"rows": [{"createBy": null, "createTime": null,"updateBy": null,"updateTime": null,"remark": null, //备注"id": 1741790943530897408, "name": null,"wxid": "xxxxx@chatroom","wxnum": null,"nick": "mxxWechatBot交流群", //群名"v3": "","v4": null,"sign": "","country": "","province": "","city": "","momentsbackgroudimgurl": null,"avatarminurl": null,"avatarmaxurl": null,"sex": "","membernum": null,"type": 2,"userId": 123}],"code": 200,"msg": "查询成功"
}
- 示例代码:
/*** 获取群聊列表*/public void getList(){String url = WECHAT_SERVE_API + "/system/apiMxxWechatBot/getGandFList?appkey=1998090800300000&tag=2&pageNum=1&pageSize=10";String body = HttpUtil.createGet(url).execute().body();log.info("请求获取服务端的token:{}",body);JSONObject jsonObject = JSON.parseObject(body);String token = "";if(jsonObject.getInteger("code") == 200){//处理业务即可}}
今天的分享就到这里,有疑问的可以在群内交流沟通。