回答
以下是为你编写的抖音直播验证提醒脚本。脚本基于 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();
}
}
使用说明
- 权限准备:运行前需在 Hamibot 中开启无障碍服务,并授予脚本后台运行权限。
- 运行方式:将脚本保存至 Hamibot 控制台,在抖音直播界面保持前台运行即可。脚本会在后台持续检测屏幕文本。
- 联系人配置:脚本默认发送至“文件传输助手”,你可将
setText("文件传输助手")替换为实际联系人昵称。
注意事项与最佳实践
- 微信 UI 变动风险:微信界面结构会随版本更新调整,
text()、desc()、className()可能失效。若发送失败,可通过 Hamibot 的“布局分析”工具重新抓取控件特征,或改用坐标点击作为降级方案。 - 稳定性优化:生产环境建议将提醒方式替换为
hamibot.notify("标题", "内容")或邮件通知,避免依赖第三方 App 的 UI 自动化。 - 防重复触发:脚本使用
isTriggered标志位确保单次检测仅触发一次提醒。若需循环监控,可在finally块中重置标志位并重启监控线程。 - 性能控制:
findOne(1000)已内置超时机制,不会造成主线程卡死。如需降低 CPU 占用,可将循环间隔调整为sleep(1500)。
如需适配特定机型弹窗拦截、添加截图记录或改用企业微信/钉钉通知,可提供具体需求,我将为你补充对应模块。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实