Auto.js微信自动回复机器人(微信v8版本)

一、前言

  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托管,和她自动互聊。
和小冰互聊

脚本库

https://github.com/snailuncle/autojsDemo

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值