回答
Hamibot 脚本运行环境中目前没有内置 websocket 模块。
针对不同的通信场景,你可以采用以下替代方案:
-
本地脚本间通信
如果是同一设备上的多个脚本需要交互,可以使用events模块。它支持脚本间共享事件,一个脚本发送广播,其他脚本监听并处理。这是实现本地实时数据同步的有效方式。 -
远程服务器通信
如果需要与外部服务器进行实时或准实时通信,建议使用http模块进行定期轮询。虽然相比 WebSocket 实时性稍弱,但在大多数自动化场景中足够稳定可靠。
以下是使用 events 模块进行脚本间通信的示例代码(已适配 Rhino 引擎,无箭头函数):
发送端脚本:
// 文档地址 https://docs.hamibot.com/
// 发送广播事件
events.broadcast.emit('statusUpdate', 'running');
接收端脚本:
// 文档地址 https://docs.hamibot.com/
// 监听事件
events.on('statusUpdate', function (data) {
toastLog('收到状态: ' + data);
});
// 保持脚本运行
setInterval(function () {}, 1000);
对于更复杂的网络需求,建议参考官方文档中关于网络请求的部分,结合后端服务设计合适的轮询机制。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实