大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
一、前言
- 整体思路
1)找到头像右上角有消息标志的聊天(注意直接跑下面代码的时候请确保聊天界面有此前提)
2)点击进入聊天窗口,找到所有消息
3)取最后一个消息(最新消息)
4)和之前的新消息对比是否发生变化
5)新消息推送至API
6)收到API消息发送 - 微信v8版本发送消息时,不再显示“发送”按钮了,也就没办法用找到“发送”控件的方法实现发送消息了。
- 尝试用
KeyCode(code)
方式,发送回车键,发现也无效,原因查了一下好像是需要ROOT还是安卓9以上此方法失效。 - 于是用坐标点击的方式点击键盘上的“发送”(回车键),先找到聊天界面加号的位置(右下角),出现键盘后此位置为“发送”按键位置。
var location = id("au0").findOne().bounds();
click(location.centerX(), location.centerY());
- 智能聊天机器人使用的是青云客API,无需登陆直接调用。
http://api.qingyunke.com/
- 官方文档
https://hyb1996.github.io/AutoJs-Docs/#/
- 运行环境版本
1) Auto.js版本V4.1.1 Alpha2
2)微信版本V8.0.16
3)手机系统版本鸿蒙2.0.0
- 微信版本更新,导致控件id变了,需要用Auto.js重新抓取控件id,在下面代码中替换即可。更新于2022.2.8
二、代码
auto.waitFor()
console.show();
log("微信自动聊天机器人")
id("f67").waitFor()//等有收到新消息
toast("程序开始")
id("f67").findOne().children().forEach(child => {
var target = child.findOne(id("iot"));
if (target) {
child.click();
var name = child.findOne(id("fzg"));
log("进入*" + name.text() + "*聊天对话")
sleep(1000);
var input_text = className("EditText").findOne();
var location = id("au0").findOne().bounds();
var last_msg = "初始化";
input_text.click();
while (true) {
var all_msg = id("auk").find()
if (all_msg.length > 0) {
var new_msg = all_msg[all_msg.length - 1].text();
log("新消息*" + new_msg + "*");
if (last_msg != new_msg) {
var res = http.get("http://api.qingyunke.com/api.php?key=free&appid=0&msg=" + new_msg);
if (res.statusCode != 200) {
log("请求失败: " + res.statusCode + " " + res.statusMessage);
last_msg = "初始化";
} else {
var r_msg = res.body.json();
input_text.setText(r_msg.content);
if (click(location.centerX(), location.centerY())) {
log("消息发送成功")
}
last_msg = new_msg;
}
sleep(2000);
}
} else {
log("未找到聊天消息")
}
}
}
});
exit();
三、效果
关注了小冰AI托管,和她自动互聊。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187303.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...