美文网首页编程网赚
auto.js的一些学习心得

auto.js的一些学习心得

作者: 缘点点 | 来源:发表于2020-01-23 21:48 被阅读0次

    昨天和今天把auto.js好好学和实践了一遍

    事情的源头,是发现朋友圈有人把自动抢红包的脚本卖28元一个,我问了一下效果,发现就是普通的自动领取,能卖这个价钱实话真的很惊讶,然后我便想自己来写一写这样的脚本到底有多难写。

    结果呢? 在刚开始学的时候便发现网上已经有不少开源的抢红包脚本了,大都都是AccessibilityService写的,已经很完善了,说实话,这种拿开源代码来赚钱的行为真的让人很不齿。


    由于AccessibilityService的语言我没怎么学过,不太懂,我便选择用以JS为开发语言的auto.js,初期遇到的困难还是不少的,因为不是很懂语法。慢慢熟悉后,做的还算OK。代码也贴上来吧,有兴趣的可以看一看,不复杂.

    auto();
    var x = 0.63;//开的位置占屏幕长度的百分比 从上到下算起
    var time1 = 0;//点“开”前等待时间,单位毫秒
    var time2 = 0;//抢完红包后返回的等待时间,单位毫秒
    var i = 0;
    // 设备信息
    var WIDTH = device.width, 
        HEIGHT = device.height, 
        TYPE = device.brand + ' ' + device.model;
    device.keepScreenOn();
    toast('欢迎使用');
    // 获取截图权限
    if (!requestScreenCapture()) {
        toast('请求截图失败,程序结束');
        exit();
    }
     
    var lineHeight; // 每行消息的高度
    var white = 255; // 消息行背景色
    var gray = 153; // 文字的颜色
    var totalCount = 0; // 总共获取的红包数量
    events.observeNotification();
    events.onNotification(function(notification){
        printNotification(notification);
        
    })
    ;
    
    toast("监听中,请在日志中查看记录的通知及其内容");
    function printNotification(notification){
        log("通知文本: " + notification.getText());
        log("通知时间: " + new Date(notification.when));
        log("通知摘要: " + notification.tickerText);
        if (notification.getText()=="[微信红包]")
        {
            sleep(500);
            swipe(500,10,500,2000,2000);
            sleep(500);
            click("[微信红包]");
            sleep(500);
            var chat = captureScreen();
                for (let k = parseInt(HEIGHT * 0.9); k > parseInt(HEIGHT * 0.1); k--) {
                    var point = images.pixel(chat, parseInt(WIDTH * 0.5), k);
                    var red = colors.red(point),
                        green = colors.green(point),
                        blue = colors.blue(point);
                    if (Math.abs(red - 250) + Math.abs(green - 158) + Math.abs(blue - 59) <= 15) {
                        // 找到红包
                        click(parseInt(WIDTH * 0.5), k);
                        sleep(800);
                        // 寻找“开”
                        chat = captureScreen();
                        var count = 0;
                        for (let y = parseInt(HEIGHT * 0.4); y < parseInt(HEIGHT * 0.8); y++) {
                            var point = images.pixel(chat, parseInt(WIDTH * 0.5), y);
                            var red = colors.red(point),
                                green = colors.green(point),
                                blue = colors.blue(point);
                            if (Math.abs(red - 235) + Math.abs(green - 205) + Math.abs(blue - 153) <= 15) {
                                count += 1;
                            }
                        }
                        if (count > HEIGHT * 0.4 * 0.1) {
                            //“开”前等待
                            sleep(time1);
                            //有“开”,点击!
                            click(parseInt(WIDTH * 0.5), parseInt(HEIGHT * x));
                            sleep(1000);
                            toast("已按下“開”");
                            //“开”后等待
                            sleep(time2);
                            click(10,HEIGHT * 0.05);
                            if(!go){
                                toast("脚本已退出,感谢使用");
                                exit();
                            }else{
                                toast("本次运行已抢红包"+(++i)+"个");
                            }   
                        }
                    }
                }
        }
    }
    

    最后希望大家不要去买什么所谓的脚本了,这些脚本的制作者大都是拿别人开源的代码来谋利,属于抄袭行为。至少也是会受到道德的谴责的~

    相关文章

      网友评论

        本文标题:auto.js的一些学习心得

        本文链接:https://www.haomeiwen.com/subject/ufnnzctx.html