Skip to content

所有事件

字数
735 字
阅读时间
4 分钟

TIP

karin是基于kritor标准进行开发。
大多数情况下都符合kritor的标准,如有冲突,请以karin为准。

所有事件都包含以下字段:

属性类型说明
self_idstring机器人 ID
user_idstring触发用户 ID
group_idstring触发群 ID(非群聊无值)
timenumber事件触发时间戳
eventobject触发的事件类型
sub_eventstring触发事件子类型
contactobject消息来源信息
senderobject消息触发者信息
isMasterboolean是否为机器人主人
isAdminboolean是否为机器人管理员
isPrivateboolean是否为私聊
isGroupboolean是否为群聊
isGuildboolean是否为频道
storeMap存储器 由开发者自行调用
botFunction机器人自身实例

事件类型

提示

eventmessagemessage_sent 时,数据是一致的。
区别在于 message 是收到的消息,message_sent 是发送的消息。
在大多数协议端中,message_sent事件均为用户手动开启。

事件类型说明
message消息事件
message_sentbot 自身触发的消息事件
notice通知事件
request请求事件

消息来源

contact是一个Object对象哦~

js
const contact = {
  scene: 'group', // 场景
  peer: '123456', // 群为群ID、频道为频道ID、好友为好友ID
  sub_peer: '123456', // 一般与`peer`相同或为空,频道场景为`channel_id`。
}

以下是 scene 的值:

  • group: 群聊
  • private: 私聊
  • guild: 频道
  • nearby: 附近的人
  • stranger: 陌生人
  • stranger_from_group: 群临时会话

消息触发者

sender是一个Object对象哦~

提示

无需关心uin字段,user_id默认使用uid,后续会废弃uin字段。
这里的字段目前还处于不断完善中,可能会有变动。

js
const sender = {
  uid: '123456', // 发送者uid
  uin: '123456', // 发送者uin
  nick: '昵称', // 发送者昵称 可能为空
  role: '群身份', // 仅在群聊生效 可能为空
}

以下是 role 的值:

  • owner: 群主
  • admin: 管理员
  • member: 普通成员
  • unknown: 未知

事件子类型

场景名称对应事件说明
groupmessage群聊
privatemessage私聊
guildmessage频道
nearbymessage附近的人
strangermessage陌生人
friend_pokenotice好友戳一戳
friend_recallnotice好友消息撤回
group_pokenotice群戳一戳
group_card_changednotice群名片变动
group_member_unique_title_changednotice群成员专属头衔改变
group_essence_changednotice群精华消息变动
group_recallnotice群消息撤回
group_member_increasenotice群成员增加
group_member_decreasenotice群成员减少
group_admin_changenotice群管理员变动
group_member_bannotice群成员禁言
group_sign_innotice群签到
group_whole_bannotice群全员禁言
group_file_uploadednotice群文件上传
friend_applyrequest新的好友申请
group_applyrequest新的加群请求