auto.js微信自动回复脚本_微信群助手机器人

auto.js微信自动回复脚本_微信群助手机器人一、前言整体思路1)找到头像右上角有消息标志的聊天(注意直接跑下面代码的时候请确保聊天界面由此前提)2)点击进入聊天窗口,找到所有消息3)取最后一个消息(最新消息)4)和之前的新消息对比是否发生变化5)新消息推送至API6)收到API消息发送微信v8版本发送消息时,不再显示“发送”按钮了,也就没办法用找到“发送”控件的方法实现发送消息了。尝试用KeyCode(code)方式,发送回车键,发现也无效,原因查了一下好像是需要ROOT还是安卓9以上此方法失效。于是用坐标点击的方式点击键盘上的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、前言

  1. 整体思路
    1)找到头像右上角有消息标志的聊天(注意直接跑下面代码的时候请确保聊天界面有此前提
    2)点击进入聊天窗口,找到所有消息
    3)取最后一个消息(最新消息)
    4)和之前的新消息对比是否发生变化
    5)新消息推送至API
    6)收到API消息发送
  2. 微信v8版本发送消息时,不再显示“发送”按钮了,也就没办法用找到“发送”控件的方法实现发送消息了。
  3. 尝试用KeyCode(code)方式,发送回车键,发现也无效,原因查了一下好像是需要ROOT还是安卓9以上此方法失效。
  4. 于是用坐标点击的方式点击键盘上的“发送”(回车键),先找到聊天界面加号的位置(右下角),出现键盘后此位置为“发送”按键位置。
var location = id("au0").findOne().bounds();
click(location.centerX(), location.centerY());
  1. 智能聊天机器人使用的是青云客API,无需登陆直接调用。
    http://api.qingyunke.com/
  2. 官方文档
    https://hyb1996.github.io/AutoJs-Docs/#/
  3. 运行环境版本
    1) Auto.js版本V4.1.1 Alpha2
    2)微信版本V8.0.16
    3)手机系统版本鸿蒙2.0.0
  4. 微信版本更新,导致控件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账号...

(0)
blank

相关推荐

  • python精彩编程200例 pdf-Python程序设计 第3版pdf「建议收藏」

    Python程序设计第3版内容简介《Python程序设计第3版》是面向大学计算机科学专业的教材。本书以Python语言为工具,采用相当传统的方法,强调解决问题、设计和编程是计算机科学的核心技能。全书共13章,此外,还包含两个附录。第1章到第5章介绍计算机与程序、编写简单程序、数字计算、对象和图形、字符串处理等基础知识。第6章到第8章介绍函数、判断结构、循环结构和布尔值等话题。第9章到第1…

  • python matplotlib 画图保存图片简单例子[通俗易懂]

    python matplotlib 画图保存图片简单例子[通俗易懂]保存的时候遇到过保存空白图像的问题,是因为将plt.savefig(‘./test2.jpg’)放到了plt.show()之后,只要先保存在显示就可以正常保存了。importnumpyasnpimportmatplotlib.pyplotaspltt=np.arange(0,69,1)plt.plot(t,t,’r’,t,t**2,’b’)label=…

  • VLDB论文解读:阿里云超大规模实时分析型数据库AnalyticDB「建议收藏」

    VLDB论文解读:阿里云超大规模实时分析型数据库AnalyticDB「建议收藏」1、背景随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据。伴随着业务对海量数据实时分析的需求越来越多,数据分析技术这两年也迎来了一些新的挑战和变革:在线化和高可用、离线和在线的边界越来越模糊,一切数据皆服务化、一切分析皆在线化; 高并发低延时,越来越多的数据系统直接服务终端客户,对系统的并发和处理延时提出了新的交互性挑战; 混合负载,一套实时分析系统既要支持数据加工处理,又要支持高并发低延时的交互式查询; 融合分析,随着对数据新的使用方式探索,需

  • (强烈推荐!!!)数据结构与算法学习[通俗易懂]

    (强烈推荐!!!)数据结构与算法学习[通俗易懂]基本算法贪心算法:贪心算法 作者:独酌逸醉贪心算法:贪心算法精讲 作者:3522021224递归和分治:递归与分治策略 作者:zhoudaxia图论图的遍历(DFS和BFS):图的遍历 作者:jefferent最小生成树(…

  • visio产品密钥2016_visio产品密钥2003

    visio产品密钥2016_visio产品密钥2003http://blog.sina.com.cn/s/blog_4e0869690100z9m3.htmlVisioPremium2010VOL版:=========================F…

  • socket技术详解(看清socket编程)

    socket技术详解(看清socket编程)socket编程是网络常用的编程,我们通过在网络中创建socket关键字来实现网络间的通信,通过收集大量的资料,通过这一章节,充分的了解socket编程,文章用引用了大量大神的分析,加上自己的理解,做个总结性的文章1:socket大致介绍   socket编程是一门技术,它主要是在网络通信中经常用到   既然是一门技术,由于现在是面向对象的编程,一些计算机行业的大神通过抽象的理念,在现…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号