1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00
MiraiGo/client/pb/channel/common.proto
2021-12-14 16:43:25 +08:00

136 lines
3.2 KiB
Protocol Buffer

syntax = "proto2";
package channel;
option go_package = "pb/channel;channel";
import "pb/msg/msg.proto";
message ChannelContentHead {
optional uint64 type = 1;
optional uint64 subType = 2;
optional uint64 random = 3;
optional uint64 seq = 4;
optional uint64 cntSeq = 5;
optional uint64 time = 6;
optional bytes meta = 7;
}
message DirectMessageMember {
optional uint64 uin = 1;
optional uint64 tinyid = 2;
optional uint64 sourceGuildId = 3;
optional bytes sourceGuildName = 4;
optional bytes nickName = 5;
optional bytes memberName = 6;
optional uint32 notifyType = 7;
}
message ChannelEvent {
optional uint64 type = 1;
optional uint64 version = 2;
optional ChannelMsgOpInfo opInfo = 3;
}
message ChannelExtInfo {
optional bytes fromNick = 1;
optional bytes guildName = 2;
optional bytes channelName = 3;
optional uint32 visibility = 4;
optional uint32 notifyType = 5;
optional uint32 offlineFlag = 6;
optional uint32 nameType = 7;
optional bytes memberName = 8;
optional uint32 timestamp = 9;
optional uint64 eventVersion = 10;
repeated ChannelEvent events = 11;
optional ChannelRole fromRoleInfo = 12;
optional ChannelFreqLimitInfo freqLimitInfo = 13;
repeated DirectMessageMember directMessageMember = 14;
}
message ChannelFreqLimitInfo {
optional uint32 isLimited = 1;
optional uint32 leftCount = 2;
optional uint64 limitTimestamp = 3;
}
message ChannelInfo {
optional uint64 id = 1;
optional bytes name = 2;
optional uint32 color = 3;
optional uint32 hoist = 4;
}
message ChannelLoginSig {
optional uint32 type = 1;
optional bytes sig = 2;
optional uint32 appid = 3;
}
message ChannelMeta {
optional uint64 fromUin = 1;
optional ChannelLoginSig loginSig = 2;
}
message ChannelMsgContent {
optional ChannelMsgHead head = 1;
optional ChannelMsgCtrlHead ctrlHead = 2;
optional msg.MessageBody body = 3;
optional ChannelExtInfo extInfo = 4;
}
message ChannelMsgCtrlHead {
repeated bytes includeUin = 1;
// repeated uint64 excludeUin = 2; // bytes?
// repeated uint64 featureid = 3;
optional uint32 offlineFlag = 4;
optional uint32 visibility = 5;
optional uint64 ctrlFlag = 6;
repeated ChannelEvent events = 7;
optional uint64 level = 8;
repeated PersonalLevel personalLevels = 9;
optional uint64 guildSyncSeq = 10;
optional uint32 memberNum = 11;
optional uint32 channelType = 12;
optional uint32 privateType = 13;
}
message ChannelMsgHead {
optional ChannelRoutingHead routingHead = 1;
optional ChannelContentHead contentHead = 2;
}
message ChannelMsgMeta {
optional uint64 atAllSeq = 1;
}
message ChannelMsgOpInfo {
optional uint64 operatorTinyid = 1;
optional uint64 operatorRole = 2;
optional uint64 reason = 3;
optional uint64 timestamp = 4;
optional uint64 atType = 5;
}
message PersonalLevel {
optional uint64 toUin = 1;
optional uint64 level = 2;
}
message ChannelRole {
optional uint64 id = 1;
optional bytes info = 2;
optional uint32 flag = 3;
}
message ChannelRoutingHead {
optional uint64 guildId = 1;
optional uint64 channelId = 2;
optional uint64 fromUin = 3;
optional uint64 fromTinyid = 4;
optional uint64 guildCode = 5;
optional uint64 fromAppid = 6;
optional uint32 directMessageFlag = 7;
}