github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/client/pb/channel/common.proto (about) 1 syntax = "proto2"; 2 3 package channel; 4 5 option go_package = "github.com/Mrs4s/MiraiGo/client/pb/channel;channel"; 6 7 import "pb/msg/msg.proto"; 8 9 message ChannelContentHead { 10 optional uint64 type = 1; 11 optional uint64 subType = 2; 12 optional uint64 random = 3; 13 optional uint64 seq = 4; 14 optional uint64 cntSeq = 5; 15 optional uint64 time = 6; 16 optional bytes meta = 7; 17 } 18 19 message DirectMessageMember { 20 optional uint64 uin = 1; 21 optional uint64 tinyid = 2; 22 optional uint64 sourceGuildId = 3; 23 optional bytes sourceGuildName = 4; 24 optional bytes nickName = 5; 25 optional bytes memberName = 6; 26 optional uint32 notifyType = 7; 27 } 28 29 message ChannelEvent { 30 optional uint64 type = 1; 31 optional uint64 version = 2; 32 optional ChannelMsgOpInfo opInfo = 3; 33 } 34 35 message ChannelExtInfo { 36 optional bytes fromNick = 1; 37 optional bytes guildName = 2; 38 optional bytes channelName = 3; 39 optional uint32 visibility = 4; 40 optional uint32 notifyType = 5; 41 optional uint32 offlineFlag = 6; 42 optional uint32 nameType = 7; 43 optional bytes memberName = 8; 44 optional uint32 timestamp = 9; 45 optional uint64 eventVersion = 10; 46 repeated ChannelEvent events = 11; 47 optional ChannelRole fromRoleInfo = 12; 48 optional ChannelFreqLimitInfo freqLimitInfo = 13; 49 repeated DirectMessageMember directMessageMember = 14; 50 } 51 52 message ChannelFreqLimitInfo { 53 optional uint32 isLimited = 1; 54 optional uint32 leftCount = 2; 55 optional uint64 limitTimestamp = 3; 56 } 57 58 message ChannelInfo { 59 optional uint64 id = 1; 60 optional bytes name = 2; 61 optional uint32 color = 3; 62 optional uint32 hoist = 4; 63 } 64 65 message ChannelLoginSig { 66 optional uint32 type = 1; 67 optional bytes sig = 2; 68 optional uint32 appid = 3; 69 } 70 71 message ChannelMeta { 72 optional uint64 fromUin = 1; 73 optional ChannelLoginSig loginSig = 2; 74 } 75 76 message ChannelMsgContent { 77 optional ChannelMsgHead head = 1; 78 optional ChannelMsgCtrlHead ctrlHead = 2; 79 optional msg.MessageBody body = 3; 80 optional ChannelExtInfo extInfo = 4; 81 } 82 83 message ChannelMsgCtrlHead { 84 repeated bytes includeUin = 1; 85 // repeated uint64 excludeUin = 2; // bytes? 86 // repeated uint64 featureid = 3; 87 optional uint32 offlineFlag = 4; 88 optional uint32 visibility = 5; 89 optional uint64 ctrlFlag = 6; 90 repeated ChannelEvent events = 7; 91 optional uint64 level = 8; 92 repeated PersonalLevel personalLevels = 9; 93 optional uint64 guildSyncSeq = 10; 94 optional uint32 memberNum = 11; 95 optional uint32 channelType = 12; 96 optional uint32 privateType = 13; 97 } 98 99 message ChannelMsgHead { 100 optional ChannelRoutingHead routingHead = 1; 101 optional ChannelContentHead contentHead = 2; 102 } 103 104 message ChannelMsgMeta { 105 optional uint64 atAllSeq = 1; 106 } 107 108 message ChannelMsgOpInfo { 109 optional uint64 operatorTinyid = 1; 110 optional uint64 operatorRole = 2; 111 optional uint64 reason = 3; 112 optional uint64 timestamp = 4; 113 optional uint64 atType = 5; 114 } 115 116 message PersonalLevel { 117 optional uint64 toUin = 1; 118 optional uint64 level = 2; 119 } 120 121 message ChannelRole { 122 optional uint64 id = 1; 123 optional bytes info = 2; 124 optional uint32 flag = 3; 125 } 126 127 message ChannelRoutingHead { 128 optional uint64 guildId = 1; 129 optional uint64 channelId = 2; 130 optional uint64 fromUin = 3; 131 optional uint64 fromTinyid = 4; 132 optional uint64 guildCode = 5; 133 optional uint64 fromAppid = 6; 134 optional uint32 directMessageFlag = 7; 135 }