回答
在Hamibot中实现多手机同时操作主要通过API批量执行功能来完成。以下是具体操作步骤:
1. 获取设备列表
首先需要获取你所有已连接的设备ID:
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.hamibot.com/v1/devices', {
method: 'GET',
headers: {
authorization: '你的令牌(hmp开头)',
},
});
log(res.body.json());
执行后会返回类似这样的结果:
{
"count": 2,
"items": [
{
"_id": "a51d237e9af41ecc021c9ff6",
"name": "零号机",
"online": true
},
{
"_id": "b32d568f0b9c8d7e6f5a4b3c",
"name": "一号机",
"online": true
}
]
}
2. 多设备同时运行脚本
获取到设备ID后,使用以下方法同时在多个设备上运行脚本:
// 文档地址 https://docs.hamibot.com/
http.request('https://api.hamibot.com/v1/scripts/你的脚本_id/run', {
method: 'POST',
contentType: 'application/json',
headers: {
authorization: '你的令牌(hmp开头)',
},
body: JSON.stringify({
devices: [
{ _id: 'a51d237e9af41ecc021c9ff6', name: '零号机' },
{ _id: 'b32d568f0b9c8d7e6f5a4b3c', name: '一号机' }
],
}),
});
3. 通过代码直接执行(无需预存脚本)
如果想直接执行代码而不是运行预存脚本:
// 文档地址 https://docs.hamibot.com/
http.request('https://api.hamibot.com/v1/scripts/execute', {
method: 'POST',
contentType: 'application/json',
headers: {
authorization: '你的令牌(hmp开头)',
},
body: JSON.stringify({
code: 'console.log("我在运行");',
devices: [
{ _id: 'a51d237e9af41ecc021c9ff6' },
{ _id: 'b32d568f0b9c8d7e6f5a4b3c' }
]
}),
});
注意事项
- 设备ID必须使用你账户下真实存在的设备ID
- 确保设备处于在线状态(online: true)
- 令牌必须是有效的(以"hmp"开头)
- 一次请求最多可以同时操作50台设备
- 多设备操作会同时消耗所有设备的运行时间
如果你需要更复杂的多设备协同操作,可以考虑使用threads模块实现线程控制,但要注意数组操作不是线程安全的。
ℹ️ 本回答由 AI 生成,内容仅供参考