回答
自己开发的脚本可以通过以下几种方式导入到 Hamibot:
1. 通过 Web 控制台导入(推荐)
- 登录 Hamibot 官网,进入「脚本」页面。
- 点击「创建脚本」,选择「上传脚本」。
- 上传你的脚本文件(支持
.js或.json文件)。 - 上传后,脚本会出现在你的脚本列表中,可以在设备上运行。
2. 通过 API 导入(适用于开发者)
如果你需要通过编程方式管理脚本,可以使用 Hamibot 的开发者 API。
- 创建脚本:向
https://api.hamibot.com/v1/devscripts发送 POST 请求,并在请求头中提供你的授权令牌(以hmp开头)。 - 上传脚本文件:创建脚本后,使用 PUT 请求到
https://api.hamibot.com/v1/devscripts/{开发脚本_id}/files来上传脚本文件(application/javascript类型)和可选的配置文件(application/json类型)。
以下是示例代码(注意兼容性):
// 文档地址 https://docs.hamibot.com/
// 创建脚本
var createRes = http.request('https://api.hamibot.com/v1/devscripts', {
method: 'POST',
headers: {
authorization: '你的令牌(hmp 开头)',
},
body: JSON.stringify({ name: '脚本名字' }),
});
log(createRes.body.json());
// 假设脚本 ID 为 bfe67d643ababe0ab6fda054,上传脚本文件
var uploadRes = http.request('https://api.hamibot.com/v1/devscripts/bfe67d643ababe0ab6fda054/files', {
method: 'PUT',
headers: {
authorization: '你的令牌(hmp 开头)',
},
// 注意:实际文件上传需要使用 multipart/form-data,此处仅为示意,具体实现需参考文档
});
3. 通过 Hamibot App 直接导入
- 在手机上打开 Hamibot App。
- 进入「脚本」页面,点击右上角的「+」号。
- 选择「导入脚本」,然后从手机存储中选择你的脚本文件(
.js格式)。 - 导入后,脚本会出现在列表中,可以点击运行。
注意事项
- 脚本文件大小不能超过 3MB。
- 确保脚本代码兼容 Hamibot 的 JavaScript 引擎(Rhino 1.7.15),避免使用箭头函数、默认参数等不兼容的语法。
- 如果是付费脚本或需要上架到 Marketplace,还需要遵守开发者协议并进行审核。
如果你在导入过程中遇到具体问题,可以描述一下错误信息,我会帮你进一步解答。
补充回答 1
在 Hamibot 中导入并运行自己开发的脚本,通常分为两步:导入脚本和运行脚本。以下是详细步骤:
第一步:导入脚本(以 Web 控制台为例)
- 访问 Hamibot 官网并登录。
- 进入「脚本」页面。
- 点击右上角的「创建脚本」按钮。
- 在弹出的选项中,选择「上传脚本」。
- 从你的电脑中选择
.js或.json格式的脚本文件进行上传。 - 上传成功后,脚本就会出现在你的脚本列表中。
第二步:运行脚本
脚本导入后,可以通过以下三种方式运行:
方法一:通过 Web 控制台运行
- 在脚本列表中,找到你刚导入的脚本。
- 点击脚本卡片上的「运行」按钮。
- 在弹出的窗口中,选择你想要运行该脚本的设备。
- 点击「运行」,脚本就会在选中的设备上开始执行。
方法二:通过 Hamibot App 运行
- 在手机上的 Hamibot App 中,进入「脚本」页面。
- 找到你导入的脚本。
- 点击脚本,进入脚本详情页。
- 点击下方的「运行」按钮,脚本就会在当前手机上开始执行。
方法三:通过 API 远程运行(适用于自动化或集成场景)
你可以使用 Hamibot 提供的 API 来远程触发脚本运行。这需要知道你的脚本 ID 和 设备 ID,并使用你的授权令牌。
API 接口:POST /v1/scripts/{脚本_id}/run
以下是示例代码:
// 文档地址 https://docs.hamibot.com/
// 远程运行脚本
var res = http.request('https://api.hamibot.com/v1/scripts/脚本_id/run', {
method: 'POST',
contentType: 'application/json',
headers: {
authorization: '你的令牌(hmp 开头)',
},
body: JSON.stringify({
devices: [{ _id: '你的设备_id', name: '设备名称' }],
// vars: { key: 'value' } // 可选,传递脚本配置变量
}),
});
log(res.statusCode); // 如果成功,会返回 204
参数说明:
devices:一个数组,包含要运行脚本的设备信息(_id和name)。vars(可选):一个对象,可以传递配置变量给脚本,脚本内通过hamibot.env.key获取。
运行前检查
- 设备在线:确保目标设备已经安装了 Hamibot App 并且处于在线状态。
- 权限开启:在设备上,确保 Hamibot 已经获取了必要的无障碍服务、悬浮窗等权限。
- 脚本兼容性:确保你的脚本代码语法兼容 Hamibot 的 JavaScript 引擎(Rhino 1.7.15),避免使用箭头函数、
let/const等。
如果你在导入或运行过程中遇到错误,可以告诉我具体的错误提示,我会帮你分析解决。
ℹ️ 本回答由 AI 生成,内容仅供参考