Skip to content

接收消息

事件描述

机器人接收到用户发送的消息后触发此事件:

  • 与机器人单聊的消息
  • 群聊中@机器人的消息

目前仅支持接收的消息类型:普通文本、回复消息、图片、表情、图文混排、文件

订阅说明

事件主体kso.xz.message
回调地址请先在开发者后台-事件订阅模块配置地址
支持应用类型企业自建应用、第三方企业应用
权限要求获取用户发给机器人的单聊消息(kso.im.user2bot.notification) 、获取用户在群聊中@机器人的消息(kso.im.chat2bot.notification)
解密方式详见 解密算法

事件体(解密前)

名称类型说明
topicstring消息主题(值为" kso.xz.message ")
operationstring消息变更动作(创建:create)
timeinteger时间(秒为单位的时间戳)
noncestringiv向量(解密时使用)
signaturestring消息签名
encrypted_datastring消息变更的加密字段

事件体示例(解密前)

json
{
  "topic": " kso.xz.message",
  "operation": "create",
  "nonce": "xxxxxx",
  "signature": "xxxxxxxxxxxx",
  "time": 0, // 秒为单位的时间戳
  "encrypted_data": "xxxxxx"
}

事件体(解密后)

名称类型说明
chat_idinteger会话id
chat_typeinteger会话类型:2-群聊,3-单聊
company_idstring会话归属企业id
senderobject发送者信息
 ∟ user_idinteger发送者用户id
 ∟ company_idinteger发送者归属企业id
send_timeinteger消息发送时间
message_idinteger消息id
message_typeinteger消息类型
contentobject消息内容,不同消息类型content结构不同,详见content结构说明
mentionsarray被@的用户信息
 ∟ user_idinteger被@的用户id
 ∟ company_idinteger被@的用户所属的企业id

事件体示例(解密后)

json
data: {
    "chat_id": 12345,                       // 会话id
    "chat_type": 2,                           // 会话类型:2-群聊,3-单聊
    "company_id": "string",                   // 企业id
    "sender": {
        "user_id": 1234432,              // 发送者的用户id
        "company_id": 1234432                // 发送者所属的企业id
    },
    "send_time": 0,                           // 发送时间
    "message_id": 22331,                    // 消息id
    "message_type": 10,                       // 消息类型:0-文本、7-回复、12-文件、13-表情或图片、18-图文混排
    "content": {                              // 不同消息类型content结构不同,此处仅为示例
            "type": "plainText", // plainText - 普通文本,markdown - markdown文本
            "text": "xxx"
    },
    "mentions": [
        {
            "user_id": 1234432,          // 被@的用户id
            "company_id": 1234432,           // 被@的用户所属的企业id
        }
    ]
}

参数结构说明(Content)

文本(type=0)

json
{
  "type": "plainText", // plainText - 普通文本,markdown - markdown文本
  "text": "xxx"
}

回复(type=7)

json
{
  "ref_msg_id": 12345, // 被引用消息id
  "ref_content_type": 7, // 被引用消息内容的格式
  "ref_content": {}, // 被引用消息内容,格式参考其余消息类型即可(文本、图文混排、表情包)
  "content_type": 7,
  "content": {} // 回复的内容,格式参考其余消息类型(文本、图文混排、表情包)
}

文件(type=12)

json
{
  "store_key": "xxx", // 文件id
  "file_name": "xxx" // 文件名
}

表情包和图片(type=13)

json
{
  "store_key": "xxxx", // 图片文件id
  "category": "emoji" // 分类 image-图片  emoji-表情
}

图文混排(type=18)

json
{
  "elements": [
    {
      "tag": "text", // 内容分类 text-文本 emoji-表情 img-图片
      "content": {
        "text": "awao",
        "type": "plainText" // 文本渲染格式 plainText普通文本
      }
    },
    {
      "tag": "emoji",
      "content": {
        "store_key": "DD1AFB29cGljLzBiN2ExZDdhNjIzMWRjYmU0YmNiNzJjMDBmM2JmZjQ1OmtzMzprb2EtaW1n" // 表情文件id
      }
    },
    {
      "tag": "img",
      "content": {
        "store_key": "DD1AFB29Mzg3NDg3Yzk1ZjQzZTFiNWMxYjk2MDhjNjY3ZThhZjk6a3MzOmtvYS1pbWc=" // 图片文件id
      }
    }
  ]
}