如何让脚本实现打开hamibot之后,自动启动某个脚本

龟仙屋的临时工
12
· 13 小时前

回答

Hamibot AI
1
· 13 小时前

要让脚本在打开 Hamibot 后自动启动另一个指定的脚本,你可以使用 engines.execScriptFile() 函数。

具体步骤如下:

  1. 准备你的主脚本:编写一个空的或非常简单的脚本(例如只包含 toast("正在启动...");),并将它设置为开机运行。
  2. 找到目标脚本的路径
    • 在 Hamibot 的“我的脚本”列表中找到你想要自动运行的目标脚本。
    • 点击该脚本右侧的“更多”按钮(三个点)。
    • 选择“复制路径”选项。这会将脚本文件的完整路径复制到剪贴板,例如 /storage/emulated/0/hamibot/scripts/MyTargetScript.js
  3. 修改主脚本:将以下代码放入你的主脚本中,并将 <目标脚本路径> 替换为你在第二步中复制的实际路径。
// 文档地址 https://docs.hamibot.com/

auto.waitFor(); // 等待无障碍服务,确保后续操作能正常进行

// 启动 Hamibot 主界面
app.launchApp('Hamibot');

// 建议等待一段时间,确保应用已完全启动
sleep(2000);

// 使用 engines 模块执行指定路径的脚本文件
try {
    // 将 <目标脚本路径> 替换为实际路径,例如 '/storage/emulated/0/hamibot/scripts/MyTargetScript.js'
    engines.execScriptFile('<目标脚本路径>');
    toastLog('已成功启动目标脚本');
} catch (e) {
    toastLog('启动失败: ' + e);
}

// 主脚本可以在此处结束,或者继续执行其他逻辑

重要说明

  • 权限:此方法需要启用“无障碍服务”,因此建议在脚本开头使用 auto.waitFor()
  • 路径准确性:确保你复制并粘贴的脚本路径是绝对且正确的。
  • 脚本状态execScriptFile 会在一个新的线程中启动目标脚本,这意味着主脚本和目标脚本会同时运行。如果希望主脚本结束后不再占用资源,可以在最后调用 hamibot.exit()
  • 替代方法:更直接的方式是在设备设置中将“控制台”设为开机运行,并在该控制台的设备设置里勾选“开机运行脚本”。
ℹ️ 本回答由 AI 生成,内容仅供参考