配置互动机器人
更新时间:2025-01-23 10:48:46

配置互动机器人

准备工作

  • 创建/加入UC企业
  • 你需要在本地已开发一个用于接收事件回调的服务(例如,HTTP 服务),且该服务需要具备公网访问能力。后续在应用内配置事件订阅时,需要填写服务对应的请求地址。关于事件订阅的配置流程介绍,参见事件订阅流程

步骤一:创建并配置应用

  1. 登录企业管理平台,创建企业自建应用

  2. 开启机器人能力,开启后用户可以进入机器人单聊或把机器人添加到群聊中。若需要支持用户可以在单聊给机器人发消息,请开启 机器人聊天

  3. 配置事件订阅,订阅接收消息事件,详见事件订阅流程

    【注意】接收消息事件仅支持接收机器人单聊消息和群聊中@机器人的消息

步骤二:配置消息处理业务逻辑

当用户在会话中向应用机器人发送消息时,应用会向服务端请求地址发送 接收消息 事件。服务收到事件数据后,需要根据消息内容匹配并返回命中的信息。本教程仅介绍服务端代码的处理逻辑。你需要根据本地服务的实际情况,自行完善代码以实现事件处理与消息发送。

代码逻辑说明
  1. 接收UC发送的事件回调数据如下。具体格式见数据内容

    {
    "events": [
    {
      "createTime": 1703571282801,
      "data": {
        "message": {
          "body": "<at id=\"dbc7594a6ec9497f846dcf065b10cd65\">测试事件机器人</at> ",
          "bornTime": 1703571282791,
          "msgId": 594604841324519424,
          "msgType": "text",
          "sessionId": 594584507337146368
        },
        "sender": {
          "partyId": "f3f389f7d23f4bf183662b8152a582a7",
          "senderId": "cc3c277abc7d493bbf8de1659eb8d7d1"
        }
      },
      "dataVersion": 1,
      "id": "e42d175b2453406299f32771875e6a09",
      "metadataVersion": 1,
      "partyId": "f3f389f7d23f4bf183662b8152a582a7",
      "type": "im.message_receive",
      "userId": null
    }
    ]
    

}

2. 识别数据中的事件内容。
  由于订阅的事件可能不止一个,因此需要通过 **接收消息** 事件的特征,识别该事件。根据 [接收消息](https://) 事件文档,获取该事件的关键特征:事件类型(`body.event.type`)为`im.message_receive`。
3. 提取用户发送消息的内容与 ID

* 在接收消息事件参数中,用户发送的内容包含在`event.data.message`字段, 后续需要根据用户发送的内容进行业务处理,搜索与内容相关的信息。
* 在接收消息事件参数中,用户发送消息的 ID 对应`event.data.message.msgId`字段,后续通过`msgid`定位并回复用户。
* 在接收消息事件参数中,消息发送会话的ID对应`event.data.message.sessionId`字段,后续通过`sessionId`定位并处理对应会话。
* 在接收消息事件参数中,消息发送人的用户ID对应`event.data.sender.senderId`字段。后续通过`senderId`定位并处理与该用户相关业务。

4. 进行业务逻辑处理。
  例如,基于用户消息内容,在企业内网搜索并保存相匹配的信息。
5. 调用所需接口,如调用开放接口[发送消息](https://),在对应群聊中发消息。
![自定义机器人6](./resources/互动机器人.png)

本页目录