Giter Club home page Giter Club logo

ant-forest's Introduction

AF_Banner

基于 Auto.js 的蚂蚁森林能量自动收取脚本

Auto.js-based ant forest energy auto-collect script

GitHub release (latest by date) GitHub closed issues GitHub AutoJs6 repository GitHub top language CodeFactor Grade
Created GitHub Code Size GitHub Code Lines GitHub License JetBrains supporter Todo list


待办事项


Status Task Date Cost Progress
✔️ 推迟任务加入下次关屏选项 2021-11-01 18:16:56 5 1
✔️ 能量雨加入近似区域点击检测 2021-10-27 14:48:18 3 1
✔️ v2.2.0 发布后检查 documents 相关的链接 2021-10-26 23:07:16 1 1
✒️ 扩展模块及插件重构 2021-10-26 14:37:07 ! 8 0.39
✒️ 排行榜策略加入黑名单检测方案配置 (#529) 2021-10-31 18:57:17 ! 5 0.00
✒️ 事件监测配置 (#533) 2021-10-26 10:50:40 ! 6 0.00
✒️ 自动关闭屏幕配置 (#476) 2021-10-26 11:15:11 ! 6 0.00
✒️ 提取 JSDoc@typedef 到 TS 声明文件 2021-10-25 22:25:18 10 0.94
✒️ 保护地巡护工具 2021-10-26 10:34:25 9 0.20
✒️ 将 tool functions 转换为 OOP 2021-10-25 22:24:13 10 0.18
✒️ 分离 appx 模块 (autojs / alipay ...) 2021-10-25 22:24:13 6 0.17
✒️ 启动器模块化 2021-10-26 08:25:42 10 0.00
✒️ 配置工具模块化 2021-10-26 08:24:34 10 0.00

全部待办事项可参阅 TODO.md (共计 56 项)


使用说明


  1. 检查设备环境
  1. 下载并安装 Auto.js

自 v2.3.0 起将仅支持使用 AutoJs6 运行当前项目
因项目运行依赖于 Rhino 引擎 的部分 新特性 及 AutoJs6 的部分新 API 及内置模块

  1. 下载并部署项目 (任意一种方式)
  • 下载项目部署工具 (*.js)
    1. 将部署工具 (脚本文件) 保存另存为 至本地存储
    2. AutoJs6 直接运行 (或导入后运行) 脚本文件完成部署
    3. 部署后可能需要关闭并重启 AutoJs6 才能看到项目目录
  • 下载最新项目数据包 (*.zip)
    1. 将项目数据包解压到本地存储
    2. 定位到设备的内部存储目录 如:
      /内部存储/ /Internal Storage/ /sdcard/ /storage/emulated/0/
    3. 在此目录下找到 AutoJs6 默认工作目录
      · 中文系统默认目录 ./脚本/
      · 英文系统默认目录 ./Scripts/
    4. 若不存在则需手动建立工作目录
      或在 AutoJs6 软件中设置工作目录
    5. 将解压后的项目文件夹放置在工作目录中

项目支持更新版本的自动检查/提示/下载/版本忽略等相关功能

  1. 使用 Auto.js 运行项目
  • 运行 ant-forest-launcher.js 启动项目
  • 运行 ant-forest-settings.js 配置项目

项目 tools 文件夹包含 小工具


使用指南



功能简介


  • 自动收取好友能量
  • 自动收取/监测自己能量
  • 收取结果统计/展示
查看更多功能
  • 控制台消息提示
    · 开发者测试日志 (默认关闭)
  • 自动解锁屏幕
    · 提供解锁密码录入等配置
  • 定时任务与循环监测
    · 好友排行榜样本复查
    · 主页能量球循环监测
    · 定时任务自动管理
  • 多任务自动排队
  • 脚本运行安全
    · 运行失败自动重试
    · 单次运行最大时间限制
    · 排他性任务最大排队时间限制
    · 脚本炸弹预防
  • 事件监测与处理
    · 账户登出
    · 屏幕意外关闭
    · 来电响铃或通话
  • 多语言支持 (简体中文/英语)
    · 自动切换简体中文语言
  • 黑名单机制
    · 能量保护罩黑名单自动管理
    · 用户自定义黑名单管理 (列表选择/检索选择)
  • 项目管理
    · 在线更新项目
    · 本地备份项目
    · 本地或服务器还原项目
    · 项目更新提示/版本忽略
  • 信息加密存储
    · 使用密文存储账户信息/解锁密码等敏感信息
  • 账户功能
    · 防止其他账户意外收取 (需录入主账户信息)
    · 主账户操作完毕可自动回切之前登录的账户
  • 统计功能
  • 适应恶劣条件
    · 脚本在网络条件较差时仍可正常运行或识别异常
  • 图形化配置工具
    · 基于UI的配置工具 可详细配置项目参数

版本历史


v2.3.1

2023/01/21
  • 修复 蚂蚁森林页面更新后无法收取自己及好友能量的问题

v2.3.0

2022/03/20 - 代码重构 谨慎升级
  • 优化 重构部分模块以适配 AutoJs6

v2.2.2

2021/11/01
  • 新增 运行前提示对话框的推迟任务列表增加"息屏时"选项
  • 修复 解锁密码为空时无法解锁设备的问题
  • 修复 逛一逛方案无法识别能量雨页面判断条件的问题
  • 修复 配置工具输入忽略版本内容时可能导致脚本崩溃的问题
  • 修复 设备屏幕水平方向启动项目后刷新屏显参数失败的问题 issue #534
  • 修复 配置工具定时任务控制面板定时任务及任务类型识别异常的问题
  • 管理 项目图片资源文件夹移除打赏二维码并迁移至README.md中
  • 管理 项目图片资源文件夹内增加.nomedia防止媒体库中出现无关资源
更多版本历史可参阅

相关项目



打赏 (Tip)


查看详情 (Click to show details)
To tip online, scan the QR code below
扫描对应二维码可打赏

I believe I could make it better with your support :)
感谢每一份支持和鼓励

Alipay sponsor WeChat sponsor

ant-forest's People

Contributors

supermonster003 avatar supermonster005 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ant-forest's Issues

解锁失败

无法判断当前解锁条件,解锁失败

bug反馈

07:21:17.550/E: TypeError: rankListReady is not a function, it is undefined. (/storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest.js#934)
TypeError: rankListReady is not a function, it is undefined.
at restartAlipayToHeroList (/storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest.js:934:0)
at backToHeroList (/storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest.js:925:0)
at checkFriendsEnergy (/storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest.js:520:0)
at checkEnergy (/storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest.js:433:0)
at antForest (/storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest.js:52:0)
at /storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest.js:44:0

EMUI9.1华为p30pro无法解锁

锁屏界面可以弹出键盘,可以正确输入密码,但无法开锁,我怀疑是不是因为输完密码不用按确认键的原因?我正常解锁是输完密码就开锁了的,不用按确认的。有一张图没截到我手动截了在包里。
!Debug_Info.zip

蚂蚁森林无限进入退出

支付宝版本:10.1.62
Auto版本:4.1.1 Alpha2
脚本版本:1.6.19
启动脚本后,重复进入蚂蚁森林,过一会又退出重新进入,脚本昨天还好用,今天突然就不行了。
TIM图片20190514160111

EMUI9和Magic2.0解锁问题

大佬你好,我是酷安回你帖子的小寒寒。
手机荣耀magic2 解锁方式为上滑+6位数字密码。
出现的问题就是不会上滑,尝试按照问题里面MIUI的解锁问题的方法也无效。
但我自己从别的项目找到了解锁方法,来自miui的,已多次测试没有问题,望添加。
if (!device.isScreenOn() || desc("快捷方式").exists()) {
//曲线解锁 miui锁屏滑动不能唤出密码输入 通过下拉通知栏点击时间进入密码解锁
device.wakeUp();
//下拉状态栏
swipe(500, 30, 650, 1300, 800);
sleep(400);
//点击时间
click(100, 120);
//解锁 密码556666
desc(5).findOne().click();
desc(5).findOne().click();
desc(6).findOne().click();
desc(6).findOne().click();
desc(6).findOne().click();
desc(6).findOne().click();
}

进入蚂蚁森林界面,然后卡死了

进入蚂蚁森林界面,下一步应该是收取自己能量的,但是手机一直卡在这里,没有反应,但是后台脚本还是一直在运行的。我怀疑是不是有死循环。。 手机是红米note7. autojs版本是4.1.1

三星s9+图案解锁失败,保护罩无法正确识别,黑名单设置界面显示不完全

  1. 可进入图形解锁界面,但图形解锁时无法找到正确的点并拖动,尝试调整滑动时长无法解决。

ps. /Nick-Hopps/Ant-Forest-autoscript 的脚本可以正常解锁,不知道楼主大佬能不能参考一下看看解锁模块有什么区别(我更喜欢你的脚本一点嘿嘿)

  1. 进入有保护罩的好友,无法识别其保护罩,也没办法添加其进入保护罩黑名单。

  2. 早上出现“打开支付宝失败”的问题,不知道是偶然还是有什么问题?但是白天测试时正常,总是早晨最需要他起作用时出bug

image
image
image

返水 浇水

希望可以做一个偷取多少 就返浇水的功能,比如50返10 80返20这种,同程序员给你点赞

监测自己能量时屏幕自动息屏

如果手机自动息屏时间比较短,但是监测自己能量设置的时间比较长,会出现屏幕息屏,再之后手机自动锁定,收取自己能量就失败了。
改了下脚本,这一行
while (new Date() < max_time) ~sleep(180) && check();
改成
while (new Date() < max_time) { sleep(180); device.wakeUp(); check(); }
加了个点亮屏幕,这样就不会息屏收取失败了

碰到好友能量罩时

/E: Cannot convert NaN to java.lang.Integer (/storage/emulated/0/脚本/Auto.js_Projects-Ant_Forest/Ant_Forest_Launcher.js#1286)
Cannot convert NaN to java.lang.Integer
at saveFriendNameImgBytesIfNeeded (/storage/emulated/0/脚本/Auto.js_Projects-Ant_Forest/Ant_Forest_Launcher.js:1286:0)
at backToHeroList (/storage/emulated/0/脚本/Auto.js_Projects-Ant_Forest/Ant_Forest_Launcher.js:1262:0)
at checkFriendsEnergy (/storage/emulated/0/脚本/Auto.js_Projects-Ant_Forest/Ant_Forest_Launcher.js:609:0)
at checkEnergy (/storage/emulated/0/脚本/Auto.js_Projects-Ant_Forest/Ant_Forest_Launcher.js:454:0)
at antForest (/storage/emulated/0/脚本/Auto.js_Projects-Ant_Forest/Ant_Forest_Launcher.js:60:0)
at /storage/emulated/0/脚本/Auto.js_Projects-Ant_Forest/Ant_Forest_Launcher.js:52:0

关于升级

如何自动更新?你发布的更新太快,老是手动下来覆盖更文件,麻烦

能否实现循环采集?

大佬的脚本是用过里最好用的,我有用过一个类似的,可以循环采集,第一次进入森立后,获取到下次采集最小时间,然后再次打开森林采集,但是效率功能等没有大佬的好,希望大佬后期做个

请大大开放以前旧版本下载

请大神开放旧版本下载,现在的版本直接不能用了,几个问题并存。以前有的版本还能正常使用。
祝大神新工作顺利

关于定时任务

我有个方案,并且已经得到初步实现。
1、基于大大的master分支(6月2号获取的代码),开启自动解锁(解锁时设置停止时间)
2、创建在autojs APP中创建定时任务。
3、修改Ant_Forest_Launcher.js文件代码
//增加全局变量
let setHours=0;
let setMinutes=0;

function antForest() {
//初始化
init();
//检查是否满足条件启动支付宝
launch();
checkLanguage();
//do while 是新增的。
do
{
debugInfo("还没到停止时间,继续运行!");
//收能量function
checkEnergy();
curTime = new Date();
sys_hours=curTime.getHours();
sys_minutes=curTime.getMinutes();
}
while(setHours>0&&setMinutes>0&&(setHours==sys_hours&&setMinutes>=sys_minutes||setHours>sys_hours))

//展示结果
showResult();
endProcess();

}

修改function:
function unlock() {
if (!unlock_module) {
messageAction("自动解锁功能无法使用", 3);
return messageAction("解锁模块未导入", 3, 0, 1);
}
let is_screen_on = unlock_module.is_screen_on;
current_app.is_screen_on = is_screen_on;
if (!is_screen_on && !config.auto_unlock_switch) {
messageAction("脚本无法继续", 4);
messageAction("屏幕关闭且自动解锁功能未开启", 8, 1, 1, 1);
}
if (!context.getSystemService(context.KEYGUARD_SERVICE).isKeyguardLocked()) return debugInfo("无需解锁");
debugInfo("尝试自动解锁");
unlock_module.unlock();
//设置全局变量(定时)值
setHours=14;
setMinutes=15;
debugInfo("自动解锁完毕");
}

关于魅蓝note6关屏时无法解锁

定时任务运行时,日志提示:截图权限申请失败。
发现在黑屏状态下申请截图权限会失效
应该在tryRequestScreenCapture()函数前先亮屏解锁

Github_Material 里面内容太多,clone 周期长

Github_Material 里面东西略多,clone 比较费时间

看了一下,主要是 auto.js 的几个 apk 包比较大,建议替换成 auto.js 项目 release 包下载的地址

原因有两个:

  1. 从官方源下载,可信度高
  2. 降低大家同步本仓库时间

偶尔出现收取好友能量出错:cannot call method "bounds" of null

日志显示:

点击收取图标
17:10:00.009/E: TypeError: Cannot call method "bounds" of null (/storage/emulated/0/脚本/Tools/!Ant_Forest.js#2340)
TypeError: Cannot call method "bounds" of null
at /storage/emulated/0/脚本/Tools/!Ant_Forest.js:2340:0
at clickBounds (/storage/emulated/0/脚本/Tools/!Ant_Forest.js:2349:0)
at forestPageGetReady (/storage/emulated/0/脚本/Tools/!Ant_Forest.js:886:0)
at checkFriendsEnergy (/storage/emulated/0/脚本/Tools/!Ant_Forest.js:638:0)
at checkEnergy (/storage/emulated/0/脚本/Tools/!Ant_Forest.js:501:0)
at antForest (/storage/emulated/0/脚本/Tools/!Ant_Forest.js:80:0)
at /storage/emulated/0/脚本/Tools/!Ant_Forest.js:72:0

行数可能不准确,我改了!Ant_Forest.js加了句监视自己能量时屏幕常亮。
具体时这行:
getPosb = () => func.toString().match(/^Rect(/) ? func : func.findOnce().bounds();

手机是华为MATE8
auto.js版本4.1.1 Alpha2
脚本是昨天最新更新的

感谢幸苦完善脚本!

bug反馈

00:26:59.217/E: Error: Module "/storage/emulated/0/脚本/Ant_Forest_Project/Modules/__dialogs__pro_v6.js" not found. (file:///android_asset/modules/jvm-npm.js#93)
Error: Module "/storage/emulated/0/脚本/Ant_Forest_Project/Modules/__dialogs__pro_v6.js" not found.
at Require (file:///android_asset/modules/jvm-npm.js:93:0)
at /storage/emulated/0/脚本/Ant_Forest_Project/Tools/!Ant_Forest_Settings.js:5:0

1.6.25a5小米9无法进入解锁

1.6.25a5小米9无法进入解锁,自动点亮屏幕后无法划到输入密码界面。测试多次都这样!

1.6.25a4无此问题,可以正常解锁!

特反馈

退出失败

【支付宝版本】:10.1.62
【Auto.js版本】:4.1.1 Alpha2
【脚本版本】:v1.6.24 Alpha
【系统版本】:MIUI 10.2 稳定版
脚本运行至MODULE_MONSTER_FUNC.js第1090行
if (typeof arr[0] !== "number" || typeof arr[1] !== "number")
报错“clickAction()坐标参数非number”
此时arr[0]和arr[1]的值为:
arr[0]:idMatches(".*nav.back|.*back.button"), arr[1]:descMatches("关闭|返回")

自动启动失败

首先膜拜大神!这脚本太牛了,我给好多朋友都推荐了。
问题:设置自动启动脚本,有时候屏幕点不亮,有时候屏幕点亮了无法进入密码输入界面,有时候又能成功,V20

启动条件检测未通过

Auto.jspro: 7.0.2-4
Auto.js: 4.1.1Alpha2
手机:一加6
Android版本:8.1.0
H2OS版本:5.1.14

启动条件检测未通过
然后结束支付宝重启又开始启动条件检测未通过
一直循环!

支付宝更新至 10.1.62 无法返回的问题

Auto.js版本:4.1.0 Alpha5
手机:小米5
系统版本:MIUI 10.2稳定版

现象:
支付宝更新至10.1.62后运行脚本,
1、获取好友能量或帮收能量后,无法返回至排行榜,若返回排行榜超时前手动返回,可以继续运行;
2、运行至排行榜底部,无法返回蚂蚁森林主页,若手动返回,则可以成功弹出统计信息

解决方法:
把第370行、第1221行、第1406行的
clickObject(kw_back_btn) || keycode(4)
修改为
keycode(4) || clickObject(kw_back_btn)
问题解决

结论:
let kw_back_btn = id("com.alipay.mobile.nebula:id/h5_tv_nav_back")
这个语句可能获取失败,建议获取之后判断一下再执行
clickObject(kw_back_btn)
或者直接执行
keycode(4)

最后祝楼主五一快乐,好人一生平安!~

给楼主提几个小意见

能不能加入倒计时功能,例如当好友成熟时间到了,能量成熟的时候自动进入森林收取
不过现在这样也挺好了,谢谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.