2023-06-30 09:54:08 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package client;
|
|
|
|
|
2023-07-17 13:51:31 +00:00
|
|
|
option go_package = "../gmproto";
|
2023-06-30 09:54:08 +00:00
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
import "conversations.proto";
|
|
|
|
import "authentication.proto";
|
|
|
|
import "util.proto";
|
2023-06-30 09:54:08 +00:00
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message NotifyDittoActivityRequest {
|
2023-07-15 22:56:11 +00:00
|
|
|
// This is not actually a boolean: after logging out, field 2 has value 2, and field 3 has value 1.
|
2023-07-09 11:16:52 +00:00
|
|
|
bool success = 2;
|
|
|
|
}
|
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message NotifyDittoActivityResponse {}
|
|
|
|
|
|
|
|
message ReceiveMessagesRequest {
|
|
|
|
authentication.AuthMessage auth = 1;
|
|
|
|
|
|
|
|
message UnknownEmptyObject1 {}
|
|
|
|
message UnknownEmptyObject2 {
|
|
|
|
UnknownEmptyObject1 unknown = 2;
|
|
|
|
}
|
|
|
|
optional UnknownEmptyObject2 unknown = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
message MessageReadRequest {
|
2023-07-15 11:38:24 +00:00
|
|
|
string conversationID = 2;
|
|
|
|
string messageID = 3;
|
|
|
|
}
|
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message AckMessageRequest {
|
|
|
|
message Message {
|
|
|
|
string requestID = 1;
|
|
|
|
authentication.Device device = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
authentication.AuthMessage authData = 1;
|
|
|
|
util.EmptyArr emptyArr = 2;
|
|
|
|
repeated Message acks = 4;
|
2023-06-30 09:54:08 +00:00
|
|
|
}
|
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message DownloadAttachmentRequest {
|
|
|
|
AttachmentInfo info = 1;
|
|
|
|
authentication.AuthMessage authData = 2;
|
2023-06-30 09:54:08 +00:00
|
|
|
}
|
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message AttachmentInfo {
|
|
|
|
string attachmentID = 1;
|
2023-06-30 09:54:08 +00:00
|
|
|
bool encrypted = 2;
|
|
|
|
}
|
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message StartMediaUploadRequest {
|
|
|
|
int64 attachmentType = 1;
|
|
|
|
authentication.AuthMessage authData = 2;
|
|
|
|
authentication.Device mobile = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message UploadMediaResponse {
|
|
|
|
UploadedMedia media = 1;
|
|
|
|
string message = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message UploadedMedia {
|
|
|
|
string mediaID = 1;
|
|
|
|
int64 mediaNumber = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetParticipantThumbnailRequest {
|
|
|
|
string conversationID = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetParticipantThumbnailResponse {
|
|
|
|
repeated ParticipantThumbnail thumbnail = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ParticipantThumbnail {
|
|
|
|
string participantID = 1;
|
|
|
|
ThumbnailData data = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetContactsThumbnailRequest {
|
|
|
|
repeated string avatarIDs = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ThumbnailData {
|
|
|
|
bytes imageBuffer = 3;
|
|
|
|
int32 someInt = 4;
|
|
|
|
conversations.Dimensions dimensions = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Cursor {
|
|
|
|
string lastItemID = 1;
|
|
|
|
int64 lastItemTimestamp = 2;
|
2023-06-30 09:54:08 +00:00
|
|
|
}
|
|
|
|
|
2023-07-18 21:59:51 +00:00
|
|
|
message ListMessagesRequest {
|
2023-07-17 23:57:20 +00:00
|
|
|
string conversationID = 2;
|
|
|
|
int64 count = 3;
|
|
|
|
|
|
|
|
Cursor cursor = 5;
|
|
|
|
}
|
|
|
|
|
2023-07-18 21:59:51 +00:00
|
|
|
message ListMessagesResponse {
|
2023-07-17 23:57:20 +00:00
|
|
|
repeated conversations.Message messages = 2;
|
|
|
|
bytes someBytes = 3;
|
|
|
|
int64 totalMessages = 4;
|
|
|
|
Cursor cursor = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ListContactsRequest {
|
|
|
|
int32 i1 = 5; // = 1
|
|
|
|
int32 i2 = 6; // = 350
|
|
|
|
int32 i3 = 7; // = 50
|
|
|
|
}
|
|
|
|
|
|
|
|
message ListTopContactsRequest {
|
|
|
|
int32 count = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ListContactsResponse {
|
|
|
|
repeated conversations.Contact contacts = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ListTopContactsResponse {
|
|
|
|
repeated conversations.Contact contacts = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ListConversationsRequest {
|
|
|
|
enum Folder {
|
|
|
|
UNKNOWN = 0;
|
|
|
|
INBOX = 1;
|
|
|
|
ARCHIVE = 2;
|
|
|
|
SPAM_BLOCKED = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
int64 count = 2;
|
|
|
|
Folder folder = 4;
|
|
|
|
optional Cursor cursor = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ListConversationsResponse {
|
|
|
|
repeated conversations.Conversation conversations = 2;
|
|
|
|
optional bytes cursorBytes = 3;
|
|
|
|
optional Cursor cursor = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetOrCreateConversationRequest {
|
|
|
|
repeated conversations.ContactNumber numbers = 2;
|
|
|
|
optional string RCSGroupName = 3;
|
|
|
|
optional bool createRCSGroup = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetOrCreateConversationResponse {
|
|
|
|
enum Status {
|
|
|
|
UNKNOWN = 0;
|
|
|
|
SUCCESS = 1;
|
|
|
|
CREATE_RCS = 3;
|
|
|
|
}
|
|
|
|
conversations.Conversation conversation = 2;
|
|
|
|
Status status = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message DeleteMessageRequest {
|
|
|
|
string messageID = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message DeleteMessageResponse {
|
|
|
|
bool success = 2;
|
2023-06-30 09:54:08 +00:00
|
|
|
}
|
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message UpdateConversationRequest {
|
|
|
|
UpdateConversationData data = 1;
|
|
|
|
ConversationActionStatus action = 2;
|
|
|
|
string conversationID = 3;
|
|
|
|
ConversationAction5 action5 = 5;
|
2023-06-30 12:49:32 +00:00
|
|
|
}
|
2023-07-09 11:16:52 +00:00
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message ConversationAction5 {
|
|
|
|
bool field2 = 2;
|
2023-07-09 11:16:52 +00:00
|
|
|
}
|
|
|
|
|
2023-07-17 23:57:20 +00:00
|
|
|
message UpdateConversationData {
|
|
|
|
string conversationID = 1;
|
|
|
|
oneof data {
|
|
|
|
ConversationStatus status = 12;
|
|
|
|
ConversationMuteStatus mute = 7;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
enum ConversationStatus {
|
|
|
|
UNKNOWN_STATUS = 0;
|
|
|
|
UNARCHIVE = 1;
|
|
|
|
ARCHIVE = 2;
|
|
|
|
DELETE = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
enum ConversationActionStatus {
|
|
|
|
UNKNOWN_ACTION_STATUS = 0;
|
|
|
|
UNBLOCK = 2;
|
|
|
|
BLOCK = 7;
|
|
|
|
BLOCK_AND_REPORT = 8;
|
|
|
|
}
|
|
|
|
|
|
|
|
enum ConversationMuteStatus {
|
|
|
|
UNMUTE = 0;
|
|
|
|
MUTE = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message UpdateConversationResponse {
|
|
|
|
bool success = 1;
|
|
|
|
/*
|
|
|
|
3 {
|
|
|
|
1 {
|
|
|
|
1 {
|
|
|
|
3: "11"
|
|
|
|
}
|
|
|
|
13: 2
|
|
|
|
}
|
|
|
|
3: 1
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
|
|
|
|
message ConversationTypeRequest {
|
|
|
|
string conversationID = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetConversationTypeResponse {
|
|
|
|
string conversationID = 2;
|
|
|
|
int32 type = 3;
|
|
|
|
bool bool1 = 5;
|
|
|
|
int32 number2 = 6;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetConversationRequest {
|
|
|
|
string conversationID = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GetConversationResponse {
|
|
|
|
conversations.Conversation conversation = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message OpenConversationRequest {
|
|
|
|
string conversationID = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message PrepareOpenConversationRequest {
|
|
|
|
int64 field2 = 2; // only seen value 1
|
|
|
|
}
|
|
|
|
|
|
|
|
message IsBugleDefaultResponse {
|
|
|
|
bool success = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SendMessageRequest {
|
|
|
|
string conversationID = 2;
|
|
|
|
MessagePayload messagePayload = 3;
|
|
|
|
string tmpID = 5;
|
|
|
|
bool isReply = 6; // not sure
|
|
|
|
ReplyPayload reply = 8;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ReplyPayload {
|
|
|
|
string messageID = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message MessagePayload {
|
|
|
|
string tmpID = 1;
|
|
|
|
MessagePayloadContent messagePayloadContent = 6;
|
|
|
|
string conversationID = 7;
|
2023-07-19 17:32:01 +00:00
|
|
|
string participantID = 9;
|
2023-07-17 23:57:20 +00:00
|
|
|
repeated conversations.MessageInfo messageInfo = 10;
|
|
|
|
string tmpID2 = 12;
|
|
|
|
}
|
|
|
|
|
|
|
|
message MessagePayloadContent {
|
|
|
|
conversations.MessageContent messageContent = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SendMessageResponse {
|
|
|
|
int64 type = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SendReactionRequest {
|
|
|
|
enum Action {
|
|
|
|
UNSPECIFIED = 0;
|
|
|
|
ADD = 1;
|
|
|
|
REMOVE = 2;
|
|
|
|
SWITCH = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
string messageID = 1;
|
|
|
|
conversations.ReactionData reactionData = 2;
|
|
|
|
Action action = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SendReactionResponse {
|
|
|
|
bool success = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ResendMessageRequest {
|
|
|
|
string messageID = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message TypingUpdateRequest {
|
|
|
|
message Data {
|
|
|
|
string conversationID = 1;
|
|
|
|
bool typing = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
Data data = 2;
|
2023-07-09 11:16:52 +00:00
|
|
|
}
|