回答
Hamibot 脚本执行通常依赖设备处于在线状态,以便接收来自控制台或 API 的运行指令。平台目前没有名为“离线脚本”的独立功能模式,但针对脚本运行环境和设备离线问题,你可以参考以下方案:
1. 设备在线要求
要通过 Hamibot 控制台或 API 远程触发脚本,设备必须保持在线。如果设备离线,无法接收运行指令。如果遇到设备过段时间就会离线的情况,通常是因为系统杀死了后台服务。
解决方法:
- 最简单的办法是重启手机。
- 如果不希望被频繁结束,需要修改手机设置以保持后台在线,具体设置参见 https://hamibot.cn/faq#保持在线
2. 本地脚本执行
如果你希望在设备本地直接运行脚本文件,而不通过云端触发,可以使用 engines.execScriptFile 接口。这允许在当前设备上加载并运行指定的脚本文件。
示例代码:
// 文档地址 https://docs.hamibot.com/
// 执行本地脚本文件
var e = engines.execScriptFile("./receiver.js");
// 等待脚本启动
sleep(2000);
// 向该脚本发送事件
e.getEngine().emit("say", "你好");
3. 脚本运行无反应排查
如果脚本运行后没反应也没报错,可能是脚本正在加载中。
- 等待数秒到数十秒。
- 如果仍无法运行,打开 Hamibot App 的日志(右上角的图标),查看线索并截图反馈给脚本作者。
4. 权限要求
大多数脚本都需要无障碍服务和后台弹窗权限。如果一直要求打开无障碍服务,即使已经打开,也可能因为服务被系统结束。
- 权限的打开方法,参见 https://hamibot.cn/faq#打开权限
- 保持服务在线,参见 https://hamibot.cn/faq#保持在线
确保设备权限配置正确且保持在线状态,是脚本稳定运行的基础。
ℹ️ 本回答由 AI 生成,内容仅供参考