MonsterNone / tmall-miao

喵币助手:年货节天猫(淘宝)、京东任务一键完成。基于AutoX.JS。
4.01k stars 519 forks source link

我想做个每1.5小时定期收金币的脚本 #246

Closed sclodestar closed 2 years ago

sclodestar commented 2 years ago

无奈脚本小白

手机已root,已可以定期通过xposed edge pro启动shell 启动无障碍助手的accessibility.AccessibilityService,看了脚本,有注释的部分我单独复制出来到autojs无法运行,大神可否贴一段代码给我呢?只需要收金币,其他都不需要。

sclodestar commented 2 years ago

或者有没有shell命令能指定运行您的应用的1,2,3,4选项,我做个定时结束也可以。

MonsterNone commented 2 years ago
// 打开京东进入活动
function openAndInto() {
    console.log('正在打开京东App...')
    if (!launch('com.jingdong.app.mall')) {
        console.log('可能未安装京东App')
    }

    sleep(2000)
    console.log('进入活动页面')

    app.startActivity({
        action: "VIEW",
        data: 'openApp.jdMobile://virtual?params={"category":"jump","action":"to","des":"m","sourceValue":"JSHOP_SOURCE_VALUE","sourceType":"JSHOP_SOURCE_TYPE","url":"https://u.jd.com/JCTuenU","M_sourceFrom":"mxz","msf_type":"auto"}'
    })
}
// 领取金币
function havestCoin() {
    console.log('准备领取自动积累的金币')
    let h = descMatches(/.*领取金币.*|.*后满.*/).findOne(5000)
    if (h) {
        h.click()
        console.log('领取成功')
    } else { console.log('未找到金币控件,领取失败') }
}
openAndInto()
console.log('等待活动页面加载')
if (!findTextDescMatchesTimeout(/.*去使用奖励.*/, 8000)) {
    console.log('未能进入活动,请重新运行!')
    exit()
}
console.log('成功进入活动')
sleep(2000)
havestCoin()
MonsterNone commented 2 years ago

大概是这样,如果还有问题你reopen这个issues

sclodestar commented 2 years ago

好滴好滴,谢谢

sclodestar commented 2 years ago

if (!findTextDescMatchesTimeout(/.去使用奖励./, 8000)) { console.log('未能进入活动,请重新运行!') exit() }

这一段有点问题,我去掉了,目前正常

MonsterNone commented 2 years ago

哦对,还少个这个函数

// 自定义一个findTextDescMatchesTimeout
function findTextDescMatchesTimeout(reg, timeout) {
    let c = 0
    while (c < timeout / 50) {
        let result = textMatches(reg).findOnce() || descMatches(reg).findOnce()
        if (result) return result
        sleep(50)
        c++
    }
    return null
}
sclodestar commented 2 years ago

已搞定

sclodestar commented 2 years ago

哦对,还少个这个函数

// 自定义一个findTextDescMatchesTimeout
function findTextDescMatchesTimeout(reg, timeout) {
    let c = 0
    while (c < timeout / 50) {
        let result = textMatches(reg).findOnce() || descMatches(reg).findOnce()
        if (result) return result
        sleep(50)
        c++
    }
    return null
}

大佬,可否劳烦您再帮忙做个简单的领淘金币?只需要进淘金币领取每日金币就行了,领金币页面的签到啥的都不需要。

我看到有个大神写了https://github.com/JavisPeng/taojinbi/blob/main/taojinbi.js

能否帮忙精简一下,非常感谢

sclodestar commented 2 years ago

另外,/.领取金币.|.后满./ 可以改成/.领取金币.|.后满.|.后存满./

sclodestar commented 2 years ago

对着你的脚本,硬是自学了activity的打开方法。。。唉。。。总算搞定。