Skip to content
On this page

事件订阅详述

事件订阅是系统可以将软件中的消息或其他事件(加入、退出群事件和关注、取关机器人事件)推送到你的服务器中,你的服务器可以根据对应的消息或者事件做出相应的反应。
推送是通过HTTP协议以POST请求的方式推送JSON格式的数据

使用场景

  • 你希望能对用户输入的内容做出相应反应时,比如当用户输入1+1=,你可以在服务器端收到这条消息,然后计算出结果,再通过消息发送接口告诉用户计算结果

事件列表

事件名称介绍取值状态
普通消息事件普通消息message.receive.normal可用
指令消息事件指令消息message.receive.instruction可用
关注机器人事件关注机器人事件bot.followed可用
取消关注机器人事件取消关注机器人事件bot.unfollowed可用
加入群事件用户加入群事件group.join可用
退出群事件用户退出群事件group.leave可用
按钮事件消息中按钮点击事件button.report.inline可用

消息事件

数据内容

字段类型说明
versionstring事件内容版本号
headerHeader对象包括事件的基础信息
eventEvent对象包括事件的内容。注意:Event对象的结构会在不同的eventType下发生变化

Header对象

字段类型说明
eventIdstring事件ID,全局唯一
eventTimeint事件产生的时间,毫秒13位时间戳
eventTypestring事件类型

Event对象

字段类型说明
senderSender对象发送者的信息
messageMessage对象消息内容

Sender对象

字段类型说明
senderIdstring发送者ID,给用户回复消息需要该字段
senderTypestring发送者用户类型,取值:user
senderUserLevelstring发送者级别,取值:owner、administrator、member、unknown
senderNicknamestring发送者昵称

Chat对象

字段类型说明
chatIdstring聊天对象ID
chatTypestring聊天对象类型,取值: bot、group

Message对象

字段类型说明
msgIdstring消息ID,全局唯一
parentIdstring引用消息时的父消息ID
sendTimeint消息发送时间,毫秒13位时间戳
chatIdstring当前聊天的对象ID
单聊消息,chatId即对方用户ID
群聊消息,chatId即群ID
机器人消息,chatId即机器人ID
chatTypestring当前聊天的对象类型
group 群聊
bot 机器人
contentTypestring当前消息类型
text 文本消息
image 图片消息
markdown Markdown消息
file 文件消息
contentstring消息正文,注意为字符串类型
instructionIdint废弃勿用 指令ID,可用来区分用户发送的指令
instructionNamestring废弃勿用 指令名称,可用来区分用户发送的指令
commandIdint指令ID,可用来区分用户发送的指令
commandNamestring指令名称,可用来区分用户发送的指令

消息JSON结构体示例

json
{
  "version": "1.0",
  "header": {
    "eventId": "xxxxx",
    "eventTime": 1647735644000,
    "eventType": "xxxxxx"
  },
  "event": {
    "sender": {
      "senderId": "xxxxx",
      "senderType": "user",
      "senderUserLevel": "member",
      "senderNickname": "昵称"
    },
    "chat": {
      "chatId": "xxxxx",
      "chatType": "group"
    },
    "message": {
      "msgId": "xxxxxx",
      "parentId": "xxxx",
      "sendTime": 1647735644000,
      "chatId": "xxxxxxxx",
      "chatType": "group",
      "contentType": "text",
      "content": {
        "text": "早上好"
      },
      "commandId": 98,
      "commandName": "计算器"
    }
  }
}