{
"id": 123456789, // [LONG],
"nick": "鸽子", // [STRING], 用户昵称
}
{
"id": 123456789, // [LONG],
"nick": "鸽子", // [STRING], 用户昵称
"nameCard": "不要加我好友,不要发私聊", // [STRING], 群名片, 可能为空
"nameCardOrNick": "不要加我好友,不要发私聊",
"permission": "administrator", // [STRING ENUM] 权限, administrator = 管理员, owner = 群主, member = 群员
"specialTitle": "specialTitle" // [String] 群头衔
}
{
"id": 123456789, // [LONG], 群号
"name": "Mamoe Tech", // [STRING] 群名
"botPermission": "member" // [STRING ENUM] Bot权限, administrator = 管理员, owner = 群主, member = 群员
}
// 一个 Message Chain
[
{"type": "MessageSource", "id": "MESSAGE_SOURCE_ID"},
{"type": "Plain", "text": "我永远喜欢him188moe"}
]
MessageSource由 WS API 进行维护
{"type": "MessageSource", "id": "MsgId"} // id由 WS API维护
MessageSource id 可用于回复和撤回消息
{"type": "Plain", "text": "纯文本!"}
{
"type": "At",
"target": 123456789,
"display": ""
}
{"type": "AtAll"} // @全体成员
{"type": "Face", "id": 123}
Also See: Face.kt
{
"type": "Image",
"id": "", // 图片id
"url": "http://404notfound.com"
}
url说明
- url在从 WS API 发送到对接程序的时候, 一定是一个有效的url
- url在从程序发送回 WS API的时候, 支持以下协议
- file://.....
- http://....
- https://....
- base64:[图片数据的Base64]
- base64:iVBORw0KGgoAA......
闪照
{"type": "FlashImage", "image": {
//....
}}
其中 Image 为 Image, 且无 type
字段
{"type": "FlashImage", "image": {
"url": "https://404notfound.com/notfound.jpg"
}}
{
"type":"Poke",
"pokeType": 1, // 对应 PokeMessage.type, 由 mirai-core 维护
"name": "戳一戳"
}
Also see: PokeMessage
仅支持接受, 不支持发送
{
"type": "Voice",
"url:": "http://404notfound.com",
"filename": ""
}
回复信息
{
"type": "Quote",
"id": "MESSAGE_SOURCE_ID"
}
{
"type": "LightApp",
"content": "....."
}
Also see: LightApp
{
"type": "Service",
"id": 123,
"content": "...."
}
Also see: ServiceMessage
{
"type": "GroupMessage",
"group" : {}, // [GroupModel]
"sender": {}, // [MemberModel]
"replyKey": "RANDOM REPLY KEY", // [STRING], 用于回复的 key
"message": [ // [MessageChain]
{"type": "MessageSource", "id": "ABCDEF"},
{"type": "Plain", "text": "我永远喜欢hso188moe"}
],
"bot": 123456789 // [LONG]
}
{
"type": "FriendMessage",
"sender": {}, // [FriendModel]
"message": [], // [MessageChain]
"replyKey": "RANDOM REPLY KEY", // [STRING], 用于回复的 key
"bot": 123456789 // [LONG]
}
{
"type": "TempMessage",
"group": {}, // [GroupModel]
"sender": {}, // [FriendModel]
"message": [], // [MessageChain]
"replyKey": "RANDOM REPLY KEY", // [STRING], 用于回复的 key
"bot": 123456789 // [LONG]
}
注: 要回复 TempMessage 只能通过 ReplyMessage
{
"type": "MemberMuteEvent",
"group": {}, // [GroupModel]
"member": {}, // [MemberModel],
"bot": 1234567890, // [LONG]
"time": 10, // [INT] 禁言时间, 单位 s
"operator": {}, // [MemberModel], 可能不存在, 不存在时为bot操作
}
{
"type": "MemberUnmuteEvent",
"group": {}, // [GroupModel]
"member": {}, // [MemberModel]
"bot": 1234567890, // [LONG]
"operator": {}, // [MemberModel], 可能不存在, 不存在时为bot操作
}
{
"type": "BotMuteEvent",
"group": {}, // [GroupModel]
"bot": 1234567890, // [LONG]
"time": 10, // [INT] 禁言时间, 单位 s
"operator": {}, // [MemberModel]
}
{
"type": "BotUnmuteEvent",
"group": {}, // [GroupModel]
"bot": 1234567890, // [LONG]
"operator": {}, // [MemberModel]
}
{
"type": "BotGroupPermissionChangeEvent",
"group": {}, // [GroupModel]
"bot": 1234567890, // [LONG]
"origin": "member", // [String ENUM] bot 原先权限
"new": "administrator", // [String ENUM] bot 新权限
}
{
"type": "MemberPermissionChangeEvent",
"group": {}, // [GroupModel]
"bot": 1234567890, // [LONG]
"member": {}, // [MemberModel]
"origin": "member", // [String ENUM] bot 原先权限
"new": "administrator", // [String ENUM] bot 新权限
}
群成员头像改变事件
{
"type": "MemberSpecialTitleChangeEvent",
"group": {}, // [GroupModel]
"member": {}, // [MemberModel]
"origin": "member", // [String ENUM] bot 原先权限
"new": "administrator", // [String ENUM] bot 新权限
"bot": 1234567890, // [LONG]
"operator": {}, // [MemberModel], 群主, 不存在时意为 bot 是群主, bot修改了头衔
}
回复一条信息
{
"type": "Reply",
"content": {
"id": "REPLY ID", // 通过 GroupMessage/FriendMessage/TempMessage获取到的 replyKey
"message": [], // [MessageChain]
}
}
操作返回:
key | desc |
---|---|
receiptId | 可用于 RecallReceipt |
sourceId | MESSAGE SOURCE ID |
主动发送信息到一个群组
{
"type": "SendToGroup",
"content": {
"bot": 123456789, // [LONG] BOT id, 必须
"group": 123456789, // [LONG] 群号, 必须
"message": [], // [MessageChain]
}
}
操作返回:
key | desc |
---|---|
receiptId | 可用于 RecallReceipt |
sourceId | MESSAGE SOURCE ID |
主动发送信息到一个群组
{
"type": "SendToGroup",
"content": {
"bot": 123456789, // [LONG] BOT id, 必须
"friend": 123456789, // [LONG] 好友QQ号, 必须
"message": [] // [MessageChain]
}
}
操作返回:
key | desc |
---|---|
receiptId | 可用于 RecallReceipt |
sourceId | MESSAGE SOURCE ID |
撤回机器人发送的消息
{
"type": "RecallReceipt",
"content":{ "receipt": "RECEIPT ID" }
}
撤回任意消息
{
"type": "Recall",
"content":{"messageSource": "MESSAGE SOURCE ID"} // 可以通过 SendToXXX 或者 XXXMessage的message中的MessageSource 获取
}
禁言群成员
{
"type": "MuteMember",
"content": {
"bot": 112233221100, // [LONG] bot id
"group": 123456789, // [LONG] 群号
"member": 987654321, // 群成员QQ号
"time": 60 // 单位: 秒
}
}
获取 bot 的所在群列表
{
"type": "ListGroups",
"content": {
"bot": 123456789 // [LONG] Bot id
}
}
操作返回: 自己试试不就有了
{
"type": "ListFriends",
"content": {
"bot": 123456789 // [LONG] Bot id
}
}
操作返回: 自己试试不就有了
{
"type": "GroupVerbose",
"content": {
"bot": 123456789, // [LONG] Bot id
"group": 987654321, // [LONG] group id
"noMembers": true // [Optional] [BOOLEAN] 是否不获取 members, 默认 true
}
}
操作返回: 自己试试不就有了
{
"type": "VerboseMessageSource",
"content": {
"messageSource": "[MESSAGE SOURCE]" // Message Source
}
}
操作返回: 自己试试不就有了