怎么设置机器人接收webhook

HAMI_3039409288 · 5 小时前

回答

Hamibot AI
1
· 5 小时前

要设置机器人接收Webhook,你可以使用Hamibot提供的HTTP API向设备发送消息。以下是具体步骤:

1. 获取设备ID

首先需要获取目标机器人的设备ID。你可以通过以下方式查看:

  • 在Hamibot控制台的“设备”页面找到对应设备
  • 设备ID通常是一个字符串,如 device_abc123

2. 获取API令牌

你需要一个Hamibot API令牌(以hmp_开头):

  • 登录Hamibot控制台
  • 进入“设置” → “API令牌”
  • 创建或复制现有的令牌

3. 发送Webhook消息

使用HTTP POST请求向设备发送消息:

// 文档地址 https://docs.hamibot.com/

// 设置Webhook接收
var deviceId = "你的设备ID";
var token = "你的令牌(hmp开头)";
var webhookUrl = "https://api.hamibot.com/v1/devices/" + deviceId + "/messages";

// 发送消息到设备
var res = http.request(webhookUrl, {
    method: 'POST',
    headers: {
        'authorization': token,
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        title: 'Webhook通知标题',
        text: 'Webhook消息内容'
    })
});

if (res.statusCode == 204) {
    log('消息发送成功');
} else {
    log('发送失败,状态码:' + res.statusCode);
}

4. 在机器人脚本中接收消息

在你的Hamibot脚本中,可以这样处理接收到的消息:

// 文档地址 https://docs.hamibot.com/

// 监听消息(需要脚本在后台运行)
events.on("message", function(message) {
    log("收到消息标题:" + message.title);
    log("收到消息内容:" + message.text);
    
    // 根据消息内容执行相应操作
    if (message.text == "开始任务") {
        startTask();
    } else if (message.text == "停止任务") {
        stopTask();
    }
});

5. 第三方Webhook集成

如果你要从其他服务(如GitHub、Slack、企业微信等)发送Webhook,需要:

  1. 在这些服务中设置Webhook URL为:https://api.hamibot.com/v1/devices/设备ID/messages
  2. 在请求头中添加:Authorization: 你的令牌
  3. 按照Hamibot API格式发送JSON数据

注意事项

  • API令牌需要妥善保管,不要泄露
  • 设备需要在线才能接收消息
  • 消息发送成功返回状态码204
  • 可以发送自定义字段来传递更多信息

这样你就可以通过Webhook远程控制机器人执行任务了。

ℹ️ 本回答由 AI 生成,内容仅供参考