aardio 文档
aardio 范例: 飞书长连接 WebSocket 客户端范例
// 飞书长连接 WebSocket 客户端范例
import console;
import win.ui;
import web.feishu.socketClient;
console.showLoading(" 正在启动飞书长连接客户端... ");
// 创建客户端
var client = web.feishu.socketClient(
appId = "cli_********"; // 替换为你的 App ID
appSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // 替换为你的 App Secret
);
// 监听就绪事件
client.onReady = function(){
console.success("飞书长连接已就绪!");
console.log("连接 ID (Device ID):", client.connId);
console.log("服务 ID (Service ID):", client.serviceId);
}
// 监听连接断开
client.onDisconnected = function(e){
console.warn("连接已断开");
}
// 监听重连
client.onReconnecting = function(attempts, delay){
console.log(string.format("正在进行第 %d 次重连,等待 %d 秒...", attempts, delay));
}
// 监听错误
client.onError = function(err){
console.error("发生错误:", err);
}
// 监听所有事件 (通用回调)
client.onEvent = function(eventType, eventObj, frame, headers){
console.log("收到事件:", eventType);
console.dumpJson(eventObj);
// 默认返回 null 即可,表示成功处理(会自动回包 200)
}
// 监听特定事件:机器人接收消息 v2.0
client.on("im.message.receive_v1", function(eventObj, frame, headers){
console.success("收到机器人消息!");
var message = eventObj.event.message;
// 飞书消息内容 content 是一个 JSON 字符串,需要解析
var contentObj = JSON.parse(message.content);
console.log("消息文本:", contentObj.text);
console.log("发送者 ID:", eventObj.event.sender.sender_id.open_id);
// 自动回复用户
var replyText = "你好!我已经收到你的消息:'" ++ contentObj.text ++ "'。这是一条来自 aardio 飞书长连接客户端的自动回复。";
var res, err = client.replyText(message.message_id, replyText);
if(res){
console.success("自动回复成功!消息 ID:", res.data.message_id);
}
else {
console.error("自动回复失败:", err);
}
})
// 启动客户端
client.start();
// 必须启动消息循环,否则异步 WebSocket 和定时器无法工作
win.loopMessage();
Markdown 格式