gmessages/libgm/gmproto/messages.proto
2023-07-17 16:51:31 +03:00

219 lines
4.4 KiB
Protocol Buffer

syntax = "proto3";
package messages;
option go_package = "../gmproto";
message RegisterRefreshPayload {
AuthMessage messageAuth = 1;
Device currBrowserDevice = 2;
int64 unixTimestamp = 3;
bytes signature = 4;
EmptyRefreshArr emptyRefreshArr = 13;
int32 messageType = 16;
}
message EmptyRefreshArr {
EmptyArr emptyArr = 9;
}
message StartAckMessage {
optional int32 count = 1;
}
message InternalMessage {
optional InternalMessageData data = 2;
optional EmptyArr heartbeat = 3;
optional StartAckMessage ack = 4;
optional EmptyArr startRead = 5;
}
message InternalMessageData {
string responseID = 1;
BugleRoute bugleRoute = 2;
string startExecute = 3;
MessageType messageType = 5;
string finishExecute = 6;
string millisecondsTaken = 7;
Device mobile = 8;
Device browser = 9;
bytes protobufData = 12;
string signatureID = 17;
string timestamp = 21;
}
message InternalRequestData {
string sessionID = 1;
int64 timestamp = 3;
ActionType action = 4;
bool bool1 = 6;
bool bool2 = 7;
bytes encryptedData = 8;
bool bool3 = 9;
}
message RevokeRelayPairing {
AuthMessage authMessage = 1;
Device browser = 2;
}
message SendMessage {
Device mobile = 1;
SendMessageData messageData = 2;
SendMessageAuth messageAuth = 3;
int64 TTL = 5; // might be something related to config
EmptyArr emptyArr = 9;
}
message SendMessageAuth {
string requestID = 1;
bytes tachyonAuthToken = 6;
ConfigVersion configVersion = 7;
}
message SendMessageInternal {
string requestID = 1;
ActionType action = 2;
bytes encryptedProtoData = 5;
string sessionID = 6;
}
/*
requestID = 1
encodedData = {
requestID = 1 ^same
sessionID = 6
}
*/
message SendMessageData {
string requestID = 1;
BugleRoute bugleRoute = 2;
bytes protobufData = 12;
MessageTypeData messageTypeData = 23;
}
message MessageTypeData {
EmptyArr emptyArr = 1;
MessageType messageType = 2;
}
message EmptyArr {
}
message AuthMessage {
string requestID = 1;
optional string network = 3;
optional bytes tachyonAuthToken = 6;
ConfigVersion configVersion = 7;
}
message ReceiveMessagesRequest {
AuthMessage auth = 1;
message UnknownEmptyObject1 {}
message UnknownEmptyObject2 {
UnknownEmptyObject1 unknown = 2;
}
optional UnknownEmptyObject2 unknown = 4;
}
message BaseData {
int64 TTL = 2;
EmptyArr emptyArr = 6;
}
message Device {
int64 userID = 1;
string sourceID = 2;
string network = 3;
}
enum BugleRoute {
UNKNOWN_BUGLE_ROUTE = 0;
DataEvent = 19;
PairEvent = 14;
}
/*
enum EventType {
UNKNOWN_EVENT_TYPE = 0;
ONE = 1;
TWO = 2;
THREE = 3;
FOUR = 4;
FIVE = 5;
SIXTEEN = 16;
}
*/
message ConfigVersion {
int32 Year = 3;
int32 Month = 4;
int32 Day = 5;
int32 V1 = 7;
int32 V2 = 9;
}
enum ActionType {
UNSPECIFIED = 0;
LIST_CONVERSATIONS = 1;
LIST_CONVERSATIONS_SYNC = 1111; // fake value
LIST_MESSAGES = 2;
SEND_MESSAGE = 3;
MESSAGE_UPDATES = 4;
LIST_CONTACTS = 6;
CONVERSATION_UPDATES = 7;
GET_OR_CREATE_CONVERSATION = 9;
MESSAGE_READ = 10;
BROWSER_PRESENCE_CHECK = 11;
TYPING_UPDATES = 12;
SETTINGS_UPDATE = 13;
USER_ALERT = 14;
UPDATE_CONVERSATION = 15;
GET_UPDATES = 16;
ACK_BROWSER_PRESENCE = 17;
LIST_STICKER_SETS = 18;
LEAVE_RCS_GROUP = 19;
ADD_PARTICIPANT_TO_RCS_GROUP = 20;
GET_CONVERSATION_TYPE = 21;
NOTIFY_DITTO_ACTIVITY = 22;
DELETE_MESSAGE = 23;
INSTALL_STICKER_SET = 24;
RESEND_MESSAGE = 25;
GET_CONTACT_RCS_GROUP_STATUS = 26;
DOWNLOAD_MESSAGE = 27;
LIST_TOP_CONTACTS = 28;
GET_CONTACTS_THUMBNAIL = 29;
CHANGE_PARTICIPANT_COLOR = 30;
IS_BUGLE_DEFAULT = 31;
STICKER_USER_CONTEXT = 32;
FAVORITE_STICKER_PACKS = 33;
RECENT_STICKERS = 34;
UPDATE_RECENT_STICKERS = 35;
GET_FULL_SIZE_IMAGE = 36;
GET_PARTICIPANTS_THUMBNAIL = 37;
SEND_REACTION = 38;
SEND_REPLY = 39;
GET_BLOB_FOR_ATTACHMENT = 40;
GET_DEVICES_AVAILABLE_FOR_GAIA_PAIRING = 41;
CREATE_GAIA_PAIRING = 42;
GET_CONVERSATION = 43;
CREATE_GAIA_PAIRING_CLIENT_INIT = 44;
CREATE_GAIA_PAIRING_CLIENT_FINISHED = 45;
UNPAIR_GAIA_PAIRING = 46;
}
enum MessageType {
UNKNOWN_MESSAGE_TYPE = 0;
BUGLE_MESSAGE = 2;
BUGLE_ANNOTATION = 16;
}