diff --git a/goneonize/Neonize.proto b/goneonize/Neonize.proto index 73d24cac..07a98031 100644 --- a/goneonize/Neonize.proto +++ b/goneonize/Neonize.proto @@ -940,4 +940,28 @@ message LogEntry { required string Name = 3; } -message Stop{} \ No newline at end of file +message Stop{} + +message BusinessHoursConfig { + optional string DayOfWeek = 1; + optional string Mode = 2; + optional string OpenTime = 3; + optional string CloseTime = 4; +} +message Category { + optional string ID = 1; + optional string Name = 2; +} +message BusinessProfile { + optional JID JID = 1; + optional string Address = 2; + optional string Email = 3; + repeated Category Categories = 4; + map ProfileOptions = 5; + optional string BusinessHoursTimeZone = 6; + repeated BusinessHoursConfig BusinessHours = 7; +} +message GetBusinessProfileReturnFunction{ + optional BusinessProfile Profile = 1; + optional string Error = 2; +} diff --git a/goneonize/defproto/Neonize.pb.go b/goneonize/defproto/Neonize.pb.go index 34a3eb73..bdc30bb2 100644 --- a/goneonize/defproto/Neonize.pb.go +++ b/goneonize/defproto/Neonize.pb.go @@ -9956,6 +9956,270 @@ func (*Stop) Descriptor() ([]byte, []int) { return file_Neonize_proto_rawDescGZIP(), []int{138} } +type BusinessHoursConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + DayOfWeek *string `protobuf:"bytes,1,opt,name=DayOfWeek" json:"DayOfWeek,omitempty"` + Mode *string `protobuf:"bytes,2,opt,name=Mode" json:"Mode,omitempty"` + OpenTime *string `protobuf:"bytes,3,opt,name=OpenTime" json:"OpenTime,omitempty"` + CloseTime *string `protobuf:"bytes,4,opt,name=CloseTime" json:"CloseTime,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BusinessHoursConfig) Reset() { + *x = BusinessHoursConfig{} + mi := &file_Neonize_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BusinessHoursConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BusinessHoursConfig) ProtoMessage() {} + +func (x *BusinessHoursConfig) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[139] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BusinessHoursConfig.ProtoReflect.Descriptor instead. +func (*BusinessHoursConfig) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{139} +} + +func (x *BusinessHoursConfig) GetDayOfWeek() string { + if x != nil && x.DayOfWeek != nil { + return *x.DayOfWeek + } + return "" +} + +func (x *BusinessHoursConfig) GetMode() string { + if x != nil && x.Mode != nil { + return *x.Mode + } + return "" +} + +func (x *BusinessHoursConfig) GetOpenTime() string { + if x != nil && x.OpenTime != nil { + return *x.OpenTime + } + return "" +} + +func (x *BusinessHoursConfig) GetCloseTime() string { + if x != nil && x.CloseTime != nil { + return *x.CloseTime + } + return "" +} + +type Category struct { + state protoimpl.MessageState `protogen:"open.v1"` + ID *string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Category) Reset() { + *x = Category{} + mi := &file_Neonize_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Category) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Category) ProtoMessage() {} + +func (x *Category) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[140] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Category.ProtoReflect.Descriptor instead. +func (*Category) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{140} +} + +func (x *Category) GetID() string { + if x != nil && x.ID != nil { + return *x.ID + } + return "" +} + +func (x *Category) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type BusinessProfile struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,opt,name=JID" json:"JID,omitempty"` + Address *string `protobuf:"bytes,2,opt,name=Address" json:"Address,omitempty"` + Email *string `protobuf:"bytes,3,opt,name=Email" json:"Email,omitempty"` + Categories []*Category `protobuf:"bytes,4,rep,name=Categories" json:"Categories,omitempty"` + ProfileOptions map[string]string `protobuf:"bytes,5,rep,name=ProfileOptions" json:"ProfileOptions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + BusinessHoursTimeZone *string `protobuf:"bytes,6,opt,name=BusinessHoursTimeZone" json:"BusinessHoursTimeZone,omitempty"` + BusinessHours []*BusinessHoursConfig `protobuf:"bytes,7,rep,name=BusinessHours" json:"BusinessHours,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BusinessProfile) Reset() { + *x = BusinessProfile{} + mi := &file_Neonize_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BusinessProfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BusinessProfile) ProtoMessage() {} + +func (x *BusinessProfile) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[141] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BusinessProfile.ProtoReflect.Descriptor instead. +func (*BusinessProfile) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{141} +} + +func (x *BusinessProfile) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *BusinessProfile) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address + } + return "" +} + +func (x *BusinessProfile) GetEmail() string { + if x != nil && x.Email != nil { + return *x.Email + } + return "" +} + +func (x *BusinessProfile) GetCategories() []*Category { + if x != nil { + return x.Categories + } + return nil +} + +func (x *BusinessProfile) GetProfileOptions() map[string]string { + if x != nil { + return x.ProfileOptions + } + return nil +} + +func (x *BusinessProfile) GetBusinessHoursTimeZone() string { + if x != nil && x.BusinessHoursTimeZone != nil { + return *x.BusinessHoursTimeZone + } + return "" +} + +func (x *BusinessProfile) GetBusinessHours() []*BusinessHoursConfig { + if x != nil { + return x.BusinessHours + } + return nil +} + +type GetBusinessProfileReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Profile *BusinessProfile `protobuf:"bytes,1,opt,name=Profile" json:"Profile,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBusinessProfileReturnFunction) Reset() { + *x = GetBusinessProfileReturnFunction{} + mi := &file_Neonize_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBusinessProfileReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBusinessProfileReturnFunction) ProtoMessage() {} + +func (x *GetBusinessProfileReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[142] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBusinessProfileReturnFunction.ProtoReflect.Descriptor instead. +func (*GetBusinessProfileReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{142} +} + +func (x *GetBusinessProfileReturnFunction) GetProfile() *BusinessProfile { + if x != nil { + return x.Profile + } + return nil +} + +func (x *GetBusinessProfileReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + var File_Neonize_proto protoreflect.FileDescriptor const file_Neonize_proto_rawDesc = "" + @@ -10694,7 +10958,31 @@ const file_Neonize_proto_rawDesc = "" + "\aMessage\x18\x01 \x02(\tR\aMessage\x12\x14\n" + "\x05Level\x18\x02 \x02(\tR\x05Level\x12\x12\n" + "\x04Name\x18\x03 \x02(\tR\x04Name\"\x06\n" + - "\x04Stop*!\n" + + "\x04Stop\"\x81\x01\n" + + "\x13BusinessHoursConfig\x12\x1c\n" + + "\tDayOfWeek\x18\x01 \x01(\tR\tDayOfWeek\x12\x12\n" + + "\x04Mode\x18\x02 \x01(\tR\x04Mode\x12\x1a\n" + + "\bOpenTime\x18\x03 \x01(\tR\bOpenTime\x12\x1c\n" + + "\tCloseTime\x18\x04 \x01(\tR\tCloseTime\".\n" + + "\bCategory\x12\x0e\n" + + "\x02ID\x18\x01 \x01(\tR\x02ID\x12\x12\n" + + "\x04Name\x18\x02 \x01(\tR\x04Name\"\xa7\x03\n" + + "\x0fBusinessProfile\x12\x1e\n" + + "\x03JID\x18\x01 \x01(\v2\f.neonize.JIDR\x03JID\x12\x18\n" + + "\aAddress\x18\x02 \x01(\tR\aAddress\x12\x14\n" + + "\x05Email\x18\x03 \x01(\tR\x05Email\x121\n" + + "\n" + + "Categories\x18\x04 \x03(\v2\x11.neonize.CategoryR\n" + + "Categories\x12T\n" + + "\x0eProfileOptions\x18\x05 \x03(\v2,.neonize.BusinessProfile.ProfileOptionsEntryR\x0eProfileOptions\x124\n" + + "\x15BusinessHoursTimeZone\x18\x06 \x01(\tR\x15BusinessHoursTimeZone\x12B\n" + + "\rBusinessHours\x18\a \x03(\v2\x1c.neonize.BusinessHoursConfigR\rBusinessHours\x1aA\n" + + "\x13ProfileOptionsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"l\n" + + " GetBusinessProfileReturnFunction\x122\n" + + "\aProfile\x18\x01 \x01(\v2\x18.neonize.BusinessProfileR\aProfile\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error*!\n" + "\x0eAddressingMode\x12\x06\n" + "\x02PN\x10\x01\x12\a\n" + "\x03LID\x10\x02*A\n" + @@ -10735,7 +11023,7 @@ func file_Neonize_proto_rawDescGZIP() []byte { } var file_Neonize_proto_enumTypes = make([]protoimpl.EnumInfo, 20) -var file_Neonize_proto_msgTypes = make([]protoimpl.MessageInfo, 139) +var file_Neonize_proto_msgTypes = make([]protoimpl.MessageInfo, 144) var file_Neonize_proto_goTypes = []any{ (AddressingMode)(0), // 0: neonize.AddressingMode (NewsletterRole)(0), // 1: neonize.NewsletterRole @@ -10896,13 +11184,18 @@ var file_Neonize_proto_goTypes = []any{ (*BuildMessageReturnFunction)(nil), // 156: neonize.BuildMessageReturnFunction (*LogEntry)(nil), // 157: neonize.LogEntry (*Stop)(nil), // 158: neonize.Stop - (*waVnameCert.VerifiedNameCertificate)(nil), // 159: WAWebProtobufsVnameCert.VerifiedNameCertificate - (*waVnameCert.VerifiedNameCertificate_Details)(nil), // 160: WAWebProtobufsVnameCert.VerifiedNameCertificate.Details - (*waE2E.Message)(nil), // 161: WAWebProtobufsE2E.Message - (*waWeb.WebMessageInfo)(nil), // 162: WAWebProtobufsWeb.WebMessageInfo - (*waSyncAction.SyncActionValue)(nil), // 163: WAWebProtobufSyncAction.SyncActionValue - (*waHistorySync.HistorySync)(nil), // 164: WAWebProtobufsHistorySync.HistorySync - (*waE2E.PollVoteMessage)(nil), // 165: WAWebProtobufsE2E.PollVoteMessage + (*BusinessHoursConfig)(nil), // 159: neonize.BusinessHoursConfig + (*Category)(nil), // 160: neonize.Category + (*BusinessProfile)(nil), // 161: neonize.BusinessProfile + (*GetBusinessProfileReturnFunction)(nil), // 162: neonize.GetBusinessProfileReturnFunction + nil, // 163: neonize.BusinessProfile.ProfileOptionsEntry + (*waVnameCert.VerifiedNameCertificate)(nil), // 164: WAWebProtobufsVnameCert.VerifiedNameCertificate + (*waVnameCert.VerifiedNameCertificate_Details)(nil), // 165: WAWebProtobufsVnameCert.VerifiedNameCertificate.Details + (*waE2E.Message)(nil), // 166: WAWebProtobufsE2E.Message + (*waWeb.WebMessageInfo)(nil), // 167: WAWebProtobufsWeb.WebMessageInfo + (*waSyncAction.SyncActionValue)(nil), // 168: WAWebProtobufSyncAction.SyncActionValue + (*waHistorySync.HistorySync)(nil), // 169: WAWebProtobufsHistorySync.HistorySync + (*waE2E.PollVoteMessage)(nil), // 170: WAWebProtobufsE2E.PollVoteMessage } var file_Neonize_proto_depIdxs = []int32{ 24, // 0: neonize.MessageInfo.MessageSource:type_name -> neonize.MessageSource @@ -10917,8 +11210,8 @@ var file_Neonize_proto_depIdxs = []int32{ 20, // 9: neonize.MessageSource.RecipientAlt:type_name -> neonize.JID 20, // 10: neonize.MessageSource.BroadcastListOwner:type_name -> neonize.JID 23, // 11: neonize.MessageSource.BroadcastRecipients:type_name -> neonize.BroadcastRecipient - 159, // 12: neonize.VerifiedName.Certificate:type_name -> WAWebProtobufsVnameCert.VerifiedNameCertificate - 160, // 13: neonize.VerifiedName.Details:type_name -> WAWebProtobufsVnameCert.VerifiedNameCertificate.Details + 164, // 12: neonize.VerifiedName.Certificate:type_name -> WAWebProtobufsVnameCert.VerifiedNameCertificate + 165, // 13: neonize.VerifiedName.Details:type_name -> WAWebProtobufsVnameCert.VerifiedNameCertificate.Details 20, // 14: neonize.IsOnWhatsAppResponse.JID:type_name -> neonize.JID 26, // 15: neonize.IsOnWhatsAppResponse.VerifiedName:type_name -> neonize.VerifiedName 26, // 16: neonize.UserInfo.VerifiedName:type_name -> neonize.VerifiedName @@ -10946,7 +11239,7 @@ var file_Neonize_proto_depIdxs = []int32{ 38, // 38: neonize.GroupInfo.GroupIsDefaultSub:type_name -> neonize.GroupIsDefaultSub 40, // 39: neonize.GroupInfo.Participants:type_name -> neonize.GroupParticipant 42, // 40: neonize.SendResponse.DebugTimings:type_name -> neonize.MessageDebugTimings - 161, // 41: neonize.SendResponse.Message:type_name -> WAWebProtobufsE2E.Message + 166, // 41: neonize.SendResponse.Message:type_name -> WAWebProtobufsE2E.Message 43, // 42: neonize.SendMessageReturnFunction.SendResponse:type_name -> neonize.SendResponse 41, // 43: neonize.GetGroupInfoReturnFunction.GroupInfo:type_name -> neonize.GroupInfo 20, // 44: neonize.JoinGroupWithLinkReturnFunction.Jid:type_name -> neonize.JID @@ -10956,7 +11249,7 @@ var file_Neonize_proto_depIdxs = []int32{ 20, // 48: neonize.GetUserInfoSingleReturnFunction.JID:type_name -> neonize.JID 28, // 49: neonize.GetUserInfoSingleReturnFunction.UserInfo:type_name -> neonize.UserInfo 53, // 50: neonize.GetUserInfoReturnFunction.UsersInfo:type_name -> neonize.GetUserInfoSingleReturnFunction - 161, // 51: neonize.BuildPollVoteReturnFunction.PollVote:type_name -> WAWebProtobufsE2E.Message + 166, // 51: neonize.BuildPollVoteReturnFunction.PollVote:type_name -> WAWebProtobufsE2E.Message 76, // 52: neonize.CreateNewsLetterReturnFunction.NewsletterMetadata:type_name -> neonize.NewsletterMetadata 77, // 53: neonize.GetBlocklistReturnFunction.Blocklist:type_name -> neonize.Blocklist 20, // 54: neonize.GroupParticipantRequest.Participant:type_name -> neonize.JID @@ -10967,10 +11260,10 @@ var file_Neonize_proto_depIdxs = []int32{ 37, // 59: neonize.ReqCreateGroup.GroupLinkedParent:type_name -> neonize.GroupLinkedParent 20, // 60: neonize.JIDArray.JIDS:type_name -> neonize.JID 21, // 61: neonize.Message.Info:type_name -> neonize.MessageInfo - 161, // 62: neonize.Message.Message:type_name -> WAWebProtobufsE2E.Message - 162, // 63: neonize.Message.SourceWebMsg:type_name -> WAWebProtobufsWeb.WebMessageInfo + 166, // 62: neonize.Message.Message:type_name -> WAWebProtobufsE2E.Message + 167, // 63: neonize.Message.SourceWebMsg:type_name -> WAWebProtobufsWeb.WebMessageInfo 65, // 64: neonize.Message.NewsLetterMeta:type_name -> neonize.NewsLetterMessageMeta - 161, // 65: neonize.Message.Raw:type_name -> WAWebProtobufsE2E.Message + 166, // 65: neonize.Message.Raw:type_name -> WAWebProtobufsE2E.Message 5, // 66: neonize.WrappedNewsletterState.Type:type_name -> neonize.WrappedNewsletterState.NewsletterState 6, // 67: neonize.NewsletterReactionSettings.Value:type_name -> neonize.NewsletterReactionSettings.NewsletterReactionsMode 72, // 68: neonize.NewsletterSetting.ReactionCodes:type_name -> neonize.NewsletterReactionSettings @@ -10988,7 +11281,7 @@ var file_Neonize_proto_depIdxs = []int32{ 75, // 80: neonize.NewsletterMetadata.ViewerMeta:type_name -> neonize.NewsletterViewerMetadata 20, // 81: neonize.Blocklist.JIDs:type_name -> neonize.JID 78, // 82: neonize.NewsletterMessage.ReactionCounts:type_name -> neonize.Reaction - 161, // 83: neonize.NewsletterMessage.Message:type_name -> WAWebProtobufsE2E.Message + 166, // 83: neonize.NewsletterMessage.Message:type_name -> WAWebProtobufsE2E.Message 79, // 84: neonize.GetNewsletterMessageUpdateReturnFunction.NewsletterMessage:type_name -> neonize.NewsletterMessage 8, // 85: neonize.PrivacySettings.GroupAdd:type_name -> neonize.PrivacySettings.PrivacySetting 8, // 86: neonize.PrivacySettings.LastSeen:type_name -> neonize.PrivacySettings.PrivacySetting @@ -11017,7 +11310,7 @@ var file_Neonize_proto_depIdxs = []int32{ 97, // 109: neonize.ResolveContactQRLinkReturnFunction.ContactQrLink:type_name -> neonize.ContactQRLinkTarget 20, // 110: neonize.BusinessMessageLinkTarget.JID:type_name -> neonize.JID 99, // 111: neonize.ResolveBusinessMessageLinkReturnFunction.MessageLinkTarget:type_name -> neonize.BusinessMessageLinkTarget - 163, // 112: neonize.MutationInfo.Value:type_name -> WAWebProtobufSyncAction.SyncActionValue + 168, // 112: neonize.MutationInfo.Value:type_name -> WAWebProtobufSyncAction.SyncActionValue 11, // 113: neonize.PatchInfo.Type:type_name -> neonize.PatchInfo.WAPatchName 101, // 114: neonize.PatchInfo.Mutations:type_name -> neonize.MutationInfo 20, // 115: neonize.ContactEntry.JID:type_name -> neonize.JID @@ -11034,7 +11327,7 @@ var file_Neonize_proto_depIdxs = []int32{ 3, // 126: neonize.ConnectFailure.Reason:type_name -> neonize.ConnectFailureReason 83, // 127: neonize.ConnectFailure.Raw:type_name -> neonize.Node 83, // 128: neonize.StreamError.Raw:type_name -> neonize.Node - 164, // 129: neonize.HistorySync.Data:type_name -> WAWebProtobufsHistorySync.HistorySync + 169, // 129: neonize.HistorySync.Data:type_name -> WAWebProtobufsHistorySync.HistorySync 24, // 130: neonize.Receipt.MessageSource:type_name -> neonize.MessageSource 14, // 131: neonize.Receipt.Type:type_name -> neonize.Receipt.ReceiptType 24, // 132: neonize.ChatPresence.MessageSource:type_name -> neonize.MessageSource @@ -11099,17 +11392,22 @@ var file_Neonize_proto_depIdxs = []int32{ 21, // 191: neonize.UndecryptableMessage.Info:type_name -> neonize.MessageInfo 19, // 192: neonize.UndecryptableMessage.DecryptFailMode:type_name -> neonize.UndecryptableMessage.DecryptFailModeT 40, // 193: neonize.UpdateGroupParticipantsReturnFunction.participants:type_name -> neonize.GroupParticipant - 161, // 194: neonize.GetMessageForRetryReturnFunction.Message:type_name -> WAWebProtobufsE2E.Message + 166, // 194: neonize.GetMessageForRetryReturnFunction.Message:type_name -> WAWebProtobufsE2E.Message 153, // 195: neonize.ReturnFunctionWithError.LocalChatSettings:type_name -> neonize.LocalChatSettings - 165, // 196: neonize.ReturnFunctionWithError.PollVoteMessage:type_name -> WAWebProtobufsE2E.PollVoteMessage + 170, // 196: neonize.ReturnFunctionWithError.PollVoteMessage:type_name -> WAWebProtobufsE2E.PollVoteMessage 63, // 197: neonize.ReturnFunctionWithError.GetLinkedGroupsParticipants:type_name -> neonize.JIDArray 20, // 198: neonize.SendRequestExtra.InlineBotJID:type_name -> neonize.JID - 161, // 199: neonize.BuildMessageReturnFunction.Message:type_name -> WAWebProtobufsE2E.Message - 200, // [200:200] is the sub-list for method output_type - 200, // [200:200] is the sub-list for method input_type - 200, // [200:200] is the sub-list for extension type_name - 200, // [200:200] is the sub-list for extension extendee - 0, // [0:200] is the sub-list for field type_name + 166, // 199: neonize.BuildMessageReturnFunction.Message:type_name -> WAWebProtobufsE2E.Message + 20, // 200: neonize.BusinessProfile.JID:type_name -> neonize.JID + 160, // 201: neonize.BusinessProfile.Categories:type_name -> neonize.Category + 163, // 202: neonize.BusinessProfile.ProfileOptions:type_name -> neonize.BusinessProfile.ProfileOptionsEntry + 159, // 203: neonize.BusinessProfile.BusinessHours:type_name -> neonize.BusinessHoursConfig + 161, // 204: neonize.GetBusinessProfileReturnFunction.Profile:type_name -> neonize.BusinessProfile + 205, // [205:205] is the sub-list for method output_type + 205, // [205:205] is the sub-list for method input_type + 205, // [205:205] is the sub-list for extension type_name + 205, // [205:205] is the sub-list for extension extendee + 0, // [0:205] is the sub-list for field type_name } func init() { file_Neonize_proto_init() } @@ -11134,7 +11432,7 @@ func file_Neonize_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_Neonize_proto_rawDesc), len(file_Neonize_proto_rawDesc)), NumEnums: 20, - NumMessages: 139, + NumMessages: 144, NumExtensions: 0, NumServices: 0, }, diff --git a/goneonize/main.go b/goneonize/main.go index c088ce2d..b6057a47 100644 --- a/goneonize/main.go +++ b/goneonize/main.go @@ -2146,6 +2146,26 @@ func GetProfilePicture(id *C.char, JIDByte *C.uchar, JIDSize C.int, paramsByte * return ProtoReturnV3(&return_) } +//export GetBusinessProfile +func GetBusinessProfile(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var neonizeJID defproto.JID + return_ := defproto.GetBusinessProfileReturnFunction{} + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &neonizeJID) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + profile, err_profile := clients[C.GoString(id)].GetBusinessProfile(context.Background(), utils.DecodeJidProto(&neonizeJID)) + if err_profile != nil { + return_.Error = proto.String(err_profile.Error()) + return ProtoReturnV3(&return_) + } + if profile != nil { + return_.Profile = utils.EncodeBusinessProfile(*profile) + } + return ProtoReturnV3(&return_) +} + //export GetStatusPrivacy func GetStatusPrivacy(id *C.char) *C.struct_BytesReturn { return_ := defproto.GetStatusPrivacyReturnFunction{} diff --git a/goneonize/utils/encoder.go b/goneonize/utils/encoder.go index cf20f574..b46f52a6 100644 --- a/goneonize/utils/encoder.go +++ b/goneonize/utils/encoder.go @@ -359,6 +359,42 @@ func EncodeProfilePictureInfo(profilePictureInfo types.ProfilePictureInfo) *defp } } +func EncodeBusinessHoursConfig(cfg types.BusinessHoursConfig) *defproto.BusinessHoursConfig { + return &defproto.BusinessHoursConfig{ + DayOfWeek: &cfg.DayOfWeek, + Mode: &cfg.Mode, + OpenTime: &cfg.OpenTime, + CloseTime: &cfg.CloseTime, + } +} + +func EncodeCategory(category types.Category) *defproto.Category { + return &defproto.Category{ + ID: &category.ID, + Name: &category.Name, + } +} + +func EncodeBusinessProfile(profile types.BusinessProfile) *defproto.BusinessProfile { + categories := []*defproto.Category{} + for _, category := range profile.Categories { + categories = append(categories, EncodeCategory(category)) + } + businessHours := []*defproto.BusinessHoursConfig{} + for _, cfg := range profile.BusinessHours { + businessHours = append(businessHours, EncodeBusinessHoursConfig(cfg)) + } + return &defproto.BusinessProfile{ + JID: EncodeJidProto(profile.JID), + Address: &profile.Address, + Email: &profile.Email, + Categories: categories, + ProfileOptions: profile.ProfileOptions, + BusinessHoursTimeZone: &profile.BusinessHoursTimeZone, + BusinessHours: businessHours, + } +} + func EncodeNewsletterReactionSettings(reactionSettings types.NewsletterReactionSettings) *defproto.NewsletterReactionSettings { var reactionMode defproto.NewsletterReactionSettings_NewsletterReactionsMode switch reactionSettings.Value { diff --git a/neonize/_binder.py b/neonize/_binder.py index 249d251c..9c2da58c 100644 --- a/neonize/_binder.py +++ b/neonize/_binder.py @@ -372,6 +372,12 @@ def _to_c_struct(self) -> "_CProxySettings": ctypes.c_int, ] gocode.GetProfilePicture.restype = ctypes.POINTER(Bytes) + gocode.GetBusinessProfile.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.GetBusinessProfile.restype = ctypes.POINTER(Bytes) gocode.GetStatusPrivacy.argtypes = [ctypes.c_char_p] gocode.GetStatusPrivacy.restype = ctypes.POINTER(Bytes) gocode.GetSubGroups.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] diff --git a/neonize/client.py b/neonize/client.py index e2c07a8b..20c6cb84 100644 --- a/neonize/client.py +++ b/neonize/client.py @@ -37,6 +37,7 @@ from .events import Event, EventsManager from .events import event as stop_event from .exc import ( + GetBusinessProfileError, BuildPollVoteCreationError, BuildPollVoteError, ContactStoreError, @@ -3107,6 +3108,31 @@ def get_profile_picture( raise GetProfilePictureError(model) return model.Picture + def get_business_profile(self, jid: JID) -> neonize_proto.BusinessProfile: + """Get the business profile of a WhatsApp Business account. + + Returns the public business information the account chose to publish: + address, email, categories, business hours and timezone. + + :param jid: The JID of the business account. + :type jid: JID + :raises GetBusinessProfileError: If the profile cannot be retrieved. + :return: The business profile. + :rtype: neonize_proto.BusinessProfile + """ + jid_bytes = jid.SerializeToString() + bytes_ptr = self.__client.GetBusinessProfile( + self.uuid, + jid_bytes, + len(jid_bytes), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetBusinessProfileReturnFunction.FromString(protobytes) + if model.Error: + raise GetBusinessProfileError(model.Error) + return model.Profile + def get_status_privacy( self, ) -> RepeatedCompositeFieldContainer[StatusPrivacy]: diff --git a/neonize/exc.py b/neonize/exc.py index 24eb8aef..b0b67d4b 100644 --- a/neonize/exc.py +++ b/neonize/exc.py @@ -316,6 +316,10 @@ class SetPassiveError(NeonizeError): """Raised when toggling passive mode fails.""" +class GetBusinessProfileError(NeonizeError): + pass + + class SetStatusMessageError(NeonizeError): """Raised when setting the status/about message fails.""" diff --git a/neonize/proto/Neonize_pb2.py b/neonize/proto/Neonize_pb2.py index 331f1ab8..e8505cda 100644 --- a/neonize/proto/Neonize_pb2.py +++ b/neonize/proto/Neonize_pb2.py @@ -29,7 +29,7 @@ from waHistorySync import WAWebProtobufsHistorySync_pb2 as waHistorySync_dot_WAWebProtobufsHistorySync__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rNeonize.proto\x12\x07neonize\x1a)waVnameCert/WAWebProtobufsVnameCert.proto\x1a\x1dwaE2E/WAWebProtobufsE2E.proto\x1a\x1dwaWeb/WAWebProtobufsWeb.proto\x1a*waSyncAction/WAWebProtobufSyncAction.proto\x1a-waHistorySync/WAWebProtobufsHistorySync.proto\"q\n\x03JID\x12\x0c\n\x04User\x18\x01 \x02(\t\x12\x10\n\x08RawAgent\x18\x02 \x02(\r\x12\x0e\n\x06\x44\x65vice\x18\x03 \x02(\r\x12\x12\n\nIntegrator\x18\x04 \x02(\r\x12\x0e\n\x06Server\x18\x05 \x02(\t\x12\x16\n\x07IsEmpty\x18\x06 \x01(\x08:\x05\x66\x61lse\"\xb1\x02\n\x0bMessageInfo\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x0c\n\x04Type\x18\x04 \x02(\t\x12\x10\n\x08Pushname\x18\x05 \x02(\t\x12\x11\n\tTimestamp\x18\x06 \x02(\x03\x12\x10\n\x08\x43\x61tegory\x18\x07 \x02(\t\x12\x11\n\tMulticast\x18\x08 \x02(\x08\x12\x11\n\tMediaType\x18\t \x02(\t\x12\x0c\n\x04\x45\x64it\x18\n \x02(\t\x12+\n\x0cVerifiedName\x18\x0b \x01(\x0b\x32\x15.neonize.VerifiedName\x12/\n\x0e\x44\x65viceSentMeta\x18\x0c \x01(\x0b\x32\x17.neonize.DeviceSentMeta\"\x92\x01\n\x0eUploadResponse\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\x12\n\nDirectPath\x18\x02 \x02(\t\x12\x0e\n\x06Handle\x18\x03 \x02(\t\x12\x10\n\x08MediaKey\x18\x04 \x01(\x0c\x12\x15\n\rFileEncSHA256\x18\x05 \x01(\x0c\x12\x12\n\nFileSHA256\x18\x06 \x01(\x0c\x12\x12\n\nFileLength\x18\x07 \x02(\r\"I\n\x12\x42roadcastRecipient\x12\x19\n\x03LID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x18\n\x02PN\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\"\xc6\x02\n\rMessageSource\x12\x1a\n\x04\x43hat\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06Sender\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08IsFromMe\x18\x03 \x02(\x08\x12\x0f\n\x07IsGroup\x18\x04 \x02(\x08\x12/\n\x0e\x41\x64\x64ressingMode\x18\x05 \x01(\x0e\x32\x17.neonize.AddressingMode\x12\x1f\n\tSenderAlt\x18\x06 \x02(\x0b\x32\x0c.neonize.JID\x12\"\n\x0cRecipientAlt\x18\x07 \x02(\x0b\x32\x0c.neonize.JID\x12(\n\x12\x42roadcastListOwner\x18\x08 \x02(\x0b\x32\x0c.neonize.JID\x12\x38\n\x13\x42roadcastRecipients\x18\t \x03(\x0b\x32\x1b.neonize.BroadcastRecipient\"7\n\x0e\x44\x65viceSentMeta\x12\x16\n\x0e\x44\x65stinationJID\x18\x01 \x02(\t\x12\r\n\x05Phash\x18\x02 \x02(\t\"\xa0\x01\n\x0cVerifiedName\x12\x45\n\x0b\x43\x65rtificate\x18\x01 \x01(\x0b\x32\x30.WAWebProtobufsVnameCert.VerifiedNameCertificate\x12I\n\x07\x44\x65tails\x18\x02 \x01(\x0b\x32\x38.WAWebProtobufsVnameCert.VerifiedNameCertificate.Details\"{\n\x14IsOnWhatsAppResponse\x12\r\n\x05Query\x18\x01 \x02(\t\x12\x19\n\x03JID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04IsIn\x18\x03 \x02(\x08\x12+\n\x0cVerifiedName\x18\x04 \x01(\x0b\x32\x15.neonize.VerifiedName\"y\n\x08UserInfo\x12+\n\x0cVerifiedName\x18\x01 \x01(\x0b\x32\x15.neonize.VerifiedName\x12\x0e\n\x06Status\x18\x02 \x02(\t\x12\x11\n\tPictureID\x18\x03 \x02(\t\x12\x1d\n\x07\x44\x65vices\x18\x04 \x03(\x0b\x32\x0c.neonize.JID\"\x8e\x01\n\x06\x44\x65vice\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03LID\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08Platform\x18\x03 \x02(\t\x12\x15\n\rBussinessName\x18\x04 \x02(\t\x12\x10\n\x08PushName\x18\x05 \x02(\t\x12\x13\n\x0bInitialized\x18\x06 \x02(\x08\"M\n\tGroupName\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x11\n\tNameSetAt\x18\x02 \x02(\x03\x12\x1f\n\tNameSetBy\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\"x\n\nGroupTopic\x12\r\n\x05Topic\x18\x01 \x02(\t\x12\x0f\n\x07TopicID\x18\x02 \x02(\t\x12\x12\n\nTopicSetAt\x18\x03 \x02(\x03\x12 \n\nTopicSetBy\x18\x04 \x02(\x0b\x32\x0c.neonize.JID\x12\x14\n\x0cTopicDeleted\x18\x05 \x02(\x08\"\x1f\n\x0bGroupLocked\x12\x10\n\x08isLocked\x18\x01 \x02(\x08\">\n\rGroupAnnounce\x12\x12\n\nIsAnnounce\x18\x01 \x02(\x08\x12\x19\n\x11\x41nnounceVersionID\x18\x02 \x02(\t\"@\n\x0eGroupEphemeral\x12\x13\n\x0bIsEphemeral\x18\x01 \x02(\x08\x12\x19\n\x11\x44isappearingTimer\x18\x02 \x02(\r\"%\n\x0eGroupIncognito\x12\x13\n\x0bIsIncognito\x18\x01 \x02(\x08\"F\n\x0bGroupParent\x12\x10\n\x08IsParent\x18\x01 \x02(\x08\x12%\n\x1d\x44\x65\x66\x61ultMembershipApprovalMode\x18\x02 \x02(\t\":\n\x11GroupLinkedParent\x12%\n\x0fLinkedParentJID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\".\n\x11GroupIsDefaultSub\x12\x19\n\x11IsDefaultSubGroup\x18\x01 \x02(\x08\">\n\x1aGroupParticipantAddRequest\x12\x0c\n\x04\x43ode\x18\x01 \x02(\t\x12\x12\n\nExpiration\x18\x02 \x02(\x02\"\xef\x01\n\x10GroupParticipant\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03LID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12!\n\x0bPhoneNumber\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12\x0f\n\x07IsAdmin\x18\x04 \x02(\x08\x12\x14\n\x0cIsSuperAdmin\x18\x05 \x02(\x08\x12\x13\n\x0b\x44isplayName\x18\x06 \x02(\t\x12\r\n\x05\x45rror\x18\x07 \x02(\x05\x12\x37\n\nAddRequest\x18\x08 \x01(\x0b\x32#.neonize.GroupParticipantAddRequest\"\xa2\x05\n\tGroupInfo\x12\x1e\n\x08OwnerJID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1d\n\x07OwnerPN\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\tGroupName\x18\x04 \x02(\x0b\x32\x12.neonize.GroupName\x12\'\n\nGroupTopic\x18\x05 \x02(\x0b\x32\x13.neonize.GroupTopic\x12)\n\x0bGroupLocked\x18\x06 \x02(\x0b\x32\x14.neonize.GroupLocked\x12-\n\rGroupAnnounce\x18\x07 \x02(\x0b\x32\x16.neonize.GroupAnnounce\x12/\n\x0eGroupEphemeral\x18\x08 \x02(\x0b\x32\x17.neonize.GroupEphemeral\x12/\n\x0eGroupIncognito\x18\t \x02(\x0b\x32\x17.neonize.GroupIncognito\x12)\n\x0bGroupParent\x18\n \x02(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\x0b \x02(\x0b\x32\x1a.neonize.GroupLinkedParent\x12\x35\n\x11GroupIsDefaultSub\x18\x0c \x02(\x0b\x32\x1a.neonize.GroupIsDefaultSub\x12\x14\n\x0cGroupCreated\x18\r \x02(\x02\x12\x1c\n\x14ParticipantVersionID\x18\x0e \x02(\t\x12/\n\x0cParticipants\x18\x0f \x03(\x0b\x32\x19.neonize.GroupParticipant\"1\n\x12GroupMemberAddMode\x12\x1b\n\x17GroupMemberAddModeAdmin\x10\x01\"\xb8\x01\n\x13MessageDebugTimings\x12\r\n\x05Queue\x18\x01 \x02(\x03\x12\x0f\n\x07Marshal\x18\x02 \x02(\x03\x12\x17\n\x0fGetParticipants\x18\x03 \x02(\x03\x12\x12\n\nGetDevices\x18\x04 \x02(\x03\x12\x14\n\x0cGroupEncrypt\x18\x05 \x02(\x03\x12\x13\n\x0bPeerEncrypt\x18\x06 \x02(\x03\x12\x0c\n\x04Send\x18\x07 \x02(\x03\x12\x0c\n\x04Resp\x18\x08 \x02(\x03\x12\r\n\x05Retry\x18\t \x02(\x03\"\xa0\x01\n\x0cSendResponse\x12\x11\n\tTimestamp\x18\x01 \x02(\x03\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x32\n\x0c\x44\x65\x62ugTimings\x18\x04 \x02(\x0b\x32\x1c.neonize.MessageDebugTimings\x12+\n\x07Message\x18\x05 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"W\n\x19SendMessageReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12+\n\x0cSendResponse\x18\x02 \x01(\x0b\x32\x15.neonize.SendResponse\"R\n\x1aGetGroupInfoReturnFunction\x12%\n\tGroupInfo\x18\x01 \x01(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"K\n\x1fJoinGroupWithLinkReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x19\n\x03Jid\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\"I\n\x1dGetJIDFromStoreReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x19\n\x03Jid\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\"E\n GetGroupInviteLinkReturnFunction\x12\x12\n\nInviteLink\x18\x01 \x01(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"7\n\x16\x44ownloadReturnFunction\x12\x0e\n\x06\x42inary\x18\x01 \x01(\x0c\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"V\n\x14UploadReturnFunction\x12/\n\x0eUploadResponse\x18\x01 \x01(\x0b\x32\x17.neonize.UploadResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"?\n\x1bSetGroupPhotoReturnFunction\x12\x11\n\tPictureID\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1aIsOnWhatsAppReturnFunction\x12;\n\x14IsOnWhatsAppResponse\x18\x01 \x03(\x0b\x32\x1d.neonize.IsOnWhatsAppResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"a\n\x1fGetUserInfoSingleReturnFunction\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12#\n\x08UserInfo\x18\x02 \x01(\x0b\x32\x11.neonize.UserInfo\"g\n\x19GetUserInfoReturnFunction\x12;\n\tUsersInfo\x18\x01 \x03(\x0b\x32(.neonize.GetUserInfoSingleReturnFunction\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Z\n\x1b\x42uildPollVoteReturnFunction\x12,\n\x08PollVote\x18\x01 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1e\x43reateNewsLetterReturnFunction\x12\x37\n\x12NewsletterMetadata\x18\x01 \x01(\x0b\x32\x1b.neonize.NewsletterMetadata\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"R\n\x1aGetBlocklistReturnFunction\x12%\n\tBlocklist\x18\x01 \x01(\x0b\x32\x12.neonize.Blocklist\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"=\n\x1eGetContactQRLinkReturnFunction\x12\x0c\n\x04Link\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"L\n\x17GroupParticipantRequest\x12!\n\x0bParticipant\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06TimeAt\x18\x02 \x01(\x04\"r\n)GetGroupRequestParticipantsReturnFunction\x12\x36\n\x0cParticipants\x18\x01 \x03(\x0b\x32 .neonize.GroupParticipantRequest\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Q\n\x1dGetJoinedGroupsReturnFunction\x12!\n\x05Group\x18\x01 \x03(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xb7\x01\n\x0eReqCreateGroup\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\"\n\x0cParticipants\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\x12\x11\n\tCreateKey\x18\x03 \x02(\t\x12)\n\x0bGroupParent\x18\x04 \x01(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\x05 \x01(\x0b\x32\x1a.neonize.GroupLinkedParent\"&\n\x08JIDArray\x12\x1a\n\x04JIDS\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\"\x1b\n\x0b\x41rrayString\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\t\";\n\x15NewsLetterMessageMeta\x12\x0e\n\x06\x45\x64itTS\x18\x01 \x02(\x03\x12\x12\n\nOriginalTS\x18\x02 \x02(\x03\"5\n\x0bGroupDelete\x12\x0f\n\x07\x44\x65leted\x18\x01 \x02(\x08\x12\x15\n\rDeletedReason\x18\x02 \x02(\t\"\xcc\x03\n\x07Message\x12\"\n\x04Info\x18\x01 \x02(\x0b\x32\x14.neonize.MessageInfo\x12+\n\x07Message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x13\n\x0bIsEphemeral\x18\x03 \x02(\x08\x12\x12\n\nIsViewOnce\x18\x04 \x02(\x08\x12\x14\n\x0cIsViewOnceV2\x18\x05 \x02(\x08\x12\x1d\n\x15IsViewOnceV2Extension\x18\x06 \x02(\x08\x12\x1d\n\x15IsDocumentWithCaption\x18\x07 \x02(\x08\x12\x17\n\x0fIsLottieSticker\x18\x08 \x02(\x08\x12\x0e\n\x06IsEdit\x18\t \x02(\x08\x12\x37\n\x0cSourceWebMsg\x18\n \x01(\x0b\x32!.WAWebProtobufsWeb.WebMessageInfo\x12\x1c\n\x14UnavailableRequestID\x18\x0b \x02(\t\x12\x12\n\nRetryCount\x18\x0c \x02(\x03\x12\x36\n\x0eNewsLetterMeta\x18\r \x01(\x0b\x32\x1e.neonize.NewsLetterMessageMeta\x12\'\n\x03Raw\x18\x0e \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"L\n\x16\x43reateNewsletterParams\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x13\n\x0b\x44\x65scription\x18\x02 \x02(\t\x12\x0f\n\x07Picture\x18\x03 \x02(\x0c\"\x97\x01\n\x16WrappedNewsletterState\x12=\n\x04Type\x18\x01 \x02(\x0e\x32/.neonize.WrappedNewsletterState.NewsletterState\">\n\x0fNewsletterState\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\x10\n\x0cGEOSUSPENDED\x10\x03\">\n\x0eNewsletterText\x12\x0c\n\x04Text\x18\x01 \x02(\t\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x12\n\nUpdateTime\x18\x03 \x02(\x03\"]\n\x12ProfilePictureInfo\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\n\n\x02ID\x18\x02 \x01(\t\x12\x0c\n\x04Type\x18\x03 \x01(\t\x12\x12\n\nDirectPath\x18\x04 \x01(\t\x12\x0c\n\x04Hash\x18\x05 \x01(\x0c\"\xb0\x01\n\x1aNewsletterReactionSettings\x12J\n\x05Value\x18\x01 \x02(\x0e\x32;.neonize.NewsletterReactionSettings.NewsletterReactionsMode\"F\n\x17NewsletterReactionsMode\x12\x07\n\x03\x41LL\x10\x01\x12\t\n\x05\x42\x41SIC\x10\x02\x12\x08\n\x04NONE\x10\x03\x12\r\n\tBLOCKLIST\x10\x04\"O\n\x11NewsletterSetting\x12:\n\rReactionCodes\x18\x01 \x02(\x0b\x32#.neonize.NewsletterReactionSettings\"\xd3\x03\n\x18NewsletterThreadMetadata\x12\x14\n\x0c\x43reationTime\x18\x01 \x02(\x03\x12\x12\n\nInviteCode\x18\x02 \x02(\t\x12%\n\x04Name\x18\x03 \x02(\x0b\x32\x17.neonize.NewsletterText\x12,\n\x0b\x44\x65scription\x18\x04 \x02(\x0b\x32\x17.neonize.NewsletterText\x12\x17\n\x0fSubscriberCount\x18\x05 \x02(\x03\x12X\n\x11VerificationState\x18\x06 \x02(\x0e\x32=.neonize.NewsletterThreadMetadata.NewsletterVerificationState\x12,\n\x07Picture\x18\x07 \x01(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x07Preview\x18\x08 \x02(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x08Settings\x18\t \x02(\x0b\x32\x1a.neonize.NewsletterSetting\";\n\x1bNewsletterVerificationState\x12\x0c\n\x08VERIFIED\x10\x01\x12\x0e\n\nUNVERIFIED\x10\x02\"m\n\x18NewsletterViewerMetadata\x12*\n\x04Mute\x18\x01 \x02(\x0e\x32\x1c.neonize.NewsletterMuteState\x12%\n\x04Role\x18\x02 \x02(\x0e\x32\x17.neonize.NewsletterRole\"\xcc\x01\n\x12NewsletterMetadata\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12.\n\x05State\x18\x02 \x02(\x0b\x32\x1f.neonize.WrappedNewsletterState\x12\x35\n\nThreadMeta\x18\x03 \x02(\x0b\x32!.neonize.NewsletterThreadMetadata\x12\x35\n\nViewerMeta\x18\x04 \x01(\x0b\x32!.neonize.NewsletterViewerMetadata\"6\n\tBlocklist\x12\r\n\x05\x44Hash\x18\x01 \x02(\t\x12\x1a\n\x04JIDs\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\"\'\n\x08Reaction\x12\x0c\n\x04type\x18\x01 \x02(\t\x12\r\n\x05\x63ount\x18\x02 \x02(\x03\"\x98\x01\n\x11NewsletterMessage\x12\x17\n\x0fMessageServerID\x18\x01 \x02(\x03\x12\x12\n\nViewsCount\x18\x02 \x02(\x03\x12)\n\x0eReactionCounts\x18\x03 \x03(\x0b\x32\x11.neonize.Reaction\x12+\n\x07Message\x18\x04 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"p\n(GetNewsletterMessageUpdateReturnFunction\x12\x35\n\x11NewsletterMessage\x18\x01 \x03(\x0b\x32\x1a.neonize.NewsletterMessage\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xa5\x04\n\x0fPrivacySettings\x12\x39\n\x08GroupAdd\x18\x01 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x39\n\x08LastSeen\x18\x02 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x37\n\x06Status\x18\x03 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x38\n\x07Profile\x18\x04 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12=\n\x0cReadReceipts\x18\x05 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x38\n\x07\x43\x61llAdd\x18\x06 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x37\n\x06Online\x18\x07 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\"w\n\x0ePrivacySetting\x12\r\n\tUNDEFINED\x10\x01\x12\x07\n\x03\x41LL\x10\x02\x12\x0c\n\x08\x43ONTACTS\x10\x03\x12\x15\n\x11\x43ONTACT_BLACKLIST\x10\x04\x12\x13\n\x0fMATCH_LAST_SEEN\x10\x05\x12\t\n\x05KNOWN\x10\x06\x12\x08\n\x04NONE\x10\x07\"u\n\tNodeAttrs\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\x11\n\x07\x62oolean\x18\x02 \x01(\x08H\x00\x12\x11\n\x07integer\x18\x03 \x01(\x03H\x00\x12\x0e\n\x04text\x18\x04 \x01(\tH\x00\x12\x1b\n\x03jid\x18\x05 \x01(\x0b\x32\x0c.neonize.JIDH\x00\x42\x07\n\x05Value\"w\n\x04Node\x12\x0b\n\x03Tag\x18\x01 \x02(\t\x12!\n\x05\x41ttrs\x18\x02 \x03(\x0b\x32\x12.neonize.NodeAttrs\x12\x1c\n\x05Nodes\x18\x03 \x03(\x0b\x32\r.neonize.Node\x12\x12\n\x03Nil\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\r\n\x05\x42ytes\x18\x05 \x01(\x0c\"X\n\tInfoQuery\x12\x11\n\tNamespace\x18\x01 \x02(\t\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\n\n\x02To\x18\x03 \x02(\t\x12\x1e\n\x07\x43ontent\x18\x04 \x03(\x0b\x32\r.neonize.Node\"S\n\x17GetProfilePictureParams\x12\x0f\n\x07Preview\x18\x01 \x01(\x08\x12\x12\n\nExistingID\x18\x02 \x01(\t\x12\x13\n\x0bIsCommunity\x18\x03 \x01(\x08\"^\n\x1fGetProfilePictureReturnFunction\x12,\n\x07Picture\x18\x01 \x01(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xb7\x01\n\rStatusPrivacy\x12\x36\n\x04Type\x18\x01 \x02(\x0e\x32(.neonize.StatusPrivacy.StatusPrivacyType\x12\x1a\n\x04List\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\x12\x11\n\tIsDefault\x18\x03 \x02(\x08\"?\n\x11StatusPrivacyType\x12\x0c\n\x08\x43ONTACTS\x10\x01\x12\r\n\tBLACKLIST\x10\x02\x12\r\n\tWHITELIST\x10\x03\"^\n\x1eGetStatusPrivacyReturnFunction\x12-\n\rStatusPrivacy\x18\x01 \x03(\x0b\x32\x16.neonize.StatusPrivacy\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x8a\x01\n\x0fGroupLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\tGroupName\x18\x02 \x02(\x0b\x32\x12.neonize.GroupName\x12\x35\n\x11GroupIsDefaultSub\x18\x03 \x02(\x0b\x32\x1a.neonize.GroupIsDefaultSub\"\xb3\x01\n\x0fGroupLinkChange\x12\x31\n\x04Type\x18\x01 \x02(\x0e\x32#.neonize.GroupLinkChange.ChangeType\x12\x14\n\x0cUnlinkReason\x18\x02 \x02(\t\x12\'\n\x05Group\x18\x03 \x02(\x0b\x32\x18.neonize.GroupLinkTarget\".\n\nChangeType\x12\n\n\x06PARENT\x10\x01\x12\x07\n\x03SUB\x10\x02\x12\x0b\n\x07SIBLING\x10\x03\"^\n\x1aGetSubGroupsReturnFunction\x12\x31\n\x0fGroupLinkTarget\x18\x01 \x03(\x0b\x32\x18.neonize.GroupLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n&GetSubscribedNewslettersReturnFunction\x12/\n\nNewsletter\x18\x01 \x03(\x0b\x32\x1b.neonize.NewsletterMetadata\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"H\n\x1cGetUserDevicesreturnFunction\x12\x19\n\x03JID\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"O\n,NewsletterSubscribeLiveUpdatesReturnFunction\x12\x10\n\x08\x44uration\x18\x01 \x01(\x03\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"m\n\x0fPairPhoneParams\x12\r\n\x05phone\x18\x01 \x01(\t\x12\x1c\n\x14showPushNotification\x18\x02 \x01(\x08\x12\x12\n\nclientType\x18\x03 \x01(\x05\x12\x19\n\x11\x63lientDisplayName\x18\x04 \x01(\t\"6\n\x17PairPhoneReturnFunction\x12\x0c\n\x04\x43ode\x18\x01 \x01(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"P\n\x13\x43ontactQRLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\x10\n\x08PushName\x18\x03 \x02(\t\"h\n\"ResolveContactQRLinkReturnFunction\x12\x33\n\rContactQrLink\x18\x01 \x01(\x0b\x32\x1c.neonize.ContactQRLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x98\x01\n\x19\x42usinessMessageLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08PushName\x18\x02 \x02(\t\x12\x14\n\x0cVerifiedName\x18\x03 \x02(\t\x12\x10\n\x08IsSigned\x18\x04 \x02(\x08\x12\x15\n\rVerifiedLevel\x18\x05 \x02(\t\x12\x0f\n\x07Message\x18\x06 \x02(\t\"x\n(ResolveBusinessMessageLinkReturnFunction\x12=\n\x11MessageLinkTarget\x18\x01 \x01(\x0b\x32\".neonize.BusinessMessageLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"g\n\x0cMutationInfo\x12\r\n\x05Index\x18\x01 \x03(\t\x12\x0f\n\x07Version\x18\x02 \x02(\x05\x12\x37\n\x05Value\x18\x03 \x02(\x0b\x32(.WAWebProtobufSyncAction.SyncActionValue\"\xe3\x01\n\tPatchInfo\x12\x11\n\tTimestamp\x18\x01 \x02(\x03\x12,\n\x04Type\x18\x02 \x02(\x0e\x32\x1e.neonize.PatchInfo.WAPatchName\x12(\n\tMutations\x18\x03 \x03(\x0b\x32\x15.neonize.MutationInfo\"k\n\x0bWAPatchName\x12\x12\n\x0e\x43RITICAL_BLOCK\x10\x01\x12\x18\n\x14\x43RITICAL_UNBLOCK_LOW\x10\x02\x12\x0f\n\x0bREGULAR_LOW\x10\x03\x12\x10\n\x0cREGULAR_HIGH\x10\x04\x12\x0b\n\x07REGULAR\x10\x05\"X\n!ContactsPutPushNameReturnFunction\x12\x0e\n\x06Status\x18\x01 \x02(\x08\x12\x14\n\x0cPreviousName\x18\x02 \x01(\t\x12\r\n\x05\x45rror\x18\x03 \x01(\t\"N\n\x0c\x43ontactEntry\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tFirstName\x18\x02 \x02(\t\x12\x10\n\x08\x46ullName\x18\x03 \x02(\t\"@\n\x11\x43ontactEntryArray\x12+\n\x0c\x43ontactEntry\x18\x01 \x03(\x0b\x32\x15.neonize.ContactEntry\"\\\n\x1fSetPrivacySettingReturnFunction\x12*\n\x08settings\x18\x01 \x01(\x0b\x32\x18.neonize.PrivacySettings\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\\\n ContactsGetContactReturnFunction\x12)\n\x0b\x43ontactInfo\x18\x01 \x01(\x0b\x32\x14.neonize.ContactInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x80\x01\n\x0b\x43ontactInfo\x12\r\n\x05\x46ound\x18\x01 \x02(\x08\x12\x11\n\tFirstName\x18\x02 \x02(\t\x12\x10\n\x08\x46ullName\x18\x03 \x02(\t\x12\x10\n\x08PushName\x18\x04 \x02(\t\x12\x14\n\x0c\x42usinessName\x18\x05 \x02(\t\x12\x15\n\rRedactedPhone\x18\x06 \x02(\t\"H\n\x07\x43ontact\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\"\n\x04Info\x18\x02 \x02(\x0b\x32\x14.neonize.ContactInfo\"X\n$ContactsGetAllContactsReturnFunction\x12!\n\x07\x43ontact\x18\x01 \x03(\x0b\x32\x10.neonize.Contact\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x13\n\x02QR\x12\r\n\x05\x43odes\x18\x01 \x03(\t\"\xad\x01\n\nPairStatus\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x14\n\x0c\x42usinessName\x18\x02 \x02(\t\x12\x10\n\x08Platform\x18\x03 \x02(\t\x12+\n\x06Status\x18\x04 \x02(\x0e\x32\x1b.neonize.PairStatus.PStatus\x12\r\n\x05\x45rror\x18\x05 \x01(\t\"!\n\x07PStatus\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07SUCCESS\x10\x02\"\x1b\n\tConnected\x12\x0e\n\x06status\x18\x01 \x02(\x08\";\n\x10KeepAliveTimeout\x12\x12\n\nErrorCount\x18\x01 \x02(\x03\x12\x13\n\x0bLastSuccess\x18\x02 \x02(\x03\"\x13\n\x11KeepAliveRestored\"M\n\tLoggedOut\x12\x11\n\tOnConnect\x18\x01 \x02(\x08\x12-\n\x06Reason\x18\x02 \x02(\x0e\x32\x1d.neonize.ConnectFailureReason\"\x10\n\x0eStreamReplaced\"\xe7\x01\n\x0cTemporaryBan\x12\x31\n\x04\x43ode\x18\x01 \x02(\x0e\x32#.neonize.TemporaryBan.TempBanReason\x12\x0e\n\x06\x45xpire\x18\x02 \x02(\x03\"\x93\x01\n\rTempBanReason\x12\x1b\n\x17SEND_TO_TOO_MANY_PEOPLE\x10\x01\x12\x14\n\x10\x42LOCKED_BY_USERS\x10\x02\x12\x1b\n\x17\x43REATED_TOO_MANY_GROUPS\x10\x03\x12\x1e\n\x1aSENT_TOO_MANY_SAME_MESSAGE\x10\x04\x12\x12\n\x0e\x42ROADCAST_LIST\x10\x05\"l\n\x0e\x43onnectFailure\x12-\n\x06Reason\x18\x01 \x02(\x0e\x32\x1d.neonize.ConnectFailureReason\x12\x0f\n\x07Message\x18\x02 \x02(\t\x12\x1a\n\x03Raw\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x10\n\x0e\x43lientOutdated\"7\n\x0bStreamError\x12\x0c\n\x04\x43ode\x18\x01 \x02(\t\x12\x1a\n\x03Raw\x18\x04 \x02(\x0b\x32\r.neonize.Node\"\x1e\n\x0c\x44isconnected\x12\x0e\n\x06status\x18\x01 \x02(\x08\"C\n\x0bHistorySync\x12\x34\n\x04\x44\x61ta\x18\x01 \x02(\x0b\x32&.WAWebProtobufsHistorySync.HistorySync\"\xb7\x02\n\x07Receipt\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\x12\n\nMessageIDs\x18\x02 \x03(\t\x12\x11\n\tTimestamp\x18\x03 \x02(\x03\x12*\n\x04Type\x18\x04 \x02(\x0e\x32\x1c.neonize.Receipt.ReceiptType\"\xa9\x01\n\x0bReceiptType\x12\r\n\tDELIVERED\x10\x01\x12\n\n\x06SENDER\x10\x02\x12\t\n\x05RETRY\x10\x03\x12\x08\n\x04READ\x10\x04\x12\r\n\tREAD_SELF\x10\x05\x12\n\n\x06PLAYED\x10\x06\x12\x0f\n\x0bPLAYED_SELF\x10\x07\x12\x10\n\x0cSERVER_ERROR\x10\x08\x12\x0c\n\x08INACTIVE\x10\t\x12\x0c\n\x08PEER_MSG\x10\n\x12\x10\n\x0cHISTORY_SYNC\x10\x0b\"\xfd\x01\n\x0c\x43hatPresence\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\x31\n\x05State\x18\x02 \x02(\x0e\x32\".neonize.ChatPresence.ChatPresence\x12\x36\n\x05Media\x18\x03 \x02(\x0e\x32\'.neonize.ChatPresence.ChatPresenceMedia\")\n\x0c\x43hatPresence\x12\r\n\tCOMPOSING\x10\x01\x12\n\n\x06PAUSED\x10\x02\"(\n\x11\x43hatPresenceMedia\x12\x08\n\x04TEXT\x10\x01\x12\t\n\x05\x41UDIO\x10\x02\"M\n\x08Presence\x12\x1a\n\x04\x46rom\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x13\n\x0bUnavailable\x18\x02 \x02(\x08\x12\x10\n\x08LastSeen\x18\x03 \x02(\x03\"\xa3\x01\n\x0bJoinedGroup\x12\x0e\n\x06Reason\x18\x01 \x02(\t\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\x11\n\tCreateKey\x18\x03 \x02(\t\x12%\n\tGroupInfo\x18\x04 \x02(\x0b\x32\x12.neonize.GroupInfo\x12\x1c\n\x06Sender\x18\x05 \x01(\x0b\x32\x0c.neonize.JID\x12\x1e\n\x08SenderPN\x18\x06 \x01(\x0b\x32\x0c.neonize.JID\"\xaf\x05\n\x0eGroupInfoEvent\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06Notify\x18\x02 \x02(\t\x12\x1c\n\x06Sender\x18\x03 \x01(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x04 \x02(\x03\x12 \n\x04Name\x18\x05 \x01(\x0b\x32\x12.neonize.GroupName\x12\"\n\x05Topic\x18\x06 \x01(\x0b\x32\x13.neonize.GroupTopic\x12$\n\x06Locked\x18\x07 \x01(\x0b\x32\x14.neonize.GroupLocked\x12(\n\x08\x41nnounce\x18\x08 \x01(\x0b\x32\x16.neonize.GroupAnnounce\x12*\n\tEphemeral\x18\t \x01(\x0b\x32\x17.neonize.GroupEphemeral\x12$\n\x06\x44\x65lete\x18\n \x01(\x0b\x32\x14.neonize.GroupDelete\x12&\n\x04Link\x18\x0b \x01(\x0b\x32\x18.neonize.GroupLinkChange\x12(\n\x06Unlink\x18\x0c \x01(\x0b\x32\x18.neonize.GroupLinkChange\x12\x15\n\rNewInviteLink\x18\r \x01(\t\x12!\n\x19PrevParticipantsVersionID\x18\x0e \x02(\t\x12\x1c\n\x14ParticipantVersionID\x18\x0f \x02(\t\x12\x12\n\nJoinReason\x18\x10 \x02(\t\x12\x1a\n\x04Join\x18\x11 \x03(\x0b\x32\x0c.neonize.JID\x12\x1b\n\x05Leave\x18\x12 \x03(\x0b\x32\x0c.neonize.JID\x12\x1d\n\x07Promote\x18\x13 \x03(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06\x44\x65mote\x18\x14 \x03(\x0b\x32\x0c.neonize.JID\x12%\n\x0eUnknownChanges\x18\x15 \x03(\x0b\x32\r.neonize.Node\"e\n\x07Picture\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06\x41uthor\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x03 \x02(\x03\x12\x0e\n\x06Remove\x18\x04 \x02(\x08\"P\n\x0eIdentityChange\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x02 \x02(\x03\x12\x10\n\x08Implicit\x18\x03 \x02(\x08\"\xf2\x01\n\x14privacySettingsEvent\x12-\n\x0bNewSettings\x18\x01 \x02(\x0b\x32\x18.neonize.PrivacySettings\x12\x17\n\x0fGroupAddChanged\x18\x02 \x02(\x08\x12\x17\n\x0fLastSeenChanged\x18\x03 \x02(\x08\x12\x15\n\rStatusChanged\x18\x04 \x02(\x08\x12\x16\n\x0eProfileChanged\x18\x05 \x02(\x08\x12\x1b\n\x13ReadReceiptsChanged\x18\x06 \x02(\x08\x12\x15\n\rOnlineChanged\x18\x07 \x02(\x08\x12\x16\n\x0e\x43\x61llAddChanged\x18\x08 \x02(\x08\"u\n\x12OfflineSyncPreview\x12\r\n\x05Total\x18\x01 \x02(\x05\x12\x16\n\x0e\x41ppDataChanges\x18\x02 \x02(\x05\x12\x0f\n\x07Message\x18\x03 \x02(\x05\x12\x15\n\rNotifications\x18\x04 \x02(\x05\x12\x10\n\x08Receipts\x18\x05 \x02(\x05\"%\n\x14OfflineSyncCompleted\x12\r\n\x05\x43ount\x18\x01 \x02(\x05\"\xb2\x01\n\x0e\x42locklistEvent\x12/\n\x06\x41\x63tion\x18\x01 \x02(\x0e\x32\x1f.neonize.BlocklistEvent.Actions\x12\r\n\x05\x44HASH\x18\x02 \x02(\t\x12\x11\n\tPrevDHash\x18\x03 \x02(\t\x12)\n\x07\x43hanges\x18\x04 \x03(\x0b\x32\x18.neonize.BlocklistChange\"\"\n\x07\x41\x63tions\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06MODIFY\x10\x02\"\x84\x01\n\x0f\x42locklistChange\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x34\n\x0b\x42lockAction\x18\x02 \x02(\x0e\x32\x1f.neonize.BlocklistChange.Action\" \n\x06\x41\x63tion\x12\t\n\x05\x42LOCK\x10\x01\x12\x0b\n\x07UNBLOCK\x10\x02\"I\n\x0eNewsletterJoin\x12\x37\n\x12NewsletterMetadata\x18\x01 \x02(\x0b\x32\x1b.neonize.NewsletterMetadata\"R\n\x0fNewsletterLeave\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\x04Role\x18\x02 \x02(\x0e\x32\x17.neonize.NewsletterRole\"\\\n\x14NewsletterMuteChange\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12*\n\x04Mute\x18\x02 \x02(\x0e\x32\x1c.neonize.NewsletterMuteState\"m\n\x14NewsletterLiveUpdate\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04TIME\x18\x02 \x02(\x03\x12,\n\x08Messages\x18\x03 \x03(\x0b\x32\x1a.neonize.NewsletterMessage\"\x97\x01\n\rBasicCallMeta\x12\x1a\n\x04\x66rom\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12!\n\x0b\x63\x61llCreator\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12$\n\x0e\x63\x61llCreatorAlt\x18\x04 \x02(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06\x63\x61llID\x18\x05 \x02(\t\"?\n\x0e\x43\x61llRemoteMeta\x12\x16\n\x0eremotePlatform\x18\x01 \x02(\t\x12\x15\n\rremoteVersion\x18\x02 \x02(\t\"\x88\x01\n\tCallOffer\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x89\x01\n\nCallAccept\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x8c\x01\n\rCallPreAccept\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x8c\x01\n\rCallTransport\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"z\n\x0f\x43\x61llOfferNotice\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\r\n\x05media\x18\x02 \x02(\t\x12\x0c\n\x04type\x18\x03 \x02(\t\x12\x1b\n\x04\x64\x61ta\x18\x04 \x02(\x0b\x32\r.neonize.Node\"^\n\x10\x43\x61llRelayLatency\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\x1b\n\x04\x64\x61ta\x18\x02 \x02(\x0b\x32\r.neonize.Node\"k\n\rCallTerminate\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\x0e\n\x06reason\x18\x02 \x02(\t\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"/\n\x10UnknownCallEvent\x12\x1b\n\x04node\x18\x01 \x02(\x0b\x32\r.neonize.Node\"\xdc\x01\n\x14UndecryptableMessage\x12\"\n\x04Info\x18\x01 \x02(\x0b\x32\x14.neonize.MessageInfo\x12\x15\n\rIsUnavailable\x18\x02 \x02(\x08\x12G\n\x0f\x44\x65\x63ryptFailMode\x18\x03 \x02(\x0e\x32..neonize.UndecryptableMessage.DecryptFailModeT\"@\n\x10\x44\x65\x63ryptFailModeT\x12\x15\n\x11\x44\x45\x43RYPT_FAIL_SHOW\x10\x01\x12\x15\n\x11\x44\x45\x43RYPT_FAIL_HIDE\x10\x02\"g\n%UpdateGroupParticipantsReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12/\n\x0cparticipants\x18\x02 \x03(\x0b\x32\x19.neonize.GroupParticipant\"v\n GetMessageForRetryReturnFunction\x12\x16\n\x07isEmpty\x18\x01 \x01(\x08:\x05\x66\x61lse\x12+\n\x07Message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\r\n\x05\x45rror\x18\x03 \x01(\t\"X\n\x11LocalChatSettings\x12\r\n\x05\x46ound\x18\x01 \x02(\x08\x12\x12\n\nMutedUntil\x18\x02 \x02(\x01\x12\x0e\n\x06Pinned\x18\x03 \x02(\x08\x12\x10\n\x08\x41rchived\x18\x04 \x02(\x08\"\xe4\x01\n\x17ReturnFunctionWithError\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x37\n\x11LocalChatSettings\x18\x02 \x01(\x0b\x32\x1a.neonize.LocalChatSettingsH\x00\x12=\n\x0fPollVoteMessage\x18\x03 \x01(\x0b\x32\".WAWebProtobufsE2E.PollVoteMessageH\x00\x12\x38\n\x1bGetLinkedGroupsParticipants\x18\x04 \x01(\x0b\x32\x11.neonize.JIDArrayH\x00\x42\x08\n\x06Return\"v\n\x10SendRequestExtra\x12\n\n\x02ID\x18\x01 \x02(\t\x12\"\n\x0cInlineBotJID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04Peer\x18\x03 \x02(\x08\x12\x0f\n\x07Timeout\x18\x04 \x02(\x03\x12\x13\n\x0bMediaHandle\x18\x05 \x02(\t\"X\n\x1a\x42uildMessageReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12+\n\x07Message\x18\x02 \x02(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"8\n\x08LogEntry\x12\x0f\n\x07Message\x18\x01 \x02(\t\x12\r\n\x05Level\x18\x02 \x02(\t\x12\x0c\n\x04Name\x18\x03 \x02(\t\"\x06\n\x04Stop*!\n\x0e\x41\x64\x64ressingMode\x12\x06\n\x02PN\x10\x01\x12\x07\n\x03LID\x10\x02*A\n\x0eNewsletterRole\x12\x0e\n\nSUBSCRIBER\x10\x01\x12\t\n\x05GUEST\x10\x02\x12\t\n\x05\x41\x44MIN\x10\x03\x12\t\n\x05OWNER\x10\x04*&\n\x13NewsletterMuteState\x12\x06\n\x02ON\x10\x01\x12\x07\n\x03OFF\x10\x02*\xdd\x01\n\x14\x43onnectFailureReason\x12\x0b\n\x07GENERIC\x10\x01\x12\x0e\n\nLOGGED_OUT\x10\x02\x12\x0f\n\x0bTEMP_BANNED\x10\x03\x12\x14\n\x10MAIN_DEVICE_GONE\x10\x04\x12\x12\n\x0eUNKNOWN_LOGOUT\x10\x05\x12\x13\n\x0f\x43LIENT_OUTDATED\x10\x06\x12\x12\n\x0e\x42\x41\x44_USER_AGENT\x10\x07\x12\x19\n\x15INTERNAL_SERVER_ERROR\x10\x08\x12\x10\n\x0c\x45XPERIMENTAL\x10\t\x12\x17\n\x13SERVICE_UNAVAILABLE\x10\nB\x0cZ\n./defproto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rNeonize.proto\x12\x07neonize\x1a)waVnameCert/WAWebProtobufsVnameCert.proto\x1a\x1dwaE2E/WAWebProtobufsE2E.proto\x1a\x1dwaWeb/WAWebProtobufsWeb.proto\x1a*waSyncAction/WAWebProtobufSyncAction.proto\x1a-waHistorySync/WAWebProtobufsHistorySync.proto\"q\n\x03JID\x12\x0c\n\x04User\x18\x01 \x02(\t\x12\x10\n\x08RawAgent\x18\x02 \x02(\r\x12\x0e\n\x06\x44\x65vice\x18\x03 \x02(\r\x12\x12\n\nIntegrator\x18\x04 \x02(\r\x12\x0e\n\x06Server\x18\x05 \x02(\t\x12\x16\n\x07IsEmpty\x18\x06 \x01(\x08:\x05\x66\x61lse\"\xb1\x02\n\x0bMessageInfo\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x0c\n\x04Type\x18\x04 \x02(\t\x12\x10\n\x08Pushname\x18\x05 \x02(\t\x12\x11\n\tTimestamp\x18\x06 \x02(\x03\x12\x10\n\x08\x43\x61tegory\x18\x07 \x02(\t\x12\x11\n\tMulticast\x18\x08 \x02(\x08\x12\x11\n\tMediaType\x18\t \x02(\t\x12\x0c\n\x04\x45\x64it\x18\n \x02(\t\x12+\n\x0cVerifiedName\x18\x0b \x01(\x0b\x32\x15.neonize.VerifiedName\x12/\n\x0e\x44\x65viceSentMeta\x18\x0c \x01(\x0b\x32\x17.neonize.DeviceSentMeta\"\x92\x01\n\x0eUploadResponse\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\x12\n\nDirectPath\x18\x02 \x02(\t\x12\x0e\n\x06Handle\x18\x03 \x02(\t\x12\x10\n\x08MediaKey\x18\x04 \x01(\x0c\x12\x15\n\rFileEncSHA256\x18\x05 \x01(\x0c\x12\x12\n\nFileSHA256\x18\x06 \x01(\x0c\x12\x12\n\nFileLength\x18\x07 \x02(\r\"I\n\x12\x42roadcastRecipient\x12\x19\n\x03LID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x18\n\x02PN\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\"\xc6\x02\n\rMessageSource\x12\x1a\n\x04\x43hat\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06Sender\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08IsFromMe\x18\x03 \x02(\x08\x12\x0f\n\x07IsGroup\x18\x04 \x02(\x08\x12/\n\x0e\x41\x64\x64ressingMode\x18\x05 \x01(\x0e\x32\x17.neonize.AddressingMode\x12\x1f\n\tSenderAlt\x18\x06 \x02(\x0b\x32\x0c.neonize.JID\x12\"\n\x0cRecipientAlt\x18\x07 \x02(\x0b\x32\x0c.neonize.JID\x12(\n\x12\x42roadcastListOwner\x18\x08 \x02(\x0b\x32\x0c.neonize.JID\x12\x38\n\x13\x42roadcastRecipients\x18\t \x03(\x0b\x32\x1b.neonize.BroadcastRecipient\"7\n\x0e\x44\x65viceSentMeta\x12\x16\n\x0e\x44\x65stinationJID\x18\x01 \x02(\t\x12\r\n\x05Phash\x18\x02 \x02(\t\"\xa0\x01\n\x0cVerifiedName\x12\x45\n\x0b\x43\x65rtificate\x18\x01 \x01(\x0b\x32\x30.WAWebProtobufsVnameCert.VerifiedNameCertificate\x12I\n\x07\x44\x65tails\x18\x02 \x01(\x0b\x32\x38.WAWebProtobufsVnameCert.VerifiedNameCertificate.Details\"{\n\x14IsOnWhatsAppResponse\x12\r\n\x05Query\x18\x01 \x02(\t\x12\x19\n\x03JID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04IsIn\x18\x03 \x02(\x08\x12+\n\x0cVerifiedName\x18\x04 \x01(\x0b\x32\x15.neonize.VerifiedName\"y\n\x08UserInfo\x12+\n\x0cVerifiedName\x18\x01 \x01(\x0b\x32\x15.neonize.VerifiedName\x12\x0e\n\x06Status\x18\x02 \x02(\t\x12\x11\n\tPictureID\x18\x03 \x02(\t\x12\x1d\n\x07\x44\x65vices\x18\x04 \x03(\x0b\x32\x0c.neonize.JID\"\x8e\x01\n\x06\x44\x65vice\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03LID\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08Platform\x18\x03 \x02(\t\x12\x15\n\rBussinessName\x18\x04 \x02(\t\x12\x10\n\x08PushName\x18\x05 \x02(\t\x12\x13\n\x0bInitialized\x18\x06 \x02(\x08\"M\n\tGroupName\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x11\n\tNameSetAt\x18\x02 \x02(\x03\x12\x1f\n\tNameSetBy\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\"x\n\nGroupTopic\x12\r\n\x05Topic\x18\x01 \x02(\t\x12\x0f\n\x07TopicID\x18\x02 \x02(\t\x12\x12\n\nTopicSetAt\x18\x03 \x02(\x03\x12 \n\nTopicSetBy\x18\x04 \x02(\x0b\x32\x0c.neonize.JID\x12\x14\n\x0cTopicDeleted\x18\x05 \x02(\x08\"\x1f\n\x0bGroupLocked\x12\x10\n\x08isLocked\x18\x01 \x02(\x08\">\n\rGroupAnnounce\x12\x12\n\nIsAnnounce\x18\x01 \x02(\x08\x12\x19\n\x11\x41nnounceVersionID\x18\x02 \x02(\t\"@\n\x0eGroupEphemeral\x12\x13\n\x0bIsEphemeral\x18\x01 \x02(\x08\x12\x19\n\x11\x44isappearingTimer\x18\x02 \x02(\r\"%\n\x0eGroupIncognito\x12\x13\n\x0bIsIncognito\x18\x01 \x02(\x08\"F\n\x0bGroupParent\x12\x10\n\x08IsParent\x18\x01 \x02(\x08\x12%\n\x1d\x44\x65\x66\x61ultMembershipApprovalMode\x18\x02 \x02(\t\":\n\x11GroupLinkedParent\x12%\n\x0fLinkedParentJID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\".\n\x11GroupIsDefaultSub\x12\x19\n\x11IsDefaultSubGroup\x18\x01 \x02(\x08\">\n\x1aGroupParticipantAddRequest\x12\x0c\n\x04\x43ode\x18\x01 \x02(\t\x12\x12\n\nExpiration\x18\x02 \x02(\x02\"\xef\x01\n\x10GroupParticipant\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03LID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12!\n\x0bPhoneNumber\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12\x0f\n\x07IsAdmin\x18\x04 \x02(\x08\x12\x14\n\x0cIsSuperAdmin\x18\x05 \x02(\x08\x12\x13\n\x0b\x44isplayName\x18\x06 \x02(\t\x12\r\n\x05\x45rror\x18\x07 \x02(\x05\x12\x37\n\nAddRequest\x18\x08 \x01(\x0b\x32#.neonize.GroupParticipantAddRequest\"\xa2\x05\n\tGroupInfo\x12\x1e\n\x08OwnerJID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1d\n\x07OwnerPN\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\tGroupName\x18\x04 \x02(\x0b\x32\x12.neonize.GroupName\x12\'\n\nGroupTopic\x18\x05 \x02(\x0b\x32\x13.neonize.GroupTopic\x12)\n\x0bGroupLocked\x18\x06 \x02(\x0b\x32\x14.neonize.GroupLocked\x12-\n\rGroupAnnounce\x18\x07 \x02(\x0b\x32\x16.neonize.GroupAnnounce\x12/\n\x0eGroupEphemeral\x18\x08 \x02(\x0b\x32\x17.neonize.GroupEphemeral\x12/\n\x0eGroupIncognito\x18\t \x02(\x0b\x32\x17.neonize.GroupIncognito\x12)\n\x0bGroupParent\x18\n \x02(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\x0b \x02(\x0b\x32\x1a.neonize.GroupLinkedParent\x12\x35\n\x11GroupIsDefaultSub\x18\x0c \x02(\x0b\x32\x1a.neonize.GroupIsDefaultSub\x12\x14\n\x0cGroupCreated\x18\r \x02(\x02\x12\x1c\n\x14ParticipantVersionID\x18\x0e \x02(\t\x12/\n\x0cParticipants\x18\x0f \x03(\x0b\x32\x19.neonize.GroupParticipant\"1\n\x12GroupMemberAddMode\x12\x1b\n\x17GroupMemberAddModeAdmin\x10\x01\"\xb8\x01\n\x13MessageDebugTimings\x12\r\n\x05Queue\x18\x01 \x02(\x03\x12\x0f\n\x07Marshal\x18\x02 \x02(\x03\x12\x17\n\x0fGetParticipants\x18\x03 \x02(\x03\x12\x12\n\nGetDevices\x18\x04 \x02(\x03\x12\x14\n\x0cGroupEncrypt\x18\x05 \x02(\x03\x12\x13\n\x0bPeerEncrypt\x18\x06 \x02(\x03\x12\x0c\n\x04Send\x18\x07 \x02(\x03\x12\x0c\n\x04Resp\x18\x08 \x02(\x03\x12\r\n\x05Retry\x18\t \x02(\x03\"\xa0\x01\n\x0cSendResponse\x12\x11\n\tTimestamp\x18\x01 \x02(\x03\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x32\n\x0c\x44\x65\x62ugTimings\x18\x04 \x02(\x0b\x32\x1c.neonize.MessageDebugTimings\x12+\n\x07Message\x18\x05 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"W\n\x19SendMessageReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12+\n\x0cSendResponse\x18\x02 \x01(\x0b\x32\x15.neonize.SendResponse\"R\n\x1aGetGroupInfoReturnFunction\x12%\n\tGroupInfo\x18\x01 \x01(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"K\n\x1fJoinGroupWithLinkReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x19\n\x03Jid\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\"I\n\x1dGetJIDFromStoreReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x19\n\x03Jid\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\"E\n GetGroupInviteLinkReturnFunction\x12\x12\n\nInviteLink\x18\x01 \x01(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"7\n\x16\x44ownloadReturnFunction\x12\x0e\n\x06\x42inary\x18\x01 \x01(\x0c\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"V\n\x14UploadReturnFunction\x12/\n\x0eUploadResponse\x18\x01 \x01(\x0b\x32\x17.neonize.UploadResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"?\n\x1bSetGroupPhotoReturnFunction\x12\x11\n\tPictureID\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1aIsOnWhatsAppReturnFunction\x12;\n\x14IsOnWhatsAppResponse\x18\x01 \x03(\x0b\x32\x1d.neonize.IsOnWhatsAppResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"a\n\x1fGetUserInfoSingleReturnFunction\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12#\n\x08UserInfo\x18\x02 \x01(\x0b\x32\x11.neonize.UserInfo\"g\n\x19GetUserInfoReturnFunction\x12;\n\tUsersInfo\x18\x01 \x03(\x0b\x32(.neonize.GetUserInfoSingleReturnFunction\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Z\n\x1b\x42uildPollVoteReturnFunction\x12,\n\x08PollVote\x18\x01 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1e\x43reateNewsLetterReturnFunction\x12\x37\n\x12NewsletterMetadata\x18\x01 \x01(\x0b\x32\x1b.neonize.NewsletterMetadata\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"R\n\x1aGetBlocklistReturnFunction\x12%\n\tBlocklist\x18\x01 \x01(\x0b\x32\x12.neonize.Blocklist\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"=\n\x1eGetContactQRLinkReturnFunction\x12\x0c\n\x04Link\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"L\n\x17GroupParticipantRequest\x12!\n\x0bParticipant\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06TimeAt\x18\x02 \x01(\x04\"r\n)GetGroupRequestParticipantsReturnFunction\x12\x36\n\x0cParticipants\x18\x01 \x03(\x0b\x32 .neonize.GroupParticipantRequest\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Q\n\x1dGetJoinedGroupsReturnFunction\x12!\n\x05Group\x18\x01 \x03(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xb7\x01\n\x0eReqCreateGroup\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\"\n\x0cParticipants\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\x12\x11\n\tCreateKey\x18\x03 \x02(\t\x12)\n\x0bGroupParent\x18\x04 \x01(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\x05 \x01(\x0b\x32\x1a.neonize.GroupLinkedParent\"&\n\x08JIDArray\x12\x1a\n\x04JIDS\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\"\x1b\n\x0b\x41rrayString\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\t\";\n\x15NewsLetterMessageMeta\x12\x0e\n\x06\x45\x64itTS\x18\x01 \x02(\x03\x12\x12\n\nOriginalTS\x18\x02 \x02(\x03\"5\n\x0bGroupDelete\x12\x0f\n\x07\x44\x65leted\x18\x01 \x02(\x08\x12\x15\n\rDeletedReason\x18\x02 \x02(\t\"\xcc\x03\n\x07Message\x12\"\n\x04Info\x18\x01 \x02(\x0b\x32\x14.neonize.MessageInfo\x12+\n\x07Message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x13\n\x0bIsEphemeral\x18\x03 \x02(\x08\x12\x12\n\nIsViewOnce\x18\x04 \x02(\x08\x12\x14\n\x0cIsViewOnceV2\x18\x05 \x02(\x08\x12\x1d\n\x15IsViewOnceV2Extension\x18\x06 \x02(\x08\x12\x1d\n\x15IsDocumentWithCaption\x18\x07 \x02(\x08\x12\x17\n\x0fIsLottieSticker\x18\x08 \x02(\x08\x12\x0e\n\x06IsEdit\x18\t \x02(\x08\x12\x37\n\x0cSourceWebMsg\x18\n \x01(\x0b\x32!.WAWebProtobufsWeb.WebMessageInfo\x12\x1c\n\x14UnavailableRequestID\x18\x0b \x02(\t\x12\x12\n\nRetryCount\x18\x0c \x02(\x03\x12\x36\n\x0eNewsLetterMeta\x18\r \x01(\x0b\x32\x1e.neonize.NewsLetterMessageMeta\x12\'\n\x03Raw\x18\x0e \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"L\n\x16\x43reateNewsletterParams\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x13\n\x0b\x44\x65scription\x18\x02 \x02(\t\x12\x0f\n\x07Picture\x18\x03 \x02(\x0c\"\x97\x01\n\x16WrappedNewsletterState\x12=\n\x04Type\x18\x01 \x02(\x0e\x32/.neonize.WrappedNewsletterState.NewsletterState\">\n\x0fNewsletterState\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\x10\n\x0cGEOSUSPENDED\x10\x03\">\n\x0eNewsletterText\x12\x0c\n\x04Text\x18\x01 \x02(\t\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x12\n\nUpdateTime\x18\x03 \x02(\x03\"]\n\x12ProfilePictureInfo\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\n\n\x02ID\x18\x02 \x01(\t\x12\x0c\n\x04Type\x18\x03 \x01(\t\x12\x12\n\nDirectPath\x18\x04 \x01(\t\x12\x0c\n\x04Hash\x18\x05 \x01(\x0c\"\xb0\x01\n\x1aNewsletterReactionSettings\x12J\n\x05Value\x18\x01 \x02(\x0e\x32;.neonize.NewsletterReactionSettings.NewsletterReactionsMode\"F\n\x17NewsletterReactionsMode\x12\x07\n\x03\x41LL\x10\x01\x12\t\n\x05\x42\x41SIC\x10\x02\x12\x08\n\x04NONE\x10\x03\x12\r\n\tBLOCKLIST\x10\x04\"O\n\x11NewsletterSetting\x12:\n\rReactionCodes\x18\x01 \x02(\x0b\x32#.neonize.NewsletterReactionSettings\"\xd3\x03\n\x18NewsletterThreadMetadata\x12\x14\n\x0c\x43reationTime\x18\x01 \x02(\x03\x12\x12\n\nInviteCode\x18\x02 \x02(\t\x12%\n\x04Name\x18\x03 \x02(\x0b\x32\x17.neonize.NewsletterText\x12,\n\x0b\x44\x65scription\x18\x04 \x02(\x0b\x32\x17.neonize.NewsletterText\x12\x17\n\x0fSubscriberCount\x18\x05 \x02(\x03\x12X\n\x11VerificationState\x18\x06 \x02(\x0e\x32=.neonize.NewsletterThreadMetadata.NewsletterVerificationState\x12,\n\x07Picture\x18\x07 \x01(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x07Preview\x18\x08 \x02(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x08Settings\x18\t \x02(\x0b\x32\x1a.neonize.NewsletterSetting\";\n\x1bNewsletterVerificationState\x12\x0c\n\x08VERIFIED\x10\x01\x12\x0e\n\nUNVERIFIED\x10\x02\"m\n\x18NewsletterViewerMetadata\x12*\n\x04Mute\x18\x01 \x02(\x0e\x32\x1c.neonize.NewsletterMuteState\x12%\n\x04Role\x18\x02 \x02(\x0e\x32\x17.neonize.NewsletterRole\"\xcc\x01\n\x12NewsletterMetadata\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12.\n\x05State\x18\x02 \x02(\x0b\x32\x1f.neonize.WrappedNewsletterState\x12\x35\n\nThreadMeta\x18\x03 \x02(\x0b\x32!.neonize.NewsletterThreadMetadata\x12\x35\n\nViewerMeta\x18\x04 \x01(\x0b\x32!.neonize.NewsletterViewerMetadata\"6\n\tBlocklist\x12\r\n\x05\x44Hash\x18\x01 \x02(\t\x12\x1a\n\x04JIDs\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\"\'\n\x08Reaction\x12\x0c\n\x04type\x18\x01 \x02(\t\x12\r\n\x05\x63ount\x18\x02 \x02(\x03\"\x98\x01\n\x11NewsletterMessage\x12\x17\n\x0fMessageServerID\x18\x01 \x02(\x03\x12\x12\n\nViewsCount\x18\x02 \x02(\x03\x12)\n\x0eReactionCounts\x18\x03 \x03(\x0b\x32\x11.neonize.Reaction\x12+\n\x07Message\x18\x04 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"p\n(GetNewsletterMessageUpdateReturnFunction\x12\x35\n\x11NewsletterMessage\x18\x01 \x03(\x0b\x32\x1a.neonize.NewsletterMessage\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xa5\x04\n\x0fPrivacySettings\x12\x39\n\x08GroupAdd\x18\x01 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x39\n\x08LastSeen\x18\x02 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x37\n\x06Status\x18\x03 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x38\n\x07Profile\x18\x04 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12=\n\x0cReadReceipts\x18\x05 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x38\n\x07\x43\x61llAdd\x18\x06 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x37\n\x06Online\x18\x07 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\"w\n\x0ePrivacySetting\x12\r\n\tUNDEFINED\x10\x01\x12\x07\n\x03\x41LL\x10\x02\x12\x0c\n\x08\x43ONTACTS\x10\x03\x12\x15\n\x11\x43ONTACT_BLACKLIST\x10\x04\x12\x13\n\x0fMATCH_LAST_SEEN\x10\x05\x12\t\n\x05KNOWN\x10\x06\x12\x08\n\x04NONE\x10\x07\"u\n\tNodeAttrs\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\x11\n\x07\x62oolean\x18\x02 \x01(\x08H\x00\x12\x11\n\x07integer\x18\x03 \x01(\x03H\x00\x12\x0e\n\x04text\x18\x04 \x01(\tH\x00\x12\x1b\n\x03jid\x18\x05 \x01(\x0b\x32\x0c.neonize.JIDH\x00\x42\x07\n\x05Value\"w\n\x04Node\x12\x0b\n\x03Tag\x18\x01 \x02(\t\x12!\n\x05\x41ttrs\x18\x02 \x03(\x0b\x32\x12.neonize.NodeAttrs\x12\x1c\n\x05Nodes\x18\x03 \x03(\x0b\x32\r.neonize.Node\x12\x12\n\x03Nil\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\r\n\x05\x42ytes\x18\x05 \x01(\x0c\"X\n\tInfoQuery\x12\x11\n\tNamespace\x18\x01 \x02(\t\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\n\n\x02To\x18\x03 \x02(\t\x12\x1e\n\x07\x43ontent\x18\x04 \x03(\x0b\x32\r.neonize.Node\"S\n\x17GetProfilePictureParams\x12\x0f\n\x07Preview\x18\x01 \x01(\x08\x12\x12\n\nExistingID\x18\x02 \x01(\t\x12\x13\n\x0bIsCommunity\x18\x03 \x01(\x08\"^\n\x1fGetProfilePictureReturnFunction\x12,\n\x07Picture\x18\x01 \x01(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xb7\x01\n\rStatusPrivacy\x12\x36\n\x04Type\x18\x01 \x02(\x0e\x32(.neonize.StatusPrivacy.StatusPrivacyType\x12\x1a\n\x04List\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\x12\x11\n\tIsDefault\x18\x03 \x02(\x08\"?\n\x11StatusPrivacyType\x12\x0c\n\x08\x43ONTACTS\x10\x01\x12\r\n\tBLACKLIST\x10\x02\x12\r\n\tWHITELIST\x10\x03\"^\n\x1eGetStatusPrivacyReturnFunction\x12-\n\rStatusPrivacy\x18\x01 \x03(\x0b\x32\x16.neonize.StatusPrivacy\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x8a\x01\n\x0fGroupLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\tGroupName\x18\x02 \x02(\x0b\x32\x12.neonize.GroupName\x12\x35\n\x11GroupIsDefaultSub\x18\x03 \x02(\x0b\x32\x1a.neonize.GroupIsDefaultSub\"\xb3\x01\n\x0fGroupLinkChange\x12\x31\n\x04Type\x18\x01 \x02(\x0e\x32#.neonize.GroupLinkChange.ChangeType\x12\x14\n\x0cUnlinkReason\x18\x02 \x02(\t\x12\'\n\x05Group\x18\x03 \x02(\x0b\x32\x18.neonize.GroupLinkTarget\".\n\nChangeType\x12\n\n\x06PARENT\x10\x01\x12\x07\n\x03SUB\x10\x02\x12\x0b\n\x07SIBLING\x10\x03\"^\n\x1aGetSubGroupsReturnFunction\x12\x31\n\x0fGroupLinkTarget\x18\x01 \x03(\x0b\x32\x18.neonize.GroupLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n&GetSubscribedNewslettersReturnFunction\x12/\n\nNewsletter\x18\x01 \x03(\x0b\x32\x1b.neonize.NewsletterMetadata\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"H\n\x1cGetUserDevicesreturnFunction\x12\x19\n\x03JID\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"O\n,NewsletterSubscribeLiveUpdatesReturnFunction\x12\x10\n\x08\x44uration\x18\x01 \x01(\x03\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"m\n\x0fPairPhoneParams\x12\r\n\x05phone\x18\x01 \x01(\t\x12\x1c\n\x14showPushNotification\x18\x02 \x01(\x08\x12\x12\n\nclientType\x18\x03 \x01(\x05\x12\x19\n\x11\x63lientDisplayName\x18\x04 \x01(\t\"6\n\x17PairPhoneReturnFunction\x12\x0c\n\x04\x43ode\x18\x01 \x01(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"P\n\x13\x43ontactQRLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\x10\n\x08PushName\x18\x03 \x02(\t\"h\n\"ResolveContactQRLinkReturnFunction\x12\x33\n\rContactQrLink\x18\x01 \x01(\x0b\x32\x1c.neonize.ContactQRLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x98\x01\n\x19\x42usinessMessageLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08PushName\x18\x02 \x02(\t\x12\x14\n\x0cVerifiedName\x18\x03 \x02(\t\x12\x10\n\x08IsSigned\x18\x04 \x02(\x08\x12\x15\n\rVerifiedLevel\x18\x05 \x02(\t\x12\x0f\n\x07Message\x18\x06 \x02(\t\"x\n(ResolveBusinessMessageLinkReturnFunction\x12=\n\x11MessageLinkTarget\x18\x01 \x01(\x0b\x32\".neonize.BusinessMessageLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"g\n\x0cMutationInfo\x12\r\n\x05Index\x18\x01 \x03(\t\x12\x0f\n\x07Version\x18\x02 \x02(\x05\x12\x37\n\x05Value\x18\x03 \x02(\x0b\x32(.WAWebProtobufSyncAction.SyncActionValue\"\xe3\x01\n\tPatchInfo\x12\x11\n\tTimestamp\x18\x01 \x02(\x03\x12,\n\x04Type\x18\x02 \x02(\x0e\x32\x1e.neonize.PatchInfo.WAPatchName\x12(\n\tMutations\x18\x03 \x03(\x0b\x32\x15.neonize.MutationInfo\"k\n\x0bWAPatchName\x12\x12\n\x0e\x43RITICAL_BLOCK\x10\x01\x12\x18\n\x14\x43RITICAL_UNBLOCK_LOW\x10\x02\x12\x0f\n\x0bREGULAR_LOW\x10\x03\x12\x10\n\x0cREGULAR_HIGH\x10\x04\x12\x0b\n\x07REGULAR\x10\x05\"X\n!ContactsPutPushNameReturnFunction\x12\x0e\n\x06Status\x18\x01 \x02(\x08\x12\x14\n\x0cPreviousName\x18\x02 \x01(\t\x12\r\n\x05\x45rror\x18\x03 \x01(\t\"N\n\x0c\x43ontactEntry\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tFirstName\x18\x02 \x02(\t\x12\x10\n\x08\x46ullName\x18\x03 \x02(\t\"@\n\x11\x43ontactEntryArray\x12+\n\x0c\x43ontactEntry\x18\x01 \x03(\x0b\x32\x15.neonize.ContactEntry\"\\\n\x1fSetPrivacySettingReturnFunction\x12*\n\x08settings\x18\x01 \x01(\x0b\x32\x18.neonize.PrivacySettings\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\\\n ContactsGetContactReturnFunction\x12)\n\x0b\x43ontactInfo\x18\x01 \x01(\x0b\x32\x14.neonize.ContactInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x80\x01\n\x0b\x43ontactInfo\x12\r\n\x05\x46ound\x18\x01 \x02(\x08\x12\x11\n\tFirstName\x18\x02 \x02(\t\x12\x10\n\x08\x46ullName\x18\x03 \x02(\t\x12\x10\n\x08PushName\x18\x04 \x02(\t\x12\x14\n\x0c\x42usinessName\x18\x05 \x02(\t\x12\x15\n\rRedactedPhone\x18\x06 \x02(\t\"H\n\x07\x43ontact\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\"\n\x04Info\x18\x02 \x02(\x0b\x32\x14.neonize.ContactInfo\"X\n$ContactsGetAllContactsReturnFunction\x12!\n\x07\x43ontact\x18\x01 \x03(\x0b\x32\x10.neonize.Contact\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x13\n\x02QR\x12\r\n\x05\x43odes\x18\x01 \x03(\t\"\xad\x01\n\nPairStatus\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x14\n\x0c\x42usinessName\x18\x02 \x02(\t\x12\x10\n\x08Platform\x18\x03 \x02(\t\x12+\n\x06Status\x18\x04 \x02(\x0e\x32\x1b.neonize.PairStatus.PStatus\x12\r\n\x05\x45rror\x18\x05 \x01(\t\"!\n\x07PStatus\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07SUCCESS\x10\x02\"\x1b\n\tConnected\x12\x0e\n\x06status\x18\x01 \x02(\x08\";\n\x10KeepAliveTimeout\x12\x12\n\nErrorCount\x18\x01 \x02(\x03\x12\x13\n\x0bLastSuccess\x18\x02 \x02(\x03\"\x13\n\x11KeepAliveRestored\"M\n\tLoggedOut\x12\x11\n\tOnConnect\x18\x01 \x02(\x08\x12-\n\x06Reason\x18\x02 \x02(\x0e\x32\x1d.neonize.ConnectFailureReason\"\x10\n\x0eStreamReplaced\"\xe7\x01\n\x0cTemporaryBan\x12\x31\n\x04\x43ode\x18\x01 \x02(\x0e\x32#.neonize.TemporaryBan.TempBanReason\x12\x0e\n\x06\x45xpire\x18\x02 \x02(\x03\"\x93\x01\n\rTempBanReason\x12\x1b\n\x17SEND_TO_TOO_MANY_PEOPLE\x10\x01\x12\x14\n\x10\x42LOCKED_BY_USERS\x10\x02\x12\x1b\n\x17\x43REATED_TOO_MANY_GROUPS\x10\x03\x12\x1e\n\x1aSENT_TOO_MANY_SAME_MESSAGE\x10\x04\x12\x12\n\x0e\x42ROADCAST_LIST\x10\x05\"l\n\x0e\x43onnectFailure\x12-\n\x06Reason\x18\x01 \x02(\x0e\x32\x1d.neonize.ConnectFailureReason\x12\x0f\n\x07Message\x18\x02 \x02(\t\x12\x1a\n\x03Raw\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x10\n\x0e\x43lientOutdated\"7\n\x0bStreamError\x12\x0c\n\x04\x43ode\x18\x01 \x02(\t\x12\x1a\n\x03Raw\x18\x04 \x02(\x0b\x32\r.neonize.Node\"\x1e\n\x0c\x44isconnected\x12\x0e\n\x06status\x18\x01 \x02(\x08\"C\n\x0bHistorySync\x12\x34\n\x04\x44\x61ta\x18\x01 \x02(\x0b\x32&.WAWebProtobufsHistorySync.HistorySync\"\xb7\x02\n\x07Receipt\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\x12\n\nMessageIDs\x18\x02 \x03(\t\x12\x11\n\tTimestamp\x18\x03 \x02(\x03\x12*\n\x04Type\x18\x04 \x02(\x0e\x32\x1c.neonize.Receipt.ReceiptType\"\xa9\x01\n\x0bReceiptType\x12\r\n\tDELIVERED\x10\x01\x12\n\n\x06SENDER\x10\x02\x12\t\n\x05RETRY\x10\x03\x12\x08\n\x04READ\x10\x04\x12\r\n\tREAD_SELF\x10\x05\x12\n\n\x06PLAYED\x10\x06\x12\x0f\n\x0bPLAYED_SELF\x10\x07\x12\x10\n\x0cSERVER_ERROR\x10\x08\x12\x0c\n\x08INACTIVE\x10\t\x12\x0c\n\x08PEER_MSG\x10\n\x12\x10\n\x0cHISTORY_SYNC\x10\x0b\"\xfd\x01\n\x0c\x43hatPresence\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\x31\n\x05State\x18\x02 \x02(\x0e\x32\".neonize.ChatPresence.ChatPresence\x12\x36\n\x05Media\x18\x03 \x02(\x0e\x32\'.neonize.ChatPresence.ChatPresenceMedia\")\n\x0c\x43hatPresence\x12\r\n\tCOMPOSING\x10\x01\x12\n\n\x06PAUSED\x10\x02\"(\n\x11\x43hatPresenceMedia\x12\x08\n\x04TEXT\x10\x01\x12\t\n\x05\x41UDIO\x10\x02\"M\n\x08Presence\x12\x1a\n\x04\x46rom\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x13\n\x0bUnavailable\x18\x02 \x02(\x08\x12\x10\n\x08LastSeen\x18\x03 \x02(\x03\"\xa3\x01\n\x0bJoinedGroup\x12\x0e\n\x06Reason\x18\x01 \x02(\t\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\x11\n\tCreateKey\x18\x03 \x02(\t\x12%\n\tGroupInfo\x18\x04 \x02(\x0b\x32\x12.neonize.GroupInfo\x12\x1c\n\x06Sender\x18\x05 \x01(\x0b\x32\x0c.neonize.JID\x12\x1e\n\x08SenderPN\x18\x06 \x01(\x0b\x32\x0c.neonize.JID\"\xaf\x05\n\x0eGroupInfoEvent\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06Notify\x18\x02 \x02(\t\x12\x1c\n\x06Sender\x18\x03 \x01(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x04 \x02(\x03\x12 \n\x04Name\x18\x05 \x01(\x0b\x32\x12.neonize.GroupName\x12\"\n\x05Topic\x18\x06 \x01(\x0b\x32\x13.neonize.GroupTopic\x12$\n\x06Locked\x18\x07 \x01(\x0b\x32\x14.neonize.GroupLocked\x12(\n\x08\x41nnounce\x18\x08 \x01(\x0b\x32\x16.neonize.GroupAnnounce\x12*\n\tEphemeral\x18\t \x01(\x0b\x32\x17.neonize.GroupEphemeral\x12$\n\x06\x44\x65lete\x18\n \x01(\x0b\x32\x14.neonize.GroupDelete\x12&\n\x04Link\x18\x0b \x01(\x0b\x32\x18.neonize.GroupLinkChange\x12(\n\x06Unlink\x18\x0c \x01(\x0b\x32\x18.neonize.GroupLinkChange\x12\x15\n\rNewInviteLink\x18\r \x01(\t\x12!\n\x19PrevParticipantsVersionID\x18\x0e \x02(\t\x12\x1c\n\x14ParticipantVersionID\x18\x0f \x02(\t\x12\x12\n\nJoinReason\x18\x10 \x02(\t\x12\x1a\n\x04Join\x18\x11 \x03(\x0b\x32\x0c.neonize.JID\x12\x1b\n\x05Leave\x18\x12 \x03(\x0b\x32\x0c.neonize.JID\x12\x1d\n\x07Promote\x18\x13 \x03(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06\x44\x65mote\x18\x14 \x03(\x0b\x32\x0c.neonize.JID\x12%\n\x0eUnknownChanges\x18\x15 \x03(\x0b\x32\r.neonize.Node\"e\n\x07Picture\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06\x41uthor\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x03 \x02(\x03\x12\x0e\n\x06Remove\x18\x04 \x02(\x08\"P\n\x0eIdentityChange\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x02 \x02(\x03\x12\x10\n\x08Implicit\x18\x03 \x02(\x08\"\xf2\x01\n\x14privacySettingsEvent\x12-\n\x0bNewSettings\x18\x01 \x02(\x0b\x32\x18.neonize.PrivacySettings\x12\x17\n\x0fGroupAddChanged\x18\x02 \x02(\x08\x12\x17\n\x0fLastSeenChanged\x18\x03 \x02(\x08\x12\x15\n\rStatusChanged\x18\x04 \x02(\x08\x12\x16\n\x0eProfileChanged\x18\x05 \x02(\x08\x12\x1b\n\x13ReadReceiptsChanged\x18\x06 \x02(\x08\x12\x15\n\rOnlineChanged\x18\x07 \x02(\x08\x12\x16\n\x0e\x43\x61llAddChanged\x18\x08 \x02(\x08\"u\n\x12OfflineSyncPreview\x12\r\n\x05Total\x18\x01 \x02(\x05\x12\x16\n\x0e\x41ppDataChanges\x18\x02 \x02(\x05\x12\x0f\n\x07Message\x18\x03 \x02(\x05\x12\x15\n\rNotifications\x18\x04 \x02(\x05\x12\x10\n\x08Receipts\x18\x05 \x02(\x05\"%\n\x14OfflineSyncCompleted\x12\r\n\x05\x43ount\x18\x01 \x02(\x05\"\xb2\x01\n\x0e\x42locklistEvent\x12/\n\x06\x41\x63tion\x18\x01 \x02(\x0e\x32\x1f.neonize.BlocklistEvent.Actions\x12\r\n\x05\x44HASH\x18\x02 \x02(\t\x12\x11\n\tPrevDHash\x18\x03 \x02(\t\x12)\n\x07\x43hanges\x18\x04 \x03(\x0b\x32\x18.neonize.BlocklistChange\"\"\n\x07\x41\x63tions\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06MODIFY\x10\x02\"\x84\x01\n\x0f\x42locklistChange\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x34\n\x0b\x42lockAction\x18\x02 \x02(\x0e\x32\x1f.neonize.BlocklistChange.Action\" \n\x06\x41\x63tion\x12\t\n\x05\x42LOCK\x10\x01\x12\x0b\n\x07UNBLOCK\x10\x02\"I\n\x0eNewsletterJoin\x12\x37\n\x12NewsletterMetadata\x18\x01 \x02(\x0b\x32\x1b.neonize.NewsletterMetadata\"R\n\x0fNewsletterLeave\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\x04Role\x18\x02 \x02(\x0e\x32\x17.neonize.NewsletterRole\"\\\n\x14NewsletterMuteChange\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12*\n\x04Mute\x18\x02 \x02(\x0e\x32\x1c.neonize.NewsletterMuteState\"m\n\x14NewsletterLiveUpdate\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04TIME\x18\x02 \x02(\x03\x12,\n\x08Messages\x18\x03 \x03(\x0b\x32\x1a.neonize.NewsletterMessage\"\x97\x01\n\rBasicCallMeta\x12\x1a\n\x04\x66rom\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12!\n\x0b\x63\x61llCreator\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12$\n\x0e\x63\x61llCreatorAlt\x18\x04 \x02(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06\x63\x61llID\x18\x05 \x02(\t\"?\n\x0e\x43\x61llRemoteMeta\x12\x16\n\x0eremotePlatform\x18\x01 \x02(\t\x12\x15\n\rremoteVersion\x18\x02 \x02(\t\"\x88\x01\n\tCallOffer\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x89\x01\n\nCallAccept\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x8c\x01\n\rCallPreAccept\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x8c\x01\n\rCallTransport\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"z\n\x0f\x43\x61llOfferNotice\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\r\n\x05media\x18\x02 \x02(\t\x12\x0c\n\x04type\x18\x03 \x02(\t\x12\x1b\n\x04\x64\x61ta\x18\x04 \x02(\x0b\x32\r.neonize.Node\"^\n\x10\x43\x61llRelayLatency\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\x1b\n\x04\x64\x61ta\x18\x02 \x02(\x0b\x32\r.neonize.Node\"k\n\rCallTerminate\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\x0e\n\x06reason\x18\x02 \x02(\t\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"/\n\x10UnknownCallEvent\x12\x1b\n\x04node\x18\x01 \x02(\x0b\x32\r.neonize.Node\"\xdc\x01\n\x14UndecryptableMessage\x12\"\n\x04Info\x18\x01 \x02(\x0b\x32\x14.neonize.MessageInfo\x12\x15\n\rIsUnavailable\x18\x02 \x02(\x08\x12G\n\x0f\x44\x65\x63ryptFailMode\x18\x03 \x02(\x0e\x32..neonize.UndecryptableMessage.DecryptFailModeT\"@\n\x10\x44\x65\x63ryptFailModeT\x12\x15\n\x11\x44\x45\x43RYPT_FAIL_SHOW\x10\x01\x12\x15\n\x11\x44\x45\x43RYPT_FAIL_HIDE\x10\x02\"g\n%UpdateGroupParticipantsReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12/\n\x0cparticipants\x18\x02 \x03(\x0b\x32\x19.neonize.GroupParticipant\"v\n GetMessageForRetryReturnFunction\x12\x16\n\x07isEmpty\x18\x01 \x01(\x08:\x05\x66\x61lse\x12+\n\x07Message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\r\n\x05\x45rror\x18\x03 \x01(\t\"X\n\x11LocalChatSettings\x12\r\n\x05\x46ound\x18\x01 \x02(\x08\x12\x12\n\nMutedUntil\x18\x02 \x02(\x01\x12\x0e\n\x06Pinned\x18\x03 \x02(\x08\x12\x10\n\x08\x41rchived\x18\x04 \x02(\x08\"\xe4\x01\n\x17ReturnFunctionWithError\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x37\n\x11LocalChatSettings\x18\x02 \x01(\x0b\x32\x1a.neonize.LocalChatSettingsH\x00\x12=\n\x0fPollVoteMessage\x18\x03 \x01(\x0b\x32\".WAWebProtobufsE2E.PollVoteMessageH\x00\x12\x38\n\x1bGetLinkedGroupsParticipants\x18\x04 \x01(\x0b\x32\x11.neonize.JIDArrayH\x00\x42\x08\n\x06Return\"v\n\x10SendRequestExtra\x12\n\n\x02ID\x18\x01 \x02(\t\x12\"\n\x0cInlineBotJID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04Peer\x18\x03 \x02(\x08\x12\x0f\n\x07Timeout\x18\x04 \x02(\x03\x12\x13\n\x0bMediaHandle\x18\x05 \x02(\t\"X\n\x1a\x42uildMessageReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12+\n\x07Message\x18\x02 \x02(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"8\n\x08LogEntry\x12\x0f\n\x07Message\x18\x01 \x02(\t\x12\r\n\x05Level\x18\x02 \x02(\t\x12\x0c\n\x04Name\x18\x03 \x02(\t\"\x06\n\x04Stop\"[\n\x13\x42usinessHoursConfig\x12\x11\n\tDayOfWeek\x18\x01 \x01(\t\x12\x0c\n\x04Mode\x18\x02 \x01(\t\x12\x10\n\x08OpenTime\x18\x03 \x01(\t\x12\x11\n\tCloseTime\x18\x04 \x01(\t\"$\n\x08\x43\x61tegory\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x0c\n\x04Name\x18\x02 \x01(\t\"\xc4\x02\n\x0f\x42usinessProfile\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x0f\n\x07\x41\x64\x64ress\x18\x02 \x01(\t\x12\r\n\x05\x45mail\x18\x03 \x01(\t\x12%\n\nCategories\x18\x04 \x03(\x0b\x32\x11.neonize.Category\x12\x44\n\x0eProfileOptions\x18\x05 \x03(\x0b\x32,.neonize.BusinessProfile.ProfileOptionsEntry\x12\x1d\n\x15\x42usinessHoursTimeZone\x18\x06 \x01(\t\x12\x33\n\rBusinessHours\x18\x07 \x03(\x0b\x32\x1c.neonize.BusinessHoursConfig\x1a\x35\n\x13ProfileOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\\\n GetBusinessProfileReturnFunction\x12)\n\x07Profile\x18\x01 \x01(\x0b\x32\x18.neonize.BusinessProfile\x12\r\n\x05\x45rror\x18\x02 \x01(\t*!\n\x0e\x41\x64\x64ressingMode\x12\x06\n\x02PN\x10\x01\x12\x07\n\x03LID\x10\x02*A\n\x0eNewsletterRole\x12\x0e\n\nSUBSCRIBER\x10\x01\x12\t\n\x05GUEST\x10\x02\x12\t\n\x05\x41\x44MIN\x10\x03\x12\t\n\x05OWNER\x10\x04*&\n\x13NewsletterMuteState\x12\x06\n\x02ON\x10\x01\x12\x07\n\x03OFF\x10\x02*\xdd\x01\n\x14\x43onnectFailureReason\x12\x0b\n\x07GENERIC\x10\x01\x12\x0e\n\nLOGGED_OUT\x10\x02\x12\x0f\n\x0bTEMP_BANNED\x10\x03\x12\x14\n\x10MAIN_DEVICE_GONE\x10\x04\x12\x12\n\x0eUNKNOWN_LOGOUT\x10\x05\x12\x13\n\x0f\x43LIENT_OUTDATED\x10\x06\x12\x12\n\x0e\x42\x41\x44_USER_AGENT\x10\x07\x12\x19\n\x15INTERNAL_SERVER_ERROR\x10\x08\x12\x10\n\x0c\x45XPERIMENTAL\x10\t\x12\x17\n\x13SERVICE_UNAVAILABLE\x10\nB\x0cZ\n./defproto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,14 +37,16 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'Z\n./defproto' - _globals['_ADDRESSINGMODE']._serialized_start=17520 - _globals['_ADDRESSINGMODE']._serialized_end=17553 - _globals['_NEWSLETTERROLE']._serialized_start=17555 - _globals['_NEWSLETTERROLE']._serialized_end=17620 - _globals['_NEWSLETTERMUTESTATE']._serialized_start=17622 - _globals['_NEWSLETTERMUTESTATE']._serialized_end=17660 - _globals['_CONNECTFAILUREREASON']._serialized_start=17663 - _globals['_CONNECTFAILUREREASON']._serialized_end=17884 + _globals['_BUSINESSPROFILE_PROFILEOPTIONSENTRY']._loaded_options = None + _globals['_BUSINESSPROFILE_PROFILEOPTIONSENTRY']._serialized_options = b'8\001' + _globals['_ADDRESSINGMODE']._serialized_start=18072 + _globals['_ADDRESSINGMODE']._serialized_end=18105 + _globals['_NEWSLETTERROLE']._serialized_start=18107 + _globals['_NEWSLETTERROLE']._serialized_end=18172 + _globals['_NEWSLETTERMUTESTATE']._serialized_start=18174 + _globals['_NEWSLETTERMUTESTATE']._serialized_end=18212 + _globals['_CONNECTFAILUREREASON']._serialized_start=18215 + _globals['_CONNECTFAILUREREASON']._serialized_end=18436 _globals['_JID']._serialized_start=222 _globals['_JID']._serialized_end=335 _globals['_MESSAGEINFO']._serialized_start=338 @@ -355,4 +357,14 @@ _globals['_LOGENTRY']._serialized_end=17510 _globals['_STOP']._serialized_start=17512 _globals['_STOP']._serialized_end=17518 + _globals['_BUSINESSHOURSCONFIG']._serialized_start=17520 + _globals['_BUSINESSHOURSCONFIG']._serialized_end=17611 + _globals['_CATEGORY']._serialized_start=17613 + _globals['_CATEGORY']._serialized_end=17649 + _globals['_BUSINESSPROFILE']._serialized_start=17652 + _globals['_BUSINESSPROFILE']._serialized_end=17976 + _globals['_BUSINESSPROFILE_PROFILEOPTIONSENTRY']._serialized_start=17923 + _globals['_BUSINESSPROFILE_PROFILEOPTIONSENTRY']._serialized_end=17976 + _globals['_GETBUSINESSPROFILERETURNFUNCTION']._serialized_start=17978 + _globals['_GETBUSINESSPROFILERETURNFUNCTION']._serialized_end=18070 # @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/Neonize_pb2.pyi b/neonize/proto/Neonize_pb2.pyi index d3c88d22..5cffc67c 100644 --- a/neonize/proto/Neonize_pb2.pyi +++ b/neonize/proto/Neonize_pb2.pyi @@ -4175,3 +4175,137 @@ class Stop(_message.Message): def WhichOneof(self, oneof_group: _Never) -> None: ... Global___Stop: _TypeAlias = Stop # noqa: Y015 + +@_typing.final +class BusinessHoursConfig(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + DAYOFWEEK_FIELD_NUMBER: _builtins.int + MODE_FIELD_NUMBER: _builtins.int + OPENTIME_FIELD_NUMBER: _builtins.int + CLOSETIME_FIELD_NUMBER: _builtins.int + DayOfWeek: _builtins.str + Mode: _builtins.str + OpenTime: _builtins.str + CloseTime: _builtins.str + def __init__( + self, + *, + DayOfWeek: _builtins.str | None = ..., + Mode: _builtins.str | None = ..., + OpenTime: _builtins.str | None = ..., + CloseTime: _builtins.str | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["CloseTime", b"CloseTime", "DayOfWeek", b"DayOfWeek", "Mode", b"Mode", "OpenTime", b"OpenTime"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["CloseTime", b"CloseTime", "DayOfWeek", b"DayOfWeek", "Mode", b"Mode", "OpenTime", b"OpenTime"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + def WhichOneof(self, oneof_group: _Never) -> None: ... + +Global___BusinessHoursConfig: _TypeAlias = BusinessHoursConfig # noqa: Y015 + +@_typing.final +class Category(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + ID_FIELD_NUMBER: _builtins.int + NAME_FIELD_NUMBER: _builtins.int + ID: _builtins.str + Name: _builtins.str + def __init__( + self, + *, + ID: _builtins.str | None = ..., + Name: _builtins.str | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["ID", b"ID", "Name", b"Name"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["ID", b"ID", "Name", b"Name"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + def WhichOneof(self, oneof_group: _Never) -> None: ... + +Global___Category: _TypeAlias = Category # noqa: Y015 + +@_typing.final +class BusinessProfile(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + @_typing.final + class ProfileOptionsEntry(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + KEY_FIELD_NUMBER: _builtins.int + VALUE_FIELD_NUMBER: _builtins.int + key: _builtins.str + value: _builtins.str + def __init__( + self, + *, + key: _builtins.str | None = ..., + value: _builtins.str | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + def WhichOneof(self, oneof_group: _Never) -> None: ... + + JID_FIELD_NUMBER: _builtins.int + ADDRESS_FIELD_NUMBER: _builtins.int + EMAIL_FIELD_NUMBER: _builtins.int + CATEGORIES_FIELD_NUMBER: _builtins.int + PROFILEOPTIONS_FIELD_NUMBER: _builtins.int + BUSINESSHOURSTIMEZONE_FIELD_NUMBER: _builtins.int + BUSINESSHOURS_FIELD_NUMBER: _builtins.int + Address: _builtins.str + Email: _builtins.str + BusinessHoursTimeZone: _builtins.str + @_builtins.property + def JID(self) -> Global___JID: ... + @_builtins.property + def Categories(self) -> _containers.RepeatedCompositeFieldContainer[Global___Category]: ... + @_builtins.property + def ProfileOptions(self) -> _containers.ScalarMap[_builtins.str, _builtins.str]: ... + @_builtins.property + def BusinessHours(self) -> _containers.RepeatedCompositeFieldContainer[Global___BusinessHoursConfig]: ... + def __init__( + self, + *, + JID: Global___JID | None = ..., + Address: _builtins.str | None = ..., + Email: _builtins.str | None = ..., + Categories: _abc.Iterable[Global___Category] | None = ..., + ProfileOptions: _abc.Mapping[_builtins.str, _builtins.str] | None = ..., + BusinessHoursTimeZone: _builtins.str | None = ..., + BusinessHours: _abc.Iterable[Global___BusinessHoursConfig] | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["Address", b"Address", "BusinessHoursTimeZone", b"BusinessHoursTimeZone", "Email", b"Email", "JID", b"JID"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["Address", b"Address", "BusinessHours", b"BusinessHours", "BusinessHoursTimeZone", b"BusinessHoursTimeZone", "Categories", b"Categories", "Email", b"Email", "JID", b"JID", "ProfileOptions", b"ProfileOptions"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + def WhichOneof(self, oneof_group: _Never) -> None: ... + +Global___BusinessProfile: _TypeAlias = BusinessProfile # noqa: Y015 + +@_typing.final +class GetBusinessProfileReturnFunction(_message.Message): + DESCRIPTOR: _descriptor.Descriptor + + PROFILE_FIELD_NUMBER: _builtins.int + ERROR_FIELD_NUMBER: _builtins.int + Error: _builtins.str + @_builtins.property + def Profile(self) -> Global___BusinessProfile: ... + def __init__( + self, + *, + Profile: Global___BusinessProfile | None = ..., + Error: _builtins.str | None = ..., + ) -> None: ... + _HasFieldArgType: _TypeAlias = _typing.Literal["Error", b"Error", "Profile", b"Profile"] # noqa: Y015 + def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ... + _ClearFieldArgType: _TypeAlias = _typing.Literal["Error", b"Error", "Profile", b"Profile"] # noqa: Y015 + def ClearField(self, field_name: _ClearFieldArgType) -> None: ... + def WhichOneof(self, oneof_group: _Never) -> None: ... + +Global___GetBusinessProfileReturnFunction: _TypeAlias = GetBusinessProfileReturnFunction # noqa: Y015