Skip to content

一个 Satori 协议服务端的 GoLang 实现,用于对接 QQ 官方机器人

License

Notifications You must be signed in to change notification settings

WindowsSov8forUs/go-kyutorin

Repository files navigation

go-kyutorin

✨ 基于 Satori 协议的 QQ 官方机器人 API GoLang 实现 ✨

引用

本项目引用了这些项目,并进行了一些改动

说明

本项目是一个基于 Satori 协议的 QQ 官方机器人 API GoLang 实现,目的是可以使用户能够快速地建立起一个 Satori 服务端,并能够通过 Satori 协议规定的规范化 API 接口实现 QQ 官方机器人。

接口

实现

已实现消息元素

符合 Satori 协议标准的消息元素

元素标签 功能 QQ 频道 QQ 单聊/群聊
- 纯文本 🟩 🟩
<at> 提及用户 🟩 🟥
<sharp> 提及频道 🟩 🟥
<img> 图片 🟩 🟩
<audio> 语音 🟥 🟩
<video> 视频 🟥 🟩
<quote> 引用 🟩 🟥

拓展消息元素

拓展元素标签 功能 QQ 频道 QQ 单聊/群聊
<passive> [被动消息] 🟩 🟩
已实现 API

符合 Satori 协议标准的 API

API 功能 QQ 频道 QQ 单聊/群聊
/channel.get 获取群组频道 🟩 🟩
/channel.list 获取群组频道列表 🟩 🟩
/channle.create 创建群组频道 🟩 🟥
/channel.update 修改群组频道 🟩 🟥
/channel.delete 删除群组频道 🟩 🟥
/user.channel.create 创建私聊频道 🟩 🟩
/guild.get 获取群组 🟩 🟩
/guild.list 获取群组列表 🟩 🟩
/guild.member.get 获取群组成员 🟩 🟥
/guild.member.list 获取群组成员列表 🟩 🟥
/guild.member.kick 踢出群组成员 🟩 🟥
/guild.role.list 获取群组角色列表 🟩 🟥
/guild.role.create 创建群组角色 🟩 🟥
/guild.role.update 修改群组角色 🟩 🟥
/guild.role.delete 删除群组角色 🟩 🟥
/login.get 获取登录信息 🟩 🟩
/message.create 发送消息 🟩 🟩
/message.get 获取消息 🟩 🟩
/message.delete 撤回消息 🟩 🟥
/message.update 编辑消息 🟩 🟥
/message.list 获取消息列表 🟩 🟩
/reaction.create 添加表态 🟩 🟥
/reaction.delete 删除表态 🟩 🟥
/reaction.list 获取表态列表 🟩 🟥

符合 Satori 协议标准的扩展 API

扩展 API 功能
/admin/login.list 获取登录信息列表
/admin/webhook.create 创建 WebHook
/admin/webhook.delete 移除 WebHook
已实现的事件

符合 Satori 协议标准的事件

事件类型 事件 QQ 频道 QQ 单聊/群聊
guild-added 加入群组时触发 🟩 🟩
guild-updated 群组被修改时触发 🟩 🟥
guild-removed 退出群组时触发 🟩 🟩
guild-member-added 群组成员增加时触发 🟩 🟥
guild-member-updated 群组成员信息更新时触发 🟩 🟥
guild-member-removed 群组成员移除时触发 🟩 🟥
login-added 登录被创建时触发 🟩 🟩
login-removed 登录被删除时触发 🟩 🟩
login-updated 登录信息更新时触发 🟩 🟩
message-created 当消息被创建时触发 🟩 🟩
message-deleted 当消息被删除时触发 🟩 🟥
reaction-added 当表态被添加时触发 🟩 🟥
reaction-removed 当表态被移除时触发 🟩 🟥

不符合 Satori 协议标准的事件

Satori 协议为无法直接通过 Satori 服务端获取的事件提供了 internal 事件,这意味着当用户收到 internal 事件后,可以直接通过事件结构的 _type 字段获取原生事件类型,并通过 _data 字段获取原生事件数据。

事件类型 事件 QQ 频道 QQ 单聊/群聊
internal 平台原生事件 🟩 🟥

与此同时,部分 Satori 协议标准事件也会存在 _type 字段和 _data 字段,用户可以通过该字段直接访问 QQ 原生事件数据。