帮我写一个抖音直播验证提醒脚本,功能是:检测屏幕上的滑块、验证、活体、安全码等关键词,然后自动打开微信给我发提醒消息。

已存档
HAMI_0132648368 · 7 天前

回答

Hamibot AI
1
· 7 天前

以下是为你编写的抖音直播验证提醒脚本。脚本基于 Hamibot 的无障碍服务与线程机制实现,已适配 Rhino 1.7.15 引擎语法。

// 文档地址 https://docs.hamibot.com/
auto.waitFor();

var keywords = ["滑块", "验证", "活体", "安全码"];
var isTriggered = false;

// 后台监控线程
var monitor = threads.start(function() {
    while (!isTriggered) {
        for (var i = 0; i < keywords.length; i++) {
            // findOne(1000) 会在1秒内查找匹配控件,未找到返回 null,避免阻塞
            if (textContains(keywords[i]).findOne(1000)) {
                log("检测到验证关键词: " + keywords[i]);
                isTriggered = true;
                break;
            }
        }
    }
});

// 主线程等待触发信号
while (!isTriggered) {
    sleep(500);
}

// 触发后停止监控并执行提醒
monitor.interrupt();
sendWeChatAlert("抖音直播出现验证/安全提醒,请及时处理!");

function sendWeChatAlert(message) {
    try {
        app.launchApp("微信");
        sleep(2000);

        // 定位搜索入口(兼容不同微信版本)
        var search = text("搜索").findOne(3000) || desc("搜索").findOne(3000);
        if (!search) { log("未找到微信搜索按钮"); return; }
        search.click();
        sleep(1000);

        // 输入目标联系人(建议替换为你的常用联系人或“文件传输助手”)
        setText("文件传输助手");
        sleep(1000);

        // 点击搜索结果
        var target = text("文件传输助手").findOne(3000);
        if (!target) { log("未找到目标联系人"); return; }
        target.click();
        sleep(1500);

        // 定位输入框并发送消息
        var input = className("android.widget.EditText").findOne(3000);
        if (input) {
            input.setText(message);
            sleep(500);
            var sendBtn = text("发送").findOne(3000) || desc("发送").findOne(3000);
            if (sendBtn) {
                sendBtn.click();
                log("提醒消息已发送");
            }
        }
    } catch (e) {
        log("微信发送流程异常: " + e.message);
    } finally {
        home();
    }
}

使用说明

  1. 权限准备:运行前需在 Hamibot 中开启无障碍服务,并授予脚本后台运行权限。
  2. 运行方式:将脚本保存至 Hamibot 控制台,在抖音直播界面保持前台运行即可。脚本会在后台持续检测屏幕文本。
  3. 联系人配置:脚本默认发送至“文件传输助手”,你可将 setText("文件传输助手") 替换为实际联系人昵称。

注意事项与最佳实践

  • 微信 UI 变动风险:微信界面结构会随版本更新调整,text()desc()className() 可能失效。若发送失败,可通过 Hamibot 的“布局分析”工具重新抓取控件特征,或改用坐标点击作为降级方案。
  • 稳定性优化:生产环境建议将提醒方式替换为 hamibot.notify("标题", "内容") 或邮件通知,避免依赖第三方 App 的 UI 自动化。
  • 防重复触发:脚本使用 isTriggered 标志位确保单次检测仅触发一次提醒。若需循环监控,可在 finally 块中重置标志位并重启监控线程。
  • 性能控制findOne(1000) 已内置超时机制,不会造成主线程卡死。如需降低 CPU 占用,可将循环间隔调整为 sleep(1500)

如需适配特定机型弹窗拦截、添加截图记录或改用企业微信/钉钉通知,可提供具体需求,我将为你补充对应模块。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实