1pub mod types {
10 use serde::{Deserialize, Serialize};
11 use serde_with::{serde_as, DisplayFromStr};
12 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
14 pub struct Error {
15 pub code: i32,
17 pub message: String,
19 }
20 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
22 pub struct AuthenticationCodeTypeTelegramMessage {
23 pub length: i32,
25 }
26 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
28 pub struct AuthenticationCodeTypeSms {
29 pub length: i32,
31 }
32 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
34 pub struct AuthenticationCodeTypeCall {
35 pub length: i32,
37 }
38 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
40 pub struct AuthenticationCodeTypeFlashCall {
41 pub pattern: String,
43 }
44 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
46 pub struct AuthenticationCodeTypeMissedCall {
47 pub phone_number_prefix: String,
49 pub length: i32,
51 }
52 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
54 pub struct AuthenticationCodeTypeFragment {
55 pub url: String,
57 pub length: i32,
59 }
60 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
62 pub struct AuthenticationCodeTypeFirebaseAndroid {
63 pub nonce: String,
65 pub length: i32,
67 }
68 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
70 pub struct AuthenticationCodeTypeFirebaseIos {
71 pub receipt: String,
73 pub push_timeout: i32,
75 pub length: i32,
77 }
78 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
80 pub struct AuthenticationCodeInfo {
81 pub phone_number: String,
83 pub r#type: crate::enums::AuthenticationCodeType,
85 pub next_type: Option<crate::enums::AuthenticationCodeType>,
87 pub timeout: i32,
89 }
90 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
92 pub struct EmailAddressAuthenticationCodeInfo {
93 pub email_address_pattern: String,
95 pub length: i32,
97 }
98 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
100 pub struct EmailAddressAuthenticationCode {
101 pub code: String,
103 }
104 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
106 pub struct EmailAddressAuthenticationAppleId {
107 pub token: String,
109 }
110 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
112 pub struct EmailAddressAuthenticationGoogleId {
113 pub token: String,
115 }
116 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
118 pub struct EmailAddressResetStateAvailable {
119 pub wait_period: i32,
121 }
122 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
124 pub struct EmailAddressResetStatePending {
125 pub reset_in: i32,
127 }
128 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
130 pub struct TextEntity {
131 pub offset: i32,
133 pub length: i32,
135 pub r#type: crate::enums::TextEntityType,
137 }
138 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
140 pub struct TextEntities {
141 pub entities: Vec<crate::types::TextEntity>,
143 }
144 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
146 pub struct FormattedText {
147 pub text: String,
149 pub entities: Vec<crate::types::TextEntity>,
152 }
153 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
155 pub struct TermsOfService {
156 pub text: crate::types::FormattedText,
158 pub min_user_age: i32,
160 pub show_popup: bool,
162 }
163 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
165 pub struct AuthorizationStateWaitEmailAddress {
166 pub allow_apple_id: bool,
168 pub allow_google_id: bool,
170 }
171 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
173 pub struct AuthorizationStateWaitEmailCode {
174 pub allow_apple_id: bool,
176 pub allow_google_id: bool,
178 pub code_info: crate::types::EmailAddressAuthenticationCodeInfo,
180 pub email_address_reset_state: Option<crate::enums::EmailAddressResetState>,
182 }
183 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
185 pub struct AuthorizationStateWaitCode {
186 pub code_info: crate::types::AuthenticationCodeInfo,
188 }
189 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
191 pub struct AuthorizationStateWaitOtherDeviceConfirmation {
192 pub link: String,
194 }
195 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
197 pub struct AuthorizationStateWaitRegistration {
198 pub terms_of_service: crate::types::TermsOfService,
200 }
201 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
204 pub struct AuthorizationStateWaitPassword {
205 pub password_hint: String,
207 pub has_recovery_email_address: bool,
209 pub has_passport_data: bool,
211 pub recovery_email_address_pattern: String,
213 }
214 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
216 pub struct PasswordState {
217 pub has_password: bool,
219 pub password_hint: String,
221 pub has_recovery_email_address: bool,
223 pub has_passport_data: bool,
225 pub recovery_email_address_code_info: Option<crate::types::EmailAddressAuthenticationCodeInfo>,
227 pub login_email_address_pattern: String,
229 pub pending_reset_date: i32,
231 }
232 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
234 pub struct RecoveryEmailAddress {
235 pub recovery_email_address: String,
237 }
238 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
240 pub struct TemporaryPasswordState {
241 pub has_password: bool,
243 pub valid_for: i32,
245 }
246 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
248 pub struct LocalFile {
249 pub path: String,
251 pub can_be_downloaded: bool,
253 pub can_be_deleted: bool,
255 pub is_downloading_active: bool,
257 pub is_downloading_completed: bool,
259 pub download_offset: i64,
261 pub downloaded_prefix_size: i64,
263 pub downloaded_size: i64,
265 }
266 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
268 pub struct RemoteFile {
269 pub id: String,
274 pub unique_id: String,
276 pub is_uploading_active: bool,
278 pub is_uploading_completed: bool,
280 pub uploaded_size: i64,
282 }
283 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
285 pub struct File {
286 pub id: i32,
288 pub size: i64,
290 pub expected_size: i64,
292 pub local: crate::types::LocalFile,
294 pub remote: crate::types::RemoteFile,
296 }
297 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
299 pub struct InputFileId {
300 pub id: i32,
302 }
303 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
306 pub struct InputFileRemote {
307 pub id: String,
309 }
310 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
312 pub struct InputFileLocal {
313 pub path: String,
315 }
316 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
318 pub struct InputFileGenerated {
319 pub original_path: String,
321 pub conversion: String,
323 pub expected_size: i64,
325 }
326 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
328 pub struct PhotoSize {
329 pub r#type: String,
331 pub photo: crate::types::File,
333 pub width: i32,
335 pub height: i32,
337 pub progressive_sizes: Vec<i32>,
339 }
340 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
342 pub struct Minithumbnail {
343 pub width: i32,
345 pub height: i32,
347 pub data: String,
349 }
350 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
352 pub struct Thumbnail {
353 pub format: crate::enums::ThumbnailFormat,
355 pub width: i32,
357 pub height: i32,
359 pub file: crate::types::File,
361 }
362 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
364 pub struct MaskPosition {
365 pub point: crate::enums::MaskPoint,
367 pub x_shift: f64,
369 pub y_shift: f64,
371 pub scale: f64,
373 }
374 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
376 pub struct StickerFullTypeRegular {
377 pub premium_animation: Option<crate::types::File>,
379 }
380 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
382 pub struct StickerFullTypeMask {
383 pub mask_position: Option<crate::types::MaskPosition>,
385 }
386 #[serde_as]
388 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
389 pub struct StickerFullTypeCustomEmoji {
390 #[serde_as(as = "DisplayFromStr")]
392 pub custom_emoji_id: i64,
393 pub needs_repainting: bool,
395 }
396 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
398 pub struct ClosedVectorPath {
399 pub commands: Vec<crate::enums::VectorPathCommand>,
401 }
402 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
404 pub struct PollOption {
405 pub text: String,
407 pub voter_count: i32,
409 pub vote_percentage: i32,
411 pub is_chosen: bool,
413 pub is_being_chosen: bool,
415 }
416 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
418 pub struct PollTypeRegular {
419 pub allow_multiple_answers: bool,
421 }
422 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
424 pub struct PollTypeQuiz {
425 pub correct_option_id: i32,
427 pub explanation: crate::types::FormattedText,
429 }
430 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
432 pub struct Animation {
433 pub duration: i32,
435 pub width: i32,
437 pub height: i32,
439 pub file_name: String,
441 pub mime_type: String,
443 pub has_stickers: bool,
445 pub minithumbnail: Option<crate::types::Minithumbnail>,
447 pub thumbnail: Option<crate::types::Thumbnail>,
449 pub animation: crate::types::File,
451 }
452 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
454 pub struct Audio {
455 pub duration: i32,
457 pub title: String,
459 pub performer: String,
461 pub file_name: String,
463 pub mime_type: String,
465 pub album_cover_minithumbnail: Option<crate::types::Minithumbnail>,
467 pub album_cover_thumbnail: Option<crate::types::Thumbnail>,
469 pub external_album_covers: Vec<crate::types::Thumbnail>,
471 pub audio: crate::types::File,
473 }
474 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
476 pub struct Document {
477 pub file_name: String,
479 pub mime_type: String,
481 pub minithumbnail: Option<crate::types::Minithumbnail>,
483 pub thumbnail: Option<crate::types::Thumbnail>,
485 pub document: crate::types::File,
487 }
488 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
490 pub struct Photo {
491 pub has_stickers: bool,
493 pub minithumbnail: Option<crate::types::Minithumbnail>,
495 pub sizes: Vec<crate::types::PhotoSize>,
497 }
498 #[serde_as]
500 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
501 pub struct Sticker {
502 #[serde_as(as = "DisplayFromStr")]
504 pub id: i64,
505 #[serde_as(as = "DisplayFromStr")]
507 pub set_id: i64,
508 pub width: i32,
510 pub height: i32,
512 pub emoji: String,
514 pub format: crate::enums::StickerFormat,
516 pub full_type: crate::enums::StickerFullType,
518 pub outline: Vec<crate::types::ClosedVectorPath>,
520 pub thumbnail: Option<crate::types::Thumbnail>,
522 pub sticker: crate::types::File,
524 }
525 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
527 pub struct Video {
528 pub duration: i32,
530 pub width: i32,
532 pub height: i32,
534 pub file_name: String,
536 pub mime_type: String,
538 pub has_stickers: bool,
540 pub supports_streaming: bool,
542 pub minithumbnail: Option<crate::types::Minithumbnail>,
544 pub thumbnail: Option<crate::types::Thumbnail>,
546 pub video: crate::types::File,
548 }
549 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
551 pub struct VideoNote {
552 pub duration: i32,
554 pub waveform: String,
556 pub length: i32,
558 pub minithumbnail: Option<crate::types::Minithumbnail>,
560 pub thumbnail: Option<crate::types::Thumbnail>,
562 pub speech_recognition_result: Option<crate::enums::SpeechRecognitionResult>,
564 pub video: crate::types::File,
566 }
567 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
569 pub struct VoiceNote {
570 pub duration: i32,
572 pub waveform: String,
574 pub mime_type: String,
576 pub speech_recognition_result: Option<crate::enums::SpeechRecognitionResult>,
578 pub voice: crate::types::File,
580 }
581 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
583 pub struct AnimatedEmoji {
584 pub sticker: Option<crate::types::Sticker>,
586 pub sticker_width: i32,
588 pub sticker_height: i32,
590 pub fitzpatrick_type: i32,
592 pub sound: Option<crate::types::File>,
594 }
595 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
597 pub struct Contact {
598 pub phone_number: String,
600 pub first_name: String,
602 pub last_name: String,
604 pub vcard: String,
606 pub user_id: i64,
608 }
609 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
611 pub struct Location {
612 pub latitude: f64,
614 pub longitude: f64,
616 pub horizontal_accuracy: f64,
618 }
619 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
621 pub struct Venue {
622 pub location: crate::types::Location,
624 pub title: String,
626 pub address: String,
628 pub provider: String,
630 pub id: String,
632 pub r#type: String,
634 }
635 #[serde_as]
637 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
638 pub struct Game {
639 #[serde_as(as = "DisplayFromStr")]
641 pub id: i64,
642 pub short_name: String,
644 pub title: String,
646 pub text: crate::types::FormattedText,
648 pub description: String,
650 pub photo: crate::types::Photo,
652 pub animation: Option<crate::types::Animation>,
654 }
655 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
657 pub struct WebApp {
658 pub short_name: String,
660 pub title: String,
662 pub description: String,
664 pub photo: crate::types::Photo,
666 pub animation: Option<crate::types::Animation>,
668 }
669 #[serde_as]
671 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
672 pub struct Poll {
673 #[serde_as(as = "DisplayFromStr")]
675 pub id: i64,
676 pub question: String,
678 pub options: Vec<crate::types::PollOption>,
680 pub total_voter_count: i32,
682 pub recent_voter_ids: Vec<crate::enums::MessageSender>,
684 pub is_anonymous: bool,
686 pub r#type: crate::enums::PollType,
688 pub open_period: i32,
690 pub close_date: i32,
692 pub is_closed: bool,
694 }
695 #[serde_as]
697 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
698 pub struct Background {
699 #[serde_as(as = "DisplayFromStr")]
701 pub id: i64,
702 pub is_default: bool,
704 pub is_dark: bool,
706 pub name: String,
708 pub document: Option<crate::types::Document>,
710 pub r#type: crate::enums::BackgroundType,
712 }
713 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
715 pub struct Backgrounds {
716 pub backgrounds: Vec<crate::types::Background>,
718 }
719 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
721 pub struct ChatBackground {
722 pub background: crate::types::Background,
724 pub dark_theme_dimming: i32,
726 }
727 #[serde_as]
729 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
730 pub struct ProfilePhoto {
731 #[serde_as(as = "DisplayFromStr")]
733 pub id: i64,
734 pub small: crate::types::File,
736 pub big: crate::types::File,
738 pub minithumbnail: Option<crate::types::Minithumbnail>,
740 pub has_animation: bool,
742 pub is_personal: bool,
744 }
745 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
747 pub struct ChatPhotoInfo {
748 pub small: crate::types::File,
750 pub big: crate::types::File,
752 pub minithumbnail: Option<crate::types::Minithumbnail>,
754 pub has_animation: bool,
756 pub is_personal: bool,
758 }
759 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
761 pub struct UserTypeBot {
762 pub can_be_edited: bool,
764 pub can_join_groups: bool,
766 pub can_read_all_group_messages: bool,
768 pub is_inline: bool,
770 pub inline_query_placeholder: String,
772 pub need_location: bool,
774 pub can_be_added_to_attachment_menu: bool,
776 }
777 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
779 pub struct BotCommand {
780 pub command: String,
782 pub description: String,
784 }
785 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
787 pub struct BotCommands {
788 pub bot_user_id: i64,
790 pub commands: Vec<crate::types::BotCommand>,
792 }
793 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
795 pub struct BotMenuButton {
796 pub text: String,
798 pub url: String,
800 }
801 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
803 pub struct ChatLocation {
804 pub location: crate::types::Location,
806 pub address: String,
808 }
809 #[serde_as]
811 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
812 pub struct ChatPhotoStickerTypeRegularOrMask {
813 #[serde_as(as = "DisplayFromStr")]
815 pub sticker_set_id: i64,
816 #[serde_as(as = "DisplayFromStr")]
818 pub sticker_id: i64,
819 }
820 #[serde_as]
822 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
823 pub struct ChatPhotoStickerTypeCustomEmoji {
824 #[serde_as(as = "DisplayFromStr")]
826 pub custom_emoji_id: i64,
827 }
828 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
830 pub struct ChatPhotoSticker {
831 pub r#type: crate::enums::ChatPhotoStickerType,
833 pub background_fill: crate::enums::BackgroundFill,
835 }
836 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
838 pub struct AnimatedChatPhoto {
839 pub length: i32,
841 pub file: crate::types::File,
843 pub main_frame_timestamp: f64,
845 }
846 #[serde_as]
848 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
849 pub struct ChatPhoto {
850 #[serde_as(as = "DisplayFromStr")]
852 pub id: i64,
853 pub added_date: i32,
855 pub minithumbnail: Option<crate::types::Minithumbnail>,
857 pub sizes: Vec<crate::types::PhotoSize>,
859 pub animation: Option<crate::types::AnimatedChatPhoto>,
861 pub small_animation: Option<crate::types::AnimatedChatPhoto>,
863 pub sticker: Option<crate::types::ChatPhotoSticker>,
865 }
866 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
868 pub struct ChatPhotos {
869 pub total_count: i32,
871 pub photos: Vec<crate::types::ChatPhoto>,
873 }
874 #[serde_as]
876 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
877 pub struct InputChatPhotoPrevious {
878 #[serde_as(as = "DisplayFromStr")]
880 pub chat_photo_id: i64,
881 }
882 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
884 pub struct InputChatPhotoStatic {
885 pub photo: crate::enums::InputFile,
887 }
888 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
890 pub struct InputChatPhotoAnimation {
891 pub animation: crate::enums::InputFile,
893 pub main_frame_timestamp: f64,
895 }
896 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
898 pub struct InputChatPhotoSticker {
899 pub sticker: crate::types::ChatPhotoSticker,
901 }
902 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
904 pub struct ChatPermissions {
905 pub can_send_basic_messages: bool,
907 pub can_send_audios: bool,
909 pub can_send_documents: bool,
911 pub can_send_photos: bool,
913 pub can_send_videos: bool,
915 pub can_send_video_notes: bool,
917 pub can_send_voice_notes: bool,
919 pub can_send_polls: bool,
921 pub can_send_other_messages: bool,
923 pub can_add_web_page_previews: bool,
925 pub can_change_info: bool,
927 pub can_invite_users: bool,
929 pub can_pin_messages: bool,
931 pub can_manage_topics: bool,
933 }
934 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
936 pub struct ChatAdministratorRights {
937 pub can_manage_chat: bool,
940 pub can_change_info: bool,
942 pub can_post_messages: bool,
944 pub can_edit_messages: bool,
946 pub can_delete_messages: bool,
948 pub can_invite_users: bool,
950 pub can_restrict_members: bool,
952 pub can_pin_messages: bool,
954 pub can_manage_topics: bool,
956 pub can_promote_members: bool,
958 pub can_manage_video_chats: bool,
960 pub can_post_stories: bool,
962 pub can_edit_stories: bool,
964 pub can_delete_stories: bool,
966 pub is_anonymous: bool,
968 }
969 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
971 pub struct PremiumPaymentOption {
972 pub currency: String,
974 pub amount: i64,
976 pub discount_percentage: i32,
978 pub month_count: i32,
980 pub store_product_id: String,
982 pub payment_link: Option<crate::enums::InternalLinkType>,
984 }
985 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
987 pub struct PremiumStatePaymentOption {
988 pub payment_option: crate::types::PremiumPaymentOption,
990 pub is_current: bool,
992 pub is_upgrade: bool,
994 pub last_transaction_id: String,
996 }
997 #[serde_as]
999 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1000 pub struct EmojiStatus {
1001 #[serde_as(as = "DisplayFromStr")]
1003 pub custom_emoji_id: i64,
1004 pub expiration_date: i32,
1006 }
1007 #[serde_as]
1009 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1010 pub struct EmojiStatuses {
1011 #[serde_as(as = "Vec<DisplayFromStr>")]
1013 pub custom_emoji_ids: Vec<i64>,
1014 }
1015 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1017 pub struct Usernames {
1018 pub active_usernames: Vec<String>,
1020 pub disabled_usernames: Vec<String>,
1022 pub editable_username: String,
1024 }
1025 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1027 pub struct User {
1028 pub id: i64,
1030 pub first_name: String,
1032 pub last_name: String,
1034 pub usernames: Option<crate::types::Usernames>,
1036 pub phone_number: String,
1038 pub status: crate::enums::UserStatus,
1040 pub profile_photo: Option<crate::types::ProfilePhoto>,
1042 pub emoji_status: Option<crate::types::EmojiStatus>,
1044 pub is_contact: bool,
1046 pub is_mutual_contact: bool,
1048 pub is_close_friend: bool,
1050 pub is_verified: bool,
1052 pub is_premium: bool,
1054 pub is_support: bool,
1056 pub restriction_reason: String,
1058 pub is_scam: bool,
1060 pub is_fake: bool,
1062 pub has_active_stories: bool,
1064 pub has_unread_active_stories: bool,
1066 pub have_access: bool,
1068 pub r#type: crate::enums::UserType,
1070 pub language_code: String,
1072 pub added_to_attachment_menu: bool,
1074 }
1075 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1077 pub struct BotInfo {
1078 pub short_description: String,
1080 pub description: String,
1082 pub photo: Option<crate::types::Photo>,
1084 pub animation: Option<crate::types::Animation>,
1086 pub menu_button: Option<crate::types::BotMenuButton>,
1088 pub commands: Vec<crate::types::BotCommand>,
1090 pub default_group_administrator_rights: Option<crate::types::ChatAdministratorRights>,
1092 pub default_channel_administrator_rights: Option<crate::types::ChatAdministratorRights>,
1094 pub edit_commands_link: Option<crate::enums::InternalLinkType>,
1096 pub edit_description_link: Option<crate::enums::InternalLinkType>,
1098 pub edit_description_media_link: Option<crate::enums::InternalLinkType>,
1100 pub edit_settings_link: Option<crate::enums::InternalLinkType>,
1102 }
1103 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1105 pub struct UserFullInfo {
1106 pub personal_photo: Option<crate::types::ChatPhoto>,
1109 pub photo: Option<crate::types::ChatPhoto>,
1112 pub public_photo: Option<crate::types::ChatPhoto>,
1115 pub block_list: Option<crate::enums::BlockList>,
1117 pub can_be_called: bool,
1119 pub supports_video_calls: bool,
1121 pub has_private_calls: bool,
1123 pub has_private_forwards: bool,
1125 pub has_restricted_voice_and_video_note_messages: bool,
1127 pub has_pinned_stories: bool,
1129 pub need_phone_number_privacy_exception: bool,
1131 pub bio: Option<crate::types::FormattedText>,
1133 pub premium_gift_options: Vec<crate::types::PremiumPaymentOption>,
1135 pub group_in_common_count: i32,
1137 pub bot_info: Option<crate::types::BotInfo>,
1139 }
1140 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1142 pub struct Users {
1143 pub total_count: i32,
1145 pub user_ids: Vec<i64>,
1147 }
1148 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1150 pub struct ChatAdministrator {
1151 pub user_id: i64,
1153 pub custom_title: String,
1155 pub is_owner: bool,
1157 }
1158 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1160 pub struct ChatAdministrators {
1161 pub administrators: Vec<crate::types::ChatAdministrator>,
1163 }
1164 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1166 pub struct ChatMemberStatusCreator {
1167 pub custom_title: String,
1169 pub is_anonymous: bool,
1171 pub is_member: bool,
1173 }
1174 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1177 pub struct ChatMemberStatusAdministrator {
1178 pub custom_title: String,
1180 pub can_be_edited: bool,
1182 pub rights: crate::types::ChatAdministratorRights,
1184 }
1185 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1187 pub struct ChatMemberStatusRestricted {
1188 pub is_member: bool,
1190 pub restricted_until_date: i32,
1192 pub permissions: crate::types::ChatPermissions,
1194 }
1195 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1197 pub struct ChatMemberStatusBanned {
1198 pub banned_until_date: i32,
1200 }
1201 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1203 pub struct ChatMember {
1204 pub member_id: crate::enums::MessageSender,
1206 pub inviter_user_id: i64,
1208 pub joined_chat_date: i32,
1210 pub status: crate::enums::ChatMemberStatus,
1212 }
1213 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1215 pub struct ChatMembers {
1216 pub total_count: i32,
1218 pub members: Vec<crate::types::ChatMember>,
1220 }
1221 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1223 pub struct ChatMembersFilterMention {
1224 pub message_thread_id: i64,
1226 }
1227 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1229 pub struct SupergroupMembersFilterContacts {
1230 pub query: String,
1232 }
1233 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1235 pub struct SupergroupMembersFilterSearch {
1236 pub query: String,
1238 }
1239 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1241 pub struct SupergroupMembersFilterRestricted {
1242 pub query: String,
1244 }
1245 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1247 pub struct SupergroupMembersFilterBanned {
1248 pub query: String,
1250 }
1251 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1253 pub struct SupergroupMembersFilterMention {
1254 pub query: String,
1256 pub message_thread_id: i64,
1258 }
1259 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1261 pub struct ChatInviteLink {
1262 pub invite_link: String,
1264 pub name: String,
1266 pub creator_user_id: i64,
1268 pub date: i32,
1270 pub edit_date: i32,
1272 pub expiration_date: i32,
1274 pub member_limit: i32,
1276 pub member_count: i32,
1278 pub pending_join_request_count: i32,
1280 pub creates_join_request: bool,
1282 pub is_primary: bool,
1284 pub is_revoked: bool,
1286 }
1287 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1289 pub struct ChatInviteLinks {
1290 pub total_count: i32,
1292 pub invite_links: Vec<crate::types::ChatInviteLink>,
1294 }
1295 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1297 pub struct ChatInviteLinkCount {
1298 pub user_id: i64,
1300 pub invite_link_count: i32,
1302 pub revoked_invite_link_count: i32,
1304 }
1305 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1307 pub struct ChatInviteLinkCounts {
1308 pub invite_link_counts: Vec<crate::types::ChatInviteLinkCount>,
1310 }
1311 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1313 pub struct ChatInviteLinkMember {
1314 pub user_id: i64,
1316 pub joined_chat_date: i32,
1318 pub via_chat_folder_invite_link: bool,
1320 pub approver_user_id: i64,
1322 }
1323 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1325 pub struct ChatInviteLinkMembers {
1326 pub total_count: i32,
1328 pub members: Vec<crate::types::ChatInviteLinkMember>,
1330 }
1331 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1333 pub struct ChatInviteLinkInfo {
1334 pub chat_id: i64,
1336 pub accessible_for: i32,
1338 pub r#type: crate::enums::InviteLinkChatType,
1340 pub title: String,
1342 pub photo: Option<crate::types::ChatPhotoInfo>,
1344 pub description: String,
1346 pub member_count: i32,
1348 pub member_user_ids: Vec<i64>,
1350 pub creates_join_request: bool,
1352 pub is_public: bool,
1354 pub is_verified: bool,
1356 pub is_scam: bool,
1358 pub is_fake: bool,
1360 }
1361 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1363 pub struct ChatJoinRequest {
1364 pub user_id: i64,
1366 pub date: i32,
1368 pub bio: String,
1370 }
1371 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1373 pub struct ChatJoinRequests {
1374 pub total_count: i32,
1376 pub requests: Vec<crate::types::ChatJoinRequest>,
1378 }
1379 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1381 pub struct ChatJoinRequestsInfo {
1382 pub total_count: i32,
1384 pub user_ids: Vec<i64>,
1386 }
1387 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1389 pub struct BasicGroup {
1390 pub id: i64,
1392 pub member_count: i32,
1394 pub status: crate::enums::ChatMemberStatus,
1396 pub is_active: bool,
1398 pub upgraded_to_supergroup_id: i64,
1400 }
1401 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1403 pub struct BasicGroupFullInfo {
1404 pub photo: Option<crate::types::ChatPhoto>,
1406 pub description: String,
1408 pub creator_user_id: i64,
1410 pub members: Vec<crate::types::ChatMember>,
1412 pub can_hide_members: bool,
1414 pub can_toggle_aggressive_anti_spam: bool,
1416 pub invite_link: Option<crate::types::ChatInviteLink>,
1418 pub bot_commands: Vec<crate::types::BotCommands>,
1420 }
1421 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1425 pub struct Supergroup {
1426 pub id: i64,
1428 pub usernames: Option<crate::types::Usernames>,
1430 pub date: i32,
1432 pub status: crate::enums::ChatMemberStatus,
1434 pub member_count: i32,
1437 pub has_linked_chat: bool,
1439 pub has_location: bool,
1441 pub sign_messages: bool,
1443 pub join_to_send_messages: bool,
1445 pub join_by_request: bool,
1447 pub is_slow_mode_enabled: bool,
1449 pub is_channel: bool,
1451 pub is_broadcast_group: bool,
1453 pub is_forum: bool,
1455 pub is_verified: bool,
1457 pub restriction_reason: String,
1459 pub is_scam: bool,
1461 pub is_fake: bool,
1463 pub has_active_stories: bool,
1465 pub has_unread_active_stories: bool,
1467 }
1468 #[serde_as]
1470 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1471 pub struct SupergroupFullInfo {
1472 pub photo: Option<crate::types::ChatPhoto>,
1474 pub description: String,
1476 pub member_count: i32,
1478 pub administrator_count: i32,
1480 pub restricted_count: i32,
1482 pub banned_count: i32,
1484 pub linked_chat_id: i64,
1486 pub slow_mode_delay: i32,
1488 pub slow_mode_delay_expires_in: f64,
1490 pub can_get_members: bool,
1492 pub has_hidden_members: bool,
1494 pub can_hide_members: bool,
1496 pub can_set_sticker_set: bool,
1498 pub can_set_location: bool,
1500 pub can_get_statistics: bool,
1502 pub can_toggle_aggressive_anti_spam: bool,
1504 pub is_all_history_available: bool,
1507 pub has_aggressive_anti_spam_enabled: bool,
1509 pub has_pinned_stories: bool,
1511 #[serde_as(as = "DisplayFromStr")]
1513 pub sticker_set_id: i64,
1514 pub location: Option<crate::types::ChatLocation>,
1516 pub invite_link: Option<crate::types::ChatInviteLink>,
1518 pub bot_commands: Vec<crate::types::BotCommands>,
1520 pub upgraded_from_basic_group_id: i64,
1522 pub upgraded_from_max_message_id: i64,
1524 }
1525 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1527 pub struct SecretChat {
1528 pub id: i32,
1530 pub user_id: i64,
1532 pub state: crate::enums::SecretChatState,
1534 pub is_outbound: bool,
1536 pub key_hash: String,
1539 pub layer: i32,
1542 }
1543 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1545 pub struct MessageSenderUser {
1546 pub user_id: i64,
1548 }
1549 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1551 pub struct MessageSenderChat {
1552 pub chat_id: i64,
1554 }
1555 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1557 pub struct MessageSenders {
1558 pub total_count: i32,
1560 pub senders: Vec<crate::enums::MessageSender>,
1562 }
1563 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1565 pub struct ChatMessageSender {
1566 pub sender: crate::enums::MessageSender,
1568 pub needs_premium: bool,
1570 }
1571 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1573 pub struct ChatMessageSenders {
1574 pub senders: Vec<crate::types::ChatMessageSender>,
1576 }
1577 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1579 pub struct MessageViewer {
1580 pub user_id: i64,
1582 pub view_date: i32,
1584 }
1585 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1587 pub struct MessageViewers {
1588 pub viewers: Vec<crate::types::MessageViewer>,
1590 }
1591 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1593 pub struct MessageForwardOriginUser {
1594 pub sender_user_id: i64,
1596 }
1597 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1599 pub struct MessageForwardOriginChat {
1600 pub sender_chat_id: i64,
1602 pub author_signature: String,
1604 }
1605 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1607 pub struct MessageForwardOriginHiddenUser {
1608 pub sender_name: String,
1610 }
1611 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1613 pub struct MessageForwardOriginChannel {
1614 pub chat_id: i64,
1616 pub message_id: i64,
1618 pub author_signature: String,
1620 }
1621 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1623 pub struct MessageForwardOriginMessageImport {
1624 pub sender_name: String,
1626 }
1627 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1629 pub struct ReactionTypeEmoji {
1630 pub emoji: String,
1632 }
1633 #[serde_as]
1635 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1636 pub struct ReactionTypeCustomEmoji {
1637 #[serde_as(as = "DisplayFromStr")]
1639 pub custom_emoji_id: i64,
1640 }
1641 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1643 pub struct MessageForwardInfo {
1644 pub origin: crate::enums::MessageForwardOrigin,
1646 pub date: i32,
1648 pub public_service_announcement_type: String,
1650 pub from_chat_id: i64,
1652 pub from_message_id: i64,
1654 }
1655 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1657 pub struct MessageReplyInfo {
1658 pub reply_count: i32,
1660 pub recent_replier_ids: Vec<crate::enums::MessageSender>,
1662 pub last_read_inbox_message_id: i64,
1664 pub last_read_outbox_message_id: i64,
1666 pub last_message_id: i64,
1668 }
1669 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1671 pub struct MessageReaction {
1672 pub r#type: crate::enums::ReactionType,
1674 pub total_count: i32,
1676 pub is_chosen: bool,
1678 pub recent_sender_ids: Vec<crate::enums::MessageSender>,
1680 }
1681 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1683 pub struct MessageInteractionInfo {
1684 pub view_count: i32,
1686 pub forward_count: i32,
1688 pub reply_info: Option<crate::types::MessageReplyInfo>,
1690 pub reactions: Vec<crate::types::MessageReaction>,
1692 }
1693 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1695 pub struct UnreadReaction {
1696 pub r#type: crate::enums::ReactionType,
1698 pub sender_id: crate::enums::MessageSender,
1700 pub is_big: bool,
1702 }
1703 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1705 pub struct MessageSendingStatePending {
1706 pub sending_id: i32,
1708 }
1709 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1711 pub struct MessageSendingStateFailed {
1712 pub error: crate::types::Error,
1714 pub can_retry: bool,
1716 pub need_another_sender: bool,
1718 pub retry_after: f64,
1720 }
1721 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1723 pub struct MessageReplyToMessage {
1724 pub chat_id: i64,
1726 pub message_id: i64,
1728 }
1729 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1731 pub struct MessageReplyToStory {
1732 pub story_sender_chat_id: i64,
1734 pub story_id: i32,
1736 }
1737 #[serde_as]
1739 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1740 pub struct Message {
1741 pub id: i64,
1743 pub sender_id: crate::enums::MessageSender,
1745 pub chat_id: i64,
1747 pub sending_state: Option<crate::enums::MessageSendingState>,
1749 pub scheduling_state: Option<crate::enums::MessageSchedulingState>,
1751 pub is_outgoing: bool,
1753 pub is_pinned: bool,
1755 pub can_be_edited: bool,
1757 pub can_be_forwarded: bool,
1759 pub can_be_saved: bool,
1761 pub can_be_deleted_only_for_self: bool,
1763 pub can_be_deleted_for_all_users: bool,
1765 pub can_get_added_reactions: bool,
1767 pub can_get_statistics: bool,
1769 pub can_get_message_thread: bool,
1771 pub can_get_viewers: bool,
1773 pub can_get_media_timestamp_links: bool,
1775 pub can_report_reactions: bool,
1777 pub has_timestamped_media: bool,
1779 pub is_channel_post: bool,
1781 pub is_topic_message: bool,
1783 pub contains_unread_mention: bool,
1785 pub date: i32,
1787 pub edit_date: i32,
1789 pub forward_info: Option<crate::types::MessageForwardInfo>,
1791 pub interaction_info: Option<crate::types::MessageInteractionInfo>,
1793 pub unread_reactions: Vec<crate::types::UnreadReaction>,
1795 pub reply_to: Option<crate::enums::MessageReplyTo>,
1797 pub message_thread_id: i64,
1799 pub self_destruct_type: Option<crate::enums::MessageSelfDestructType>,
1801 pub self_destruct_in: f64,
1803 pub auto_delete_in: f64,
1805 pub via_bot_user_id: i64,
1807 pub author_signature: String,
1809 #[serde_as(as = "DisplayFromStr")]
1811 pub media_album_id: i64,
1812 pub restriction_reason: String,
1814 pub content: crate::enums::MessageContent,
1816 pub reply_markup: Option<crate::enums::ReplyMarkup>,
1818 }
1819 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1821 pub struct Messages {
1822 pub total_count: i32,
1824 pub messages: Vec<Option<crate::types::Message>>,
1826 }
1827 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1829 pub struct FoundMessages {
1830 pub total_count: i32,
1832 pub messages: Vec<crate::types::Message>,
1834 pub next_offset: String,
1836 }
1837 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1839 pub struct FoundChatMessages {
1840 pub total_count: i32,
1842 pub messages: Vec<crate::types::Message>,
1844 pub next_from_message_id: i64,
1846 }
1847 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1849 pub struct MessagePosition {
1850 pub position: i32,
1852 pub message_id: i64,
1854 pub date: i32,
1856 }
1857 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1859 pub struct MessagePositions {
1860 pub total_count: i32,
1862 pub positions: Vec<crate::types::MessagePosition>,
1864 }
1865 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1867 pub struct MessageCalendarDay {
1868 pub total_count: i32,
1870 pub message: crate::types::Message,
1872 }
1873 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1875 pub struct MessageCalendar {
1876 pub total_count: i32,
1878 pub days: Vec<crate::types::MessageCalendarDay>,
1880 }
1881 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1883 pub struct MessageSponsorTypeBot {
1884 pub bot_user_id: i64,
1886 pub link: crate::enums::InternalLinkType,
1888 }
1889 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1891 pub struct MessageSponsorTypePublicChannel {
1892 pub chat_id: i64,
1894 pub link: Option<crate::enums::InternalLinkType>,
1896 }
1897 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1899 pub struct MessageSponsorTypePrivateChannel {
1900 pub title: String,
1902 pub invite_link: String,
1904 }
1905 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1907 pub struct MessageSponsorTypeWebsite {
1908 pub url: String,
1910 pub name: String,
1912 }
1913 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1915 pub struct MessageSponsor {
1916 pub r#type: crate::enums::MessageSponsorType,
1918 pub photo: Option<crate::types::ChatPhotoInfo>,
1920 pub info: String,
1922 }
1923 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1925 pub struct SponsoredMessage {
1926 pub message_id: i64,
1928 pub is_recommended: bool,
1930 pub content: crate::enums::MessageContent,
1932 pub sponsor: crate::types::MessageSponsor,
1934 pub additional_info: String,
1936 }
1937 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1939 pub struct SponsoredMessages {
1940 pub messages: Vec<crate::types::SponsoredMessage>,
1942 pub messages_between: i32,
1944 }
1945 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
1947 pub struct FileDownload {
1948 pub file_id: i32,
1950 pub message: crate::types::Message,
1952 pub add_date: i32,
1954 pub complete_date: i32,
1956 pub is_paused: bool,
1958 }
1959 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1961 pub struct DownloadedFileCounts {
1962 pub active_count: i32,
1964 pub paused_count: i32,
1966 pub completed_count: i32,
1968 }
1969 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1971 pub struct FoundFileDownloads {
1972 pub total_counts: crate::types::DownloadedFileCounts,
1974 pub files: Vec<crate::types::FileDownload>,
1976 pub next_offset: String,
1978 }
1979 #[serde_as]
1981 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
1982 pub struct ChatNotificationSettings {
1983 pub use_default_mute_for: bool,
1985 pub mute_for: i32,
1987 pub use_default_sound: bool,
1989 #[serde_as(as = "DisplayFromStr")]
1991 pub sound_id: i64,
1992 pub use_default_show_preview: bool,
1994 pub show_preview: bool,
1996 pub use_default_mute_stories: bool,
1998 pub mute_stories: bool,
2000 pub use_default_story_sound: bool,
2002 #[serde_as(as = "DisplayFromStr")]
2004 pub story_sound_id: i64,
2005 pub use_default_show_story_sender: bool,
2007 pub show_story_sender: bool,
2009 pub use_default_disable_pinned_message_notifications: bool,
2011 pub disable_pinned_message_notifications: bool,
2013 pub use_default_disable_mention_notifications: bool,
2015 pub disable_mention_notifications: bool,
2017 }
2018 #[serde_as]
2020 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2021 pub struct ScopeNotificationSettings {
2022 pub mute_for: i32,
2024 #[serde_as(as = "DisplayFromStr")]
2026 pub sound_id: i64,
2027 pub show_preview: bool,
2029 pub use_default_mute_stories: bool,
2031 pub mute_stories: bool,
2033 #[serde_as(as = "DisplayFromStr")]
2035 pub story_sound_id: i64,
2036 pub show_story_sender: bool,
2038 pub disable_pinned_message_notifications: bool,
2040 pub disable_mention_notifications: bool,
2042 }
2043 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2045 pub struct DraftMessage {
2046 pub reply_to_message_id: i64,
2048 pub date: i32,
2050 pub input_message_text: crate::enums::InputMessageContent,
2052 }
2053 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2055 pub struct ChatTypePrivate {
2056 pub user_id: i64,
2058 }
2059 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2061 pub struct ChatTypeBasicGroup {
2062 pub basic_group_id: i64,
2064 }
2065 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2067 pub struct ChatTypeSupergroup {
2068 pub supergroup_id: i64,
2070 pub is_channel: bool,
2072 }
2073 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2075 pub struct ChatTypeSecret {
2076 pub secret_chat_id: i32,
2078 pub user_id: i64,
2080 }
2081 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2083 pub struct ChatFolderIcon {
2084 pub name: String,
2087 }
2088 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2090 pub struct ChatFolder {
2091 pub title: String,
2093 pub icon: Option<crate::types::ChatFolderIcon>,
2095 pub is_shareable: bool,
2097 pub pinned_chat_ids: Vec<i64>,
2099 pub included_chat_ids: Vec<i64>,
2101 pub excluded_chat_ids: Vec<i64>,
2103 pub exclude_muted: bool,
2105 pub exclude_read: bool,
2107 pub exclude_archived: bool,
2109 pub include_contacts: bool,
2111 pub include_non_contacts: bool,
2113 pub include_bots: bool,
2115 pub include_groups: bool,
2117 pub include_channels: bool,
2119 }
2120 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2122 pub struct ChatFolderInfo {
2123 pub id: i32,
2125 pub title: String,
2127 pub icon: crate::types::ChatFolderIcon,
2129 pub is_shareable: bool,
2131 pub has_my_invite_links: bool,
2133 }
2134 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2136 pub struct ChatFolderInviteLink {
2137 pub invite_link: String,
2139 pub name: String,
2141 pub chat_ids: Vec<i64>,
2143 }
2144 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2146 pub struct ChatFolderInviteLinks {
2147 pub invite_links: Vec<crate::types::ChatFolderInviteLink>,
2149 }
2150 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2152 pub struct ChatFolderInviteLinkInfo {
2153 pub chat_folder_info: crate::types::ChatFolderInfo,
2155 pub missing_chat_ids: Vec<i64>,
2157 pub added_chat_ids: Vec<i64>,
2159 }
2160 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2162 pub struct RecommendedChatFolder {
2163 pub folder: crate::types::ChatFolder,
2165 pub description: String,
2167 }
2168 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2170 pub struct RecommendedChatFolders {
2171 pub chat_folders: Vec<crate::types::RecommendedChatFolder>,
2173 }
2174 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2176 pub struct ArchiveChatListSettings {
2177 pub archive_and_mute_new_chats_from_unknown_users: bool,
2179 pub keep_unmuted_chats_archived: bool,
2181 pub keep_chats_from_folders_archived: bool,
2183 }
2184 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2186 pub struct ChatListFolder {
2187 pub chat_folder_id: i32,
2189 }
2190 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2192 pub struct ChatLists {
2193 pub chat_lists: Vec<crate::enums::ChatList>,
2195 }
2196 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2198 pub struct ChatSourcePublicServiceAnnouncement {
2199 pub r#type: String,
2201 pub text: String,
2203 }
2204 #[serde_as]
2206 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2207 pub struct ChatPosition {
2208 pub list: crate::enums::ChatList,
2210 #[serde_as(as = "DisplayFromStr")]
2212 pub order: i64,
2213 pub is_pinned: bool,
2215 pub source: Option<crate::enums::ChatSource>,
2217 }
2218 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2220 pub struct ChatAvailableReactionsSome {
2221 pub reactions: Vec<crate::enums::ReactionType>,
2223 }
2224 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2226 pub struct VideoChat {
2227 pub group_call_id: i32,
2229 pub has_participants: bool,
2231 pub default_participant_id: Option<crate::enums::MessageSender>,
2233 }
2234 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2236 pub struct Chat {
2237 pub id: i64,
2239 pub r#type: crate::enums::ChatType,
2241 pub title: String,
2243 pub photo: Option<crate::types::ChatPhotoInfo>,
2245 pub permissions: crate::types::ChatPermissions,
2247 pub last_message: Option<crate::types::Message>,
2249 pub positions: Vec<crate::types::ChatPosition>,
2251 pub message_sender_id: Option<crate::enums::MessageSender>,
2253 pub block_list: Option<crate::enums::BlockList>,
2255 pub has_protected_content: bool,
2257 pub is_translatable: bool,
2259 pub is_marked_as_unread: bool,
2261 pub has_scheduled_messages: bool,
2263 pub can_be_deleted_only_for_self: bool,
2265 pub can_be_deleted_for_all_users: bool,
2267 pub can_be_reported: bool,
2269 pub default_disable_notification: bool,
2271 pub unread_count: i32,
2273 pub last_read_inbox_message_id: i64,
2275 pub last_read_outbox_message_id: i64,
2277 pub unread_mention_count: i32,
2279 pub unread_reaction_count: i32,
2281 pub notification_settings: crate::types::ChatNotificationSettings,
2283 pub available_reactions: crate::enums::ChatAvailableReactions,
2285 pub message_auto_delete_time: i32,
2287 pub background: Option<crate::types::ChatBackground>,
2289 pub theme_name: String,
2291 pub action_bar: Option<crate::enums::ChatActionBar>,
2293 pub video_chat: crate::types::VideoChat,
2295 pub pending_join_requests: Option<crate::types::ChatJoinRequestsInfo>,
2297 pub reply_markup_message_id: i64,
2299 pub draft_message: Option<crate::types::DraftMessage>,
2301 pub client_data: String,
2303 }
2304 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2306 pub struct Chats {
2307 pub total_count: i32,
2309 pub chat_ids: Vec<i64>,
2311 }
2312 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2314 pub struct ChatNearby {
2315 pub chat_id: i64,
2317 pub distance: i32,
2319 }
2320 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2322 pub struct ChatsNearby {
2323 pub users_nearby: Vec<crate::types::ChatNearby>,
2325 pub supergroups_nearby: Vec<crate::types::ChatNearby>,
2327 }
2328 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2330 pub struct ChatActionBarReportSpam {
2331 pub can_unarchive: bool,
2333 }
2334 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2337 pub struct ChatActionBarReportAddBlock {
2338 pub can_unarchive: bool,
2340 pub distance: i32,
2342 }
2343 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2345 pub struct ChatActionBarJoinRequest {
2346 pub title: String,
2348 pub is_channel: bool,
2350 pub request_date: i32,
2352 }
2353 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2355 pub struct KeyboardButtonTypeRequestPoll {
2356 pub force_regular: bool,
2358 pub force_quiz: bool,
2360 }
2361 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2363 pub struct KeyboardButtonTypeRequestUser {
2364 pub id: i32,
2366 pub restrict_user_is_bot: bool,
2368 pub user_is_bot: bool,
2370 pub restrict_user_is_premium: bool,
2372 pub user_is_premium: bool,
2374 }
2375 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2377 pub struct KeyboardButtonTypeRequestChat {
2378 pub id: i32,
2380 pub chat_is_channel: bool,
2382 pub restrict_chat_is_forum: bool,
2384 pub chat_is_forum: bool,
2386 pub restrict_chat_has_username: bool,
2388 pub chat_has_username: bool,
2390 pub chat_is_created: bool,
2392 pub user_administrator_rights: Option<crate::types::ChatAdministratorRights>,
2394 pub bot_administrator_rights: Option<crate::types::ChatAdministratorRights>,
2396 pub bot_is_member: bool,
2398 }
2399 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2401 pub struct KeyboardButtonTypeWebApp {
2402 pub url: String,
2404 }
2405 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2407 pub struct KeyboardButton {
2408 pub text: String,
2410 pub r#type: crate::enums::KeyboardButtonType,
2412 }
2413 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2415 pub struct InlineKeyboardButtonTypeUrl {
2416 pub url: String,
2418 }
2419 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2421 pub struct InlineKeyboardButtonTypeLoginUrl {
2422 pub url: String,
2424 pub id: i64,
2426 pub forward_text: String,
2428 }
2429 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2431 pub struct InlineKeyboardButtonTypeWebApp {
2432 pub url: String,
2434 }
2435 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2437 pub struct InlineKeyboardButtonTypeCallback {
2438 pub data: String,
2440 }
2441 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2443 pub struct InlineKeyboardButtonTypeCallbackWithPassword {
2444 pub data: String,
2446 }
2447 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2449 pub struct InlineKeyboardButtonTypeSwitchInline {
2450 pub query: String,
2452 pub target_chat: crate::enums::TargetChat,
2454 }
2455 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2457 pub struct InlineKeyboardButtonTypeUser {
2458 pub user_id: i64,
2460 }
2461 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2463 pub struct InlineKeyboardButton {
2464 pub text: String,
2466 pub r#type: crate::enums::InlineKeyboardButtonType,
2468 }
2469 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2471 pub struct ReplyMarkupRemoveKeyboard {
2472 pub is_personal: bool,
2474 }
2475 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2477 pub struct ReplyMarkupForceReply {
2478 pub is_personal: bool,
2480 pub input_field_placeholder: String,
2482 }
2483 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2485 pub struct ReplyMarkupShowKeyboard {
2486 pub rows: Vec<Vec<crate::types::KeyboardButton>>,
2488 pub is_persistent: bool,
2490 pub resize_keyboard: bool,
2492 pub one_time: bool,
2494 pub is_personal: bool,
2496 pub input_field_placeholder: String,
2498 }
2499 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2501 pub struct ReplyMarkupInlineKeyboard {
2502 pub rows: Vec<Vec<crate::types::InlineKeyboardButton>>,
2504 }
2505 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2507 pub struct LoginUrlInfoOpen {
2508 pub url: String,
2510 pub skip_confirmation: bool,
2512 }
2513 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2515 pub struct LoginUrlInfoRequestConfirmation {
2516 pub url: String,
2518 pub domain: String,
2520 pub bot_user_id: i64,
2522 pub request_write_access: bool,
2524 }
2525 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2527 pub struct FoundWebApp {
2528 pub web_app: crate::types::WebApp,
2530 pub supports_settings: bool,
2532 pub request_write_access: bool,
2534 pub skip_confirmation: bool,
2536 }
2537 #[serde_as]
2539 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2540 pub struct WebAppInfo {
2541 #[serde_as(as = "DisplayFromStr")]
2543 pub launch_id: i64,
2544 pub url: String,
2546 }
2547 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2549 pub struct MessageThreadInfo {
2550 pub chat_id: i64,
2552 pub message_thread_id: i64,
2554 pub reply_info: Option<crate::types::MessageReplyInfo>,
2556 pub unread_message_count: i32,
2558 pub messages: Vec<crate::types::Message>,
2560 pub draft_message: Option<crate::types::DraftMessage>,
2562 }
2563 #[serde_as]
2565 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2566 pub struct ForumTopicIcon {
2567 pub color: i32,
2569 #[serde_as(as = "DisplayFromStr")]
2571 pub custom_emoji_id: i64,
2572 }
2573 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2575 pub struct ForumTopicInfo {
2576 pub message_thread_id: i64,
2578 pub name: String,
2580 pub icon: crate::types::ForumTopicIcon,
2582 pub creation_date: i32,
2584 pub creator_id: crate::enums::MessageSender,
2586 pub is_general: bool,
2588 pub is_outgoing: bool,
2590 pub is_closed: bool,
2592 pub is_hidden: bool,
2594 }
2595 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2597 pub struct ForumTopic {
2598 pub info: crate::types::ForumTopicInfo,
2600 pub last_message: Option<crate::types::Message>,
2602 pub is_pinned: bool,
2604 pub unread_count: i32,
2606 pub last_read_inbox_message_id: i64,
2608 pub last_read_outbox_message_id: i64,
2610 pub unread_mention_count: i32,
2612 pub unread_reaction_count: i32,
2614 pub notification_settings: crate::types::ChatNotificationSettings,
2616 pub draft_message: Option<crate::types::DraftMessage>,
2618 }
2619 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2621 pub struct ForumTopics {
2622 pub total_count: i32,
2624 pub topics: Vec<crate::types::ForumTopic>,
2626 pub next_offset_date: i32,
2628 pub next_offset_message_id: i64,
2630 pub next_offset_message_thread_id: i64,
2632 }
2633 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2635 pub struct RichTextPlain {
2636 pub text: String,
2638 }
2639 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2641 pub struct RichTextBold {
2642 pub text: crate::enums::RichText,
2644 }
2645 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2647 pub struct RichTextItalic {
2648 pub text: crate::enums::RichText,
2650 }
2651 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2653 pub struct RichTextUnderline {
2654 pub text: crate::enums::RichText,
2656 }
2657 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2659 pub struct RichTextStrikethrough {
2660 pub text: crate::enums::RichText,
2662 }
2663 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2665 pub struct RichTextFixed {
2666 pub text: crate::enums::RichText,
2668 }
2669 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2671 pub struct RichTextUrl {
2672 pub text: crate::enums::RichText,
2674 pub url: String,
2676 pub is_cached: bool,
2678 }
2679 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2681 pub struct RichTextEmailAddress {
2682 pub text: crate::enums::RichText,
2684 pub email_address: String,
2686 }
2687 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2689 pub struct RichTextSubscript {
2690 pub text: crate::enums::RichText,
2692 }
2693 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2695 pub struct RichTextSuperscript {
2696 pub text: crate::enums::RichText,
2698 }
2699 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2701 pub struct RichTextMarked {
2702 pub text: crate::enums::RichText,
2704 }
2705 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2707 pub struct RichTextPhoneNumber {
2708 pub text: crate::enums::RichText,
2710 pub phone_number: String,
2712 }
2713 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2715 pub struct RichTextIcon {
2716 pub document: crate::types::Document,
2718 pub width: i32,
2720 pub height: i32,
2722 }
2723 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2725 pub struct RichTextReference {
2726 pub text: crate::enums::RichText,
2728 pub anchor_name: String,
2730 pub url: String,
2732 }
2733 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2735 pub struct RichTextAnchor {
2736 pub name: String,
2738 }
2739 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2741 pub struct RichTextAnchorLink {
2742 pub text: crate::enums::RichText,
2744 pub anchor_name: String,
2746 pub url: String,
2748 }
2749 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2751 pub struct RichTexts {
2752 pub texts: Vec<crate::enums::RichText>,
2754 }
2755 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2757 pub struct PageBlockCaption {
2758 pub text: crate::enums::RichText,
2760 pub credit: crate::enums::RichText,
2762 }
2763 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2765 pub struct PageBlockListItem {
2766 pub label: String,
2768 pub page_blocks: Vec<crate::enums::PageBlock>,
2770 }
2771 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2773 pub struct PageBlockTableCell {
2774 pub text: Option<crate::enums::RichText>,
2776 pub is_header: bool,
2778 pub colspan: i32,
2780 pub rowspan: i32,
2782 pub align: crate::enums::PageBlockHorizontalAlignment,
2784 pub valign: crate::enums::PageBlockVerticalAlignment,
2786 }
2787 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2789 pub struct PageBlockRelatedArticle {
2790 pub url: String,
2792 pub title: String,
2794 pub description: String,
2796 pub photo: Option<crate::types::Photo>,
2798 pub author: String,
2800 pub publish_date: i32,
2802 }
2803 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2805 pub struct PageBlockTitle {
2806 pub title: crate::enums::RichText,
2808 }
2809 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2811 pub struct PageBlockSubtitle {
2812 pub subtitle: crate::enums::RichText,
2814 }
2815 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2817 pub struct PageBlockAuthorDate {
2818 pub author: crate::enums::RichText,
2820 pub publish_date: i32,
2822 }
2823 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2825 pub struct PageBlockHeader {
2826 pub header: crate::enums::RichText,
2828 }
2829 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2831 pub struct PageBlockSubheader {
2832 pub subheader: crate::enums::RichText,
2834 }
2835 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2837 pub struct PageBlockKicker {
2838 pub kicker: crate::enums::RichText,
2840 }
2841 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2843 pub struct PageBlockParagraph {
2844 pub text: crate::enums::RichText,
2846 }
2847 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2849 pub struct PageBlockPreformatted {
2850 pub text: crate::enums::RichText,
2852 pub language: String,
2854 }
2855 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2857 pub struct PageBlockFooter {
2858 pub footer: crate::enums::RichText,
2860 }
2861 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2863 pub struct PageBlockAnchor {
2864 pub name: String,
2866 }
2867 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2869 pub struct PageBlockList {
2870 pub items: Vec<crate::types::PageBlockListItem>,
2872 }
2873 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2875 pub struct PageBlockBlockQuote {
2876 pub text: crate::enums::RichText,
2878 pub credit: crate::enums::RichText,
2880 }
2881 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2883 pub struct PageBlockPullQuote {
2884 pub text: crate::enums::RichText,
2886 pub credit: crate::enums::RichText,
2888 }
2889 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2891 pub struct PageBlockAnimation {
2892 pub animation: Option<crate::types::Animation>,
2894 pub caption: crate::types::PageBlockCaption,
2896 pub need_autoplay: bool,
2898 }
2899 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2901 pub struct PageBlockAudio {
2902 pub audio: Option<crate::types::Audio>,
2904 pub caption: crate::types::PageBlockCaption,
2906 }
2907 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2909 pub struct PageBlockPhoto {
2910 pub photo: Option<crate::types::Photo>,
2912 pub caption: crate::types::PageBlockCaption,
2914 pub url: String,
2916 }
2917 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2919 pub struct PageBlockVideo {
2920 pub video: Option<crate::types::Video>,
2922 pub caption: crate::types::PageBlockCaption,
2924 pub need_autoplay: bool,
2926 pub is_looped: bool,
2928 }
2929 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2931 pub struct PageBlockVoiceNote {
2932 pub voice_note: Option<crate::types::VoiceNote>,
2934 pub caption: crate::types::PageBlockCaption,
2936 }
2937 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2939 pub struct PageBlockCover {
2940 pub cover: crate::enums::PageBlock,
2942 }
2943 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2945 pub struct PageBlockEmbedded {
2946 pub url: String,
2948 pub html: String,
2950 pub poster_photo: Option<crate::types::Photo>,
2952 pub width: i32,
2954 pub height: i32,
2956 pub caption: crate::types::PageBlockCaption,
2958 pub is_full_width: bool,
2960 pub allow_scrolling: bool,
2962 }
2963 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2965 pub struct PageBlockEmbeddedPost {
2966 pub url: String,
2968 pub author: String,
2970 pub author_photo: Option<crate::types::Photo>,
2972 pub date: i32,
2974 pub page_blocks: Vec<crate::enums::PageBlock>,
2976 pub caption: crate::types::PageBlockCaption,
2978 }
2979 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2981 pub struct PageBlockCollage {
2982 pub page_blocks: Vec<crate::enums::PageBlock>,
2984 pub caption: crate::types::PageBlockCaption,
2986 }
2987 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2989 pub struct PageBlockSlideshow {
2990 pub page_blocks: Vec<crate::enums::PageBlock>,
2992 pub caption: crate::types::PageBlockCaption,
2994 }
2995 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
2997 pub struct PageBlockChatLink {
2998 pub title: String,
3000 pub photo: Option<crate::types::ChatPhotoInfo>,
3002 pub username: String,
3004 }
3005 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3007 pub struct PageBlockTable {
3008 pub caption: crate::enums::RichText,
3010 pub cells: Vec<Vec<crate::types::PageBlockTableCell>>,
3012 pub is_bordered: bool,
3014 pub is_striped: bool,
3016 }
3017 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3019 pub struct PageBlockDetails {
3020 pub header: crate::enums::RichText,
3022 pub page_blocks: Vec<crate::enums::PageBlock>,
3024 pub is_open: bool,
3026 }
3027 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3029 pub struct PageBlockRelatedArticles {
3030 pub header: crate::enums::RichText,
3032 pub articles: Vec<crate::types::PageBlockRelatedArticle>,
3034 }
3035 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3037 pub struct PageBlockMap {
3038 pub location: crate::types::Location,
3040 pub zoom: i32,
3042 pub width: i32,
3044 pub height: i32,
3046 pub caption: crate::types::PageBlockCaption,
3048 }
3049 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3051 pub struct WebPageInstantView {
3052 pub page_blocks: Vec<crate::enums::PageBlock>,
3054 pub view_count: i32,
3056 pub version: i32,
3058 pub is_rtl: bool,
3060 pub is_full: bool,
3062 pub feedback_link: crate::enums::InternalLinkType,
3064 }
3065 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3067 pub struct WebPage {
3068 pub url: String,
3070 pub display_url: String,
3072 pub r#type: String,
3074 pub site_name: String,
3076 pub title: String,
3078 pub description: crate::types::FormattedText,
3080 pub photo: Option<crate::types::Photo>,
3082 pub embed_url: String,
3084 pub embed_type: String,
3086 pub embed_width: i32,
3088 pub embed_height: i32,
3090 pub duration: i32,
3092 pub author: String,
3094 pub animation: Option<crate::types::Animation>,
3096 pub audio: Option<crate::types::Audio>,
3098 pub document: Option<crate::types::Document>,
3100 pub sticker: Option<crate::types::Sticker>,
3102 pub video: Option<crate::types::Video>,
3104 pub video_note: Option<crate::types::VideoNote>,
3106 pub voice_note: Option<crate::types::VoiceNote>,
3108 pub story_sender_chat_id: i64,
3110 pub story_id: i32,
3112 pub instant_view_version: i32,
3114 }
3115 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3117 pub struct CountryInfo {
3118 pub country_code: String,
3120 pub name: String,
3122 pub english_name: String,
3124 pub is_hidden: bool,
3126 pub calling_codes: Vec<String>,
3128 }
3129 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3131 pub struct Countries {
3132 pub countries: Vec<crate::types::CountryInfo>,
3134 }
3135 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3137 pub struct PhoneNumberInfo {
3138 pub country: Option<crate::types::CountryInfo>,
3140 pub country_calling_code: String,
3142 pub formatted_phone_number: String,
3144 pub is_anonymous: bool,
3146 }
3147 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3149 pub struct BankCardActionOpenUrl {
3150 pub text: String,
3152 pub url: String,
3154 }
3155 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3157 pub struct BankCardInfo {
3158 pub title: String,
3160 pub actions: Vec<crate::types::BankCardActionOpenUrl>,
3162 }
3163 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3165 pub struct Address {
3166 pub country_code: String,
3168 pub state: String,
3170 pub city: String,
3172 pub street_line1: String,
3174 pub street_line2: String,
3176 pub postal_code: String,
3178 }
3179 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3181 pub struct ThemeParameters {
3182 pub background_color: i32,
3184 pub secondary_background_color: i32,
3186 pub text_color: i32,
3188 pub hint_color: i32,
3190 pub link_color: i32,
3192 pub button_color: i32,
3194 pub button_text_color: i32,
3196 }
3197 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3199 pub struct LabeledPricePart {
3200 pub label: String,
3202 pub amount: i64,
3204 }
3205 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3207 pub struct Invoice {
3208 pub currency: String,
3210 pub price_parts: Vec<crate::types::LabeledPricePart>,
3212 pub max_tip_amount: i64,
3214 pub suggested_tip_amounts: Vec<i64>,
3216 pub recurring_payment_terms_of_service_url: String,
3218 pub terms_of_service_url: String,
3220 pub is_test: bool,
3222 pub need_name: bool,
3224 pub need_phone_number: bool,
3226 pub need_email_address: bool,
3228 pub need_shipping_address: bool,
3230 pub send_phone_number_to_provider: bool,
3232 pub send_email_address_to_provider: bool,
3234 pub is_flexible: bool,
3236 }
3237 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3239 pub struct OrderInfo {
3240 pub name: String,
3242 pub phone_number: String,
3244 pub email_address: String,
3246 pub shipping_address: Option<crate::types::Address>,
3248 }
3249 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3251 pub struct ShippingOption {
3252 pub id: String,
3254 pub title: String,
3256 pub price_parts: Vec<crate::types::LabeledPricePart>,
3258 }
3259 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3261 pub struct SavedCredentials {
3262 pub id: String,
3264 pub title: String,
3266 }
3267 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3269 pub struct InputCredentialsSaved {
3270 pub saved_credentials_id: String,
3272 }
3273 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3275 pub struct InputCredentialsNew {
3276 pub data: String,
3278 pub allow_save: bool,
3280 }
3281 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3283 pub struct InputCredentialsApplePay {
3284 pub data: String,
3286 }
3287 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3289 pub struct InputCredentialsGooglePay {
3290 pub data: String,
3292 }
3293 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3295 pub struct PaymentProviderSmartGlocal {
3296 pub public_token: String,
3298 }
3299 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3301 pub struct PaymentProviderStripe {
3302 pub publishable_key: String,
3304 pub need_country: bool,
3306 pub need_postal_code: bool,
3308 pub need_cardholder_name: bool,
3310 }
3311 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3313 pub struct PaymentProviderOther {
3314 pub url: String,
3316 }
3317 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3319 pub struct PaymentOption {
3320 pub title: String,
3322 pub url: String,
3324 }
3325 #[serde_as]
3327 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3328 pub struct PaymentForm {
3329 #[serde_as(as = "DisplayFromStr")]
3331 pub id: i64,
3332 pub invoice: crate::types::Invoice,
3334 pub seller_bot_user_id: i64,
3336 pub payment_provider_user_id: i64,
3338 pub payment_provider: crate::enums::PaymentProvider,
3340 pub additional_payment_options: Vec<crate::types::PaymentOption>,
3342 pub saved_order_info: Option<crate::types::OrderInfo>,
3344 pub saved_credentials: Vec<crate::types::SavedCredentials>,
3346 pub can_save_credentials: bool,
3348 pub need_password: bool,
3350 pub product_title: String,
3352 pub product_description: crate::types::FormattedText,
3354 pub product_photo: Option<crate::types::Photo>,
3356 }
3357 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3359 pub struct ValidatedOrderInfo {
3360 pub order_info_id: String,
3362 pub shipping_options: Vec<crate::types::ShippingOption>,
3364 }
3365 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3367 pub struct PaymentResult {
3368 pub success: bool,
3370 pub verification_url: String,
3372 }
3373 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3375 pub struct PaymentReceipt {
3376 pub title: String,
3378 pub description: crate::types::FormattedText,
3380 pub photo: Option<crate::types::Photo>,
3382 pub date: i32,
3384 pub seller_bot_user_id: i64,
3386 pub payment_provider_user_id: i64,
3388 pub invoice: crate::types::Invoice,
3390 pub order_info: Option<crate::types::OrderInfo>,
3392 pub shipping_option: Option<crate::types::ShippingOption>,
3394 pub credentials_title: String,
3396 pub tip_amount: i64,
3398 }
3399 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3401 pub struct InputInvoiceMessage {
3402 pub chat_id: i64,
3404 pub message_id: i64,
3406 }
3407 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3409 pub struct InputInvoiceName {
3410 pub name: String,
3412 }
3413 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3415 pub struct MessageExtendedMediaPreview {
3416 pub width: i32,
3418 pub height: i32,
3420 pub duration: i32,
3422 pub minithumbnail: Option<crate::types::Minithumbnail>,
3424 pub caption: crate::types::FormattedText,
3426 }
3427 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3429 pub struct MessageExtendedMediaPhoto {
3430 pub photo: crate::types::Photo,
3432 pub caption: crate::types::FormattedText,
3434 }
3435 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3437 pub struct MessageExtendedMediaVideo {
3438 pub video: crate::types::Video,
3440 pub caption: crate::types::FormattedText,
3442 }
3443 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3445 pub struct MessageExtendedMediaUnsupported {
3446 pub caption: crate::types::FormattedText,
3448 }
3449 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3451 pub struct DatedFile {
3452 pub file: crate::types::File,
3454 pub date: i32,
3456 }
3457 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3459 pub struct Date {
3460 pub day: i32,
3462 pub month: i32,
3464 pub year: i32,
3466 }
3467 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3469 pub struct PersonalDetails {
3470 pub first_name: String,
3472 pub middle_name: String,
3474 pub last_name: String,
3476 pub native_first_name: String,
3478 pub native_middle_name: String,
3480 pub native_last_name: String,
3482 pub birthdate: crate::types::Date,
3484 pub gender: String,
3486 pub country_code: String,
3488 pub residence_country_code: String,
3490 }
3491 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3493 pub struct IdentityDocument {
3494 pub number: String,
3496 pub expiration_date: Option<crate::types::Date>,
3498 pub front_side: crate::types::DatedFile,
3500 pub reverse_side: Option<crate::types::DatedFile>,
3502 pub selfie: Option<crate::types::DatedFile>,
3504 pub translation: Vec<crate::types::DatedFile>,
3506 }
3507 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3509 pub struct InputIdentityDocument {
3510 pub number: String,
3512 pub expiration_date: Option<crate::types::Date>,
3514 pub front_side: crate::enums::InputFile,
3516 pub reverse_side: Option<crate::enums::InputFile>,
3518 pub selfie: Option<crate::enums::InputFile>,
3520 pub translation: Vec<crate::enums::InputFile>,
3522 }
3523 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3525 pub struct PersonalDocument {
3526 pub files: Vec<crate::types::DatedFile>,
3528 pub translation: Vec<crate::types::DatedFile>,
3530 }
3531 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3533 pub struct InputPersonalDocument {
3534 pub files: Vec<crate::enums::InputFile>,
3536 pub translation: Vec<crate::enums::InputFile>,
3538 }
3539 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3541 pub struct PassportElementPersonalDetails {
3542 pub personal_details: crate::types::PersonalDetails,
3544 }
3545 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3547 pub struct PassportElementPassport {
3548 pub passport: crate::types::IdentityDocument,
3550 }
3551 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3553 pub struct PassportElementDriverLicense {
3554 pub driver_license: crate::types::IdentityDocument,
3556 }
3557 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3559 pub struct PassportElementIdentityCard {
3560 pub identity_card: crate::types::IdentityDocument,
3562 }
3563 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3565 pub struct PassportElementInternalPassport {
3566 pub internal_passport: crate::types::IdentityDocument,
3568 }
3569 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3571 pub struct PassportElementAddress {
3572 pub address: crate::types::Address,
3574 }
3575 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3577 pub struct PassportElementUtilityBill {
3578 pub utility_bill: crate::types::PersonalDocument,
3580 }
3581 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3583 pub struct PassportElementBankStatement {
3584 pub bank_statement: crate::types::PersonalDocument,
3586 }
3587 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3589 pub struct PassportElementRentalAgreement {
3590 pub rental_agreement: crate::types::PersonalDocument,
3592 }
3593 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3595 pub struct PassportElementPassportRegistration {
3596 pub passport_registration: crate::types::PersonalDocument,
3598 }
3599 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3601 pub struct PassportElementTemporaryRegistration {
3602 pub temporary_registration: crate::types::PersonalDocument,
3604 }
3605 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3607 pub struct PassportElementPhoneNumber {
3608 pub phone_number: String,
3610 }
3611 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3613 pub struct PassportElementEmailAddress {
3614 pub email_address: String,
3616 }
3617 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3619 pub struct InputPassportElementPersonalDetails {
3620 pub personal_details: crate::types::PersonalDetails,
3622 }
3623 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3625 pub struct InputPassportElementPassport {
3626 pub passport: crate::types::InputIdentityDocument,
3628 }
3629 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3631 pub struct InputPassportElementDriverLicense {
3632 pub driver_license: crate::types::InputIdentityDocument,
3634 }
3635 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3637 pub struct InputPassportElementIdentityCard {
3638 pub identity_card: crate::types::InputIdentityDocument,
3640 }
3641 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3643 pub struct InputPassportElementInternalPassport {
3644 pub internal_passport: crate::types::InputIdentityDocument,
3646 }
3647 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3649 pub struct InputPassportElementAddress {
3650 pub address: crate::types::Address,
3652 }
3653 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3655 pub struct InputPassportElementUtilityBill {
3656 pub utility_bill: crate::types::InputPersonalDocument,
3658 }
3659 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3661 pub struct InputPassportElementBankStatement {
3662 pub bank_statement: crate::types::InputPersonalDocument,
3664 }
3665 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3667 pub struct InputPassportElementRentalAgreement {
3668 pub rental_agreement: crate::types::InputPersonalDocument,
3670 }
3671 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3673 pub struct InputPassportElementPassportRegistration {
3674 pub passport_registration: crate::types::InputPersonalDocument,
3676 }
3677 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3679 pub struct InputPassportElementTemporaryRegistration {
3680 pub temporary_registration: crate::types::InputPersonalDocument,
3682 }
3683 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3685 pub struct InputPassportElementPhoneNumber {
3686 pub phone_number: String,
3688 }
3689 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3691 pub struct InputPassportElementEmailAddress {
3692 pub email_address: String,
3694 }
3695 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3697 pub struct PassportElements {
3698 pub elements: Vec<crate::enums::PassportElement>,
3700 }
3701 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3703 pub struct PassportElementErrorSourceDataField {
3704 pub field_name: String,
3706 }
3707 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3709 pub struct PassportElementErrorSourceTranslationFile {
3710 pub file_index: i32,
3712 }
3713 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3715 pub struct PassportElementErrorSourceFile {
3716 pub file_index: i32,
3718 }
3719 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3721 pub struct PassportElementError {
3722 pub r#type: crate::enums::PassportElementType,
3724 pub message: String,
3726 pub source: crate::enums::PassportElementErrorSource,
3728 }
3729 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3731 pub struct PassportSuitableElement {
3732 pub r#type: crate::enums::PassportElementType,
3734 pub is_selfie_required: bool,
3736 pub is_translation_required: bool,
3738 pub is_native_name_required: bool,
3740 }
3741 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3743 pub struct PassportRequiredElement {
3744 pub suitable_elements: Vec<crate::types::PassportSuitableElement>,
3746 }
3747 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3749 pub struct PassportAuthorizationForm {
3750 pub id: i32,
3752 pub required_elements: Vec<crate::types::PassportRequiredElement>,
3754 pub privacy_policy_url: String,
3756 }
3757 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3759 pub struct PassportElementsWithErrors {
3760 pub elements: Vec<crate::enums::PassportElement>,
3762 pub errors: Vec<crate::types::PassportElementError>,
3764 }
3765 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3767 pub struct EncryptedCredentials {
3768 pub data: String,
3770 pub hash: String,
3772 pub secret: String,
3774 }
3775 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3777 pub struct EncryptedPassportElement {
3778 pub r#type: crate::enums::PassportElementType,
3780 pub data: String,
3782 pub front_side: crate::types::DatedFile,
3784 pub reverse_side: Option<crate::types::DatedFile>,
3786 pub selfie: Option<crate::types::DatedFile>,
3788 pub translation: Vec<crate::types::DatedFile>,
3790 pub files: Vec<crate::types::DatedFile>,
3792 pub value: String,
3794 pub hash: String,
3796 }
3797 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3799 pub struct InputPassportElementErrorSourceUnspecified {
3800 pub element_hash: String,
3802 }
3803 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3805 pub struct InputPassportElementErrorSourceDataField {
3806 pub field_name: String,
3808 pub data_hash: String,
3810 }
3811 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3813 pub struct InputPassportElementErrorSourceFrontSide {
3814 pub file_hash: String,
3816 }
3817 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3819 pub struct InputPassportElementErrorSourceReverseSide {
3820 pub file_hash: String,
3822 }
3823 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3825 pub struct InputPassportElementErrorSourceSelfie {
3826 pub file_hash: String,
3828 }
3829 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3831 pub struct InputPassportElementErrorSourceTranslationFile {
3832 pub file_hash: String,
3834 }
3835 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3837 pub struct InputPassportElementErrorSourceTranslationFiles {
3838 pub file_hashes: Vec<String>,
3840 }
3841 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3843 pub struct InputPassportElementErrorSourceFile {
3844 pub file_hash: String,
3846 }
3847 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3849 pub struct InputPassportElementErrorSourceFiles {
3850 pub file_hashes: Vec<String>,
3852 }
3853 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3855 pub struct InputPassportElementError {
3856 pub r#type: crate::enums::PassportElementType,
3858 pub message: String,
3860 pub source: crate::enums::InputPassportElementErrorSource,
3862 }
3863 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3865 pub struct MessageText {
3866 pub text: crate::types::FormattedText,
3868 pub web_page: Option<crate::types::WebPage>,
3870 }
3871 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3873 pub struct MessageAnimation {
3874 pub animation: crate::types::Animation,
3876 pub caption: crate::types::FormattedText,
3878 pub has_spoiler: bool,
3880 pub is_secret: bool,
3882 }
3883 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3885 pub struct MessageAudio {
3886 pub audio: crate::types::Audio,
3888 pub caption: crate::types::FormattedText,
3890 }
3891 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3893 pub struct MessageDocument {
3894 pub document: crate::types::Document,
3896 pub caption: crate::types::FormattedText,
3898 }
3899 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3901 pub struct MessagePhoto {
3902 pub photo: crate::types::Photo,
3904 pub caption: crate::types::FormattedText,
3906 pub has_spoiler: bool,
3908 pub is_secret: bool,
3910 }
3911 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3913 pub struct MessageSticker {
3914 pub sticker: crate::types::Sticker,
3916 pub is_premium: bool,
3918 }
3919 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3921 pub struct MessageVideo {
3922 pub video: crate::types::Video,
3924 pub caption: crate::types::FormattedText,
3926 pub has_spoiler: bool,
3928 pub is_secret: bool,
3930 }
3931 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3933 pub struct MessageVideoNote {
3934 pub video_note: crate::types::VideoNote,
3936 pub is_viewed: bool,
3938 pub is_secret: bool,
3940 }
3941 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3943 pub struct MessageVoiceNote {
3944 pub voice_note: crate::types::VoiceNote,
3946 pub caption: crate::types::FormattedText,
3948 pub is_listened: bool,
3950 }
3951 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3953 pub struct MessageLocation {
3954 pub location: crate::types::Location,
3956 pub live_period: i32,
3958 pub expires_in: i32,
3960 pub heading: i32,
3962 pub proximity_alert_radius: i32,
3964 }
3965 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3967 pub struct MessageVenue {
3968 pub venue: crate::types::Venue,
3970 }
3971 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3973 pub struct MessageContact {
3974 pub contact: crate::types::Contact,
3976 }
3977 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3979 pub struct MessageAnimatedEmoji {
3980 pub animated_emoji: crate::types::AnimatedEmoji,
3982 pub emoji: String,
3984 }
3985 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
3987 pub struct MessageDice {
3988 pub initial_state: Option<crate::enums::DiceStickers>,
3990 pub final_state: Option<crate::enums::DiceStickers>,
3992 pub emoji: String,
3994 pub value: i32,
3996 pub success_animation_frame_number: i32,
3998 }
3999 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4001 pub struct MessageGame {
4002 pub game: crate::types::Game,
4004 }
4005 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4007 pub struct MessagePoll {
4008 pub poll: crate::types::Poll,
4010 }
4011 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4013 pub struct MessageStory {
4014 pub story_sender_chat_id: i64,
4016 pub story_id: i32,
4018 pub via_mention: bool,
4020 }
4021 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4023 pub struct MessageInvoice {
4024 pub title: String,
4026 pub description: crate::types::FormattedText,
4028 pub photo: Option<crate::types::Photo>,
4030 pub currency: String,
4032 pub total_amount: i64,
4034 pub start_parameter: String,
4036 pub is_test: bool,
4038 pub need_shipping_address: bool,
4040 pub receipt_message_id: i64,
4042 pub extended_media: Option<crate::enums::MessageExtendedMedia>,
4044 }
4045 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4047 pub struct MessageCall {
4048 pub is_video: bool,
4050 pub discard_reason: crate::enums::CallDiscardReason,
4052 pub duration: i32,
4054 }
4055 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4057 pub struct MessageVideoChatScheduled {
4058 pub group_call_id: i32,
4060 pub start_date: i32,
4062 }
4063 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4065 pub struct MessageVideoChatStarted {
4066 pub group_call_id: i32,
4068 }
4069 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4071 pub struct MessageVideoChatEnded {
4072 pub duration: i32,
4074 }
4075 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4077 pub struct MessageInviteVideoChatParticipants {
4078 pub group_call_id: i32,
4080 pub user_ids: Vec<i64>,
4082 }
4083 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4085 pub struct MessageBasicGroupChatCreate {
4086 pub title: String,
4088 pub member_user_ids: Vec<i64>,
4090 }
4091 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4093 pub struct MessageSupergroupChatCreate {
4094 pub title: String,
4096 }
4097 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4099 pub struct MessageChatChangeTitle {
4100 pub title: String,
4102 }
4103 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4105 pub struct MessageChatChangePhoto {
4106 pub photo: crate::types::ChatPhoto,
4108 }
4109 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4111 pub struct MessageChatAddMembers {
4112 pub member_user_ids: Vec<i64>,
4114 }
4115 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4117 pub struct MessageChatDeleteMember {
4118 pub user_id: i64,
4120 }
4121 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4123 pub struct MessageChatUpgradeTo {
4124 pub supergroup_id: i64,
4126 }
4127 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4129 pub struct MessageChatUpgradeFrom {
4130 pub title: String,
4132 pub basic_group_id: i64,
4134 }
4135 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4137 pub struct MessagePinMessage {
4138 pub message_id: i64,
4140 }
4141 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4143 pub struct MessageChatSetBackground {
4144 pub old_background_message_id: i64,
4146 pub background: crate::types::ChatBackground,
4148 }
4149 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4151 pub struct MessageChatSetTheme {
4152 pub theme_name: String,
4154 }
4155 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4157 pub struct MessageChatSetMessageAutoDeleteTime {
4158 pub message_auto_delete_time: i32,
4160 pub from_user_id: i64,
4162 }
4163 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4165 pub struct MessageForumTopicCreated {
4166 pub name: String,
4168 pub icon: crate::types::ForumTopicIcon,
4170 }
4171 #[serde_as]
4173 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4174 pub struct MessageForumTopicEdited {
4175 pub name: String,
4177 pub edit_icon_custom_emoji_id: bool,
4179 #[serde_as(as = "DisplayFromStr")]
4181 pub icon_custom_emoji_id: i64,
4182 }
4183 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4185 pub struct MessageForumTopicIsClosedToggled {
4186 pub is_closed: bool,
4188 }
4189 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4191 pub struct MessageForumTopicIsHiddenToggled {
4192 pub is_hidden: bool,
4194 }
4195 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4197 pub struct MessageSuggestProfilePhoto {
4198 pub photo: crate::types::ChatPhoto,
4200 }
4201 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4203 pub struct MessageCustomServiceAction {
4204 pub text: String,
4206 }
4207 #[serde_as]
4209 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4210 pub struct MessageGameScore {
4211 pub game_message_id: i64,
4213 #[serde_as(as = "DisplayFromStr")]
4215 pub game_id: i64,
4216 pub score: i32,
4218 }
4219 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4221 pub struct MessagePaymentSuccessful {
4222 pub invoice_chat_id: i64,
4224 pub invoice_message_id: i64,
4226 pub currency: String,
4228 pub total_amount: i64,
4230 pub is_recurring: bool,
4232 pub is_first_recurring: bool,
4234 pub invoice_name: String,
4236 }
4237 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4239 pub struct MessagePaymentSuccessfulBot {
4240 pub currency: String,
4242 pub total_amount: i64,
4244 pub is_recurring: bool,
4246 pub is_first_recurring: bool,
4248 pub invoice_payload: String,
4250 pub shipping_option_id: String,
4252 pub order_info: Option<crate::types::OrderInfo>,
4254 pub telegram_payment_charge_id: String,
4256 pub provider_payment_charge_id: String,
4258 }
4259 #[serde_as]
4261 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4262 pub struct MessageGiftedPremium {
4263 pub gifter_user_id: i64,
4265 pub currency: String,
4267 pub amount: i64,
4269 pub cryptocurrency: String,
4271 #[serde_as(as = "DisplayFromStr")]
4273 pub cryptocurrency_amount: i64,
4274 pub month_count: i32,
4276 pub sticker: Option<crate::types::Sticker>,
4278 }
4279 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4281 pub struct MessageUserShared {
4282 pub user_id: i64,
4284 pub button_id: i32,
4286 }
4287 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4289 pub struct MessageChatShared {
4290 pub chat_id: i64,
4292 pub button_id: i32,
4294 }
4295 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4297 pub struct MessageWebsiteConnected {
4298 pub domain_name: String,
4300 }
4301 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4303 pub struct MessageBotWriteAccessAllowed {
4304 pub web_app: Option<crate::types::WebApp>,
4306 pub by_request: bool,
4308 }
4309 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4311 pub struct MessageWebAppDataSent {
4312 pub button_text: String,
4314 }
4315 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4317 pub struct MessageWebAppDataReceived {
4318 pub button_text: String,
4320 pub data: String,
4322 }
4323 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4325 pub struct MessagePassportDataSent {
4326 pub types: Vec<crate::enums::PassportElementType>,
4328 }
4329 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4331 pub struct MessagePassportDataReceived {
4332 pub elements: Vec<crate::types::EncryptedPassportElement>,
4334 pub credentials: crate::types::EncryptedCredentials,
4336 }
4337 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4339 pub struct MessageProximityAlertTriggered {
4340 pub traveler_id: crate::enums::MessageSender,
4342 pub watcher_id: crate::enums::MessageSender,
4344 pub distance: i32,
4346 }
4347 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4349 pub struct TextEntityTypePreCode {
4350 pub language: String,
4352 }
4353 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4355 pub struct TextEntityTypeTextUrl {
4356 pub url: String,
4358 }
4359 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4361 pub struct TextEntityTypeMentionName {
4362 pub user_id: i64,
4364 }
4365 #[serde_as]
4367 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4368 pub struct TextEntityTypeCustomEmoji {
4369 #[serde_as(as = "DisplayFromStr")]
4371 pub custom_emoji_id: i64,
4372 }
4373 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4375 pub struct TextEntityTypeMediaTimestamp {
4376 pub media_timestamp: i32,
4378 }
4379 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4381 pub struct InputThumbnail {
4382 pub thumbnail: crate::enums::InputFile,
4384 pub width: i32,
4386 pub height: i32,
4388 }
4389 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4391 pub struct MessageSchedulingStateSendAtDate {
4392 pub send_date: i32,
4394 }
4395 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4397 pub struct MessageSelfDestructTypeTimer {
4398 pub self_destruct_time: i32,
4400 }
4401 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4403 pub struct MessageSendOptions {
4404 pub disable_notification: bool,
4406 pub from_background: bool,
4408 pub protect_content: bool,
4410 pub update_order_of_installed_sticker_sets: bool,
4412 pub scheduling_state: Option<crate::enums::MessageSchedulingState>,
4414 pub sending_id: i32,
4416 }
4417 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4419 pub struct MessageCopyOptions {
4420 pub send_copy: bool,
4422 pub replace_caption: bool,
4424 pub new_caption: Option<crate::types::FormattedText>,
4426 }
4427 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4429 pub struct InputMessageText {
4430 pub text: crate::types::FormattedText,
4432 pub disable_web_page_preview: bool,
4434 pub clear_draft: bool,
4436 }
4437 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4439 pub struct InputMessageAnimation {
4440 pub animation: crate::enums::InputFile,
4442 pub thumbnail: Option<crate::types::InputThumbnail>,
4444 pub added_sticker_file_ids: Vec<i32>,
4446 pub duration: i32,
4448 pub width: i32,
4450 pub height: i32,
4452 pub caption: Option<crate::types::FormattedText>,
4454 pub has_spoiler: bool,
4456 }
4457 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4459 pub struct InputMessageAudio {
4460 pub audio: crate::enums::InputFile,
4462 pub album_cover_thumbnail: Option<crate::types::InputThumbnail>,
4464 pub duration: i32,
4466 pub title: String,
4468 pub performer: String,
4470 pub caption: Option<crate::types::FormattedText>,
4472 }
4473 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4475 pub struct InputMessageDocument {
4476 pub document: crate::enums::InputFile,
4478 pub thumbnail: Option<crate::types::InputThumbnail>,
4480 pub disable_content_type_detection: bool,
4482 pub caption: Option<crate::types::FormattedText>,
4484 }
4485 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4487 pub struct InputMessagePhoto {
4488 pub photo: crate::enums::InputFile,
4490 pub thumbnail: Option<crate::types::InputThumbnail>,
4492 pub added_sticker_file_ids: Vec<i32>,
4494 pub width: i32,
4496 pub height: i32,
4498 pub caption: Option<crate::types::FormattedText>,
4500 pub self_destruct_type: Option<crate::enums::MessageSelfDestructType>,
4502 pub has_spoiler: bool,
4504 }
4505 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4507 pub struct InputMessageSticker {
4508 pub sticker: crate::enums::InputFile,
4510 pub thumbnail: Option<crate::types::InputThumbnail>,
4512 pub width: i32,
4514 pub height: i32,
4516 pub emoji: String,
4518 }
4519 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4521 pub struct InputMessageVideo {
4522 pub video: crate::enums::InputFile,
4524 pub thumbnail: Option<crate::types::InputThumbnail>,
4526 pub added_sticker_file_ids: Vec<i32>,
4528 pub duration: i32,
4530 pub width: i32,
4532 pub height: i32,
4534 pub supports_streaming: bool,
4536 pub caption: Option<crate::types::FormattedText>,
4538 pub self_destruct_type: Option<crate::enums::MessageSelfDestructType>,
4540 pub has_spoiler: bool,
4542 }
4543 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4545 pub struct InputMessageVideoNote {
4546 pub video_note: crate::enums::InputFile,
4548 pub thumbnail: Option<crate::types::InputThumbnail>,
4550 pub duration: i32,
4552 pub length: i32,
4554 }
4555 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4557 pub struct InputMessageVoiceNote {
4558 pub voice_note: crate::enums::InputFile,
4560 pub duration: i32,
4562 pub waveform: String,
4564 pub caption: Option<crate::types::FormattedText>,
4566 }
4567 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4569 pub struct InputMessageLocation {
4570 pub location: crate::types::Location,
4572 pub live_period: i32,
4574 pub heading: i32,
4576 pub proximity_alert_radius: i32,
4578 }
4579 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4581 pub struct InputMessageVenue {
4582 pub venue: crate::types::Venue,
4584 }
4585 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4587 pub struct InputMessageContact {
4588 pub contact: crate::types::Contact,
4590 }
4591 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4593 pub struct InputMessageDice {
4594 pub emoji: String,
4596 pub clear_draft: bool,
4598 }
4599 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4601 pub struct InputMessageGame {
4602 pub bot_user_id: i64,
4604 pub game_short_name: String,
4606 }
4607 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4609 pub struct InputMessageInvoice {
4610 pub invoice: crate::types::Invoice,
4612 pub title: String,
4614 pub description: String,
4616 pub photo_url: String,
4618 pub photo_size: i32,
4620 pub photo_width: i32,
4622 pub photo_height: i32,
4624 pub payload: String,
4626 pub provider_token: String,
4628 pub provider_data: String,
4630 pub start_parameter: String,
4632 pub extended_media_content: crate::enums::InputMessageContent,
4634 }
4635 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4637 pub struct InputMessagePoll {
4638 pub question: String,
4640 pub options: Vec<String>,
4642 pub is_anonymous: bool,
4644 pub r#type: crate::enums::PollType,
4646 pub open_period: i32,
4648 pub close_date: i32,
4650 pub is_closed: bool,
4652 }
4653 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4655 pub struct InputMessageStory {
4656 pub story_sender_chat_id: i64,
4658 pub story_id: i32,
4660 }
4661 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4663 pub struct InputMessageForwarded {
4664 pub from_chat_id: i64,
4666 pub message_id: i64,
4668 pub in_game_share: bool,
4670 pub copy_options: Option<crate::types::MessageCopyOptions>,
4672 }
4673 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4675 pub struct ChatActionUploadingVideo {
4676 pub progress: i32,
4678 }
4679 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4681 pub struct ChatActionUploadingVoiceNote {
4682 pub progress: i32,
4684 }
4685 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4687 pub struct ChatActionUploadingPhoto {
4688 pub progress: i32,
4690 }
4691 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4693 pub struct ChatActionUploadingDocument {
4694 pub progress: i32,
4696 }
4697 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4699 pub struct ChatActionUploadingVideoNote {
4700 pub progress: i32,
4702 }
4703 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4705 pub struct ChatActionWatchingAnimations {
4706 pub emoji: String,
4708 }
4709 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4711 pub struct UserStatusOnline {
4712 pub expires: i32,
4714 }
4715 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4717 pub struct UserStatusOffline {
4718 pub was_online: i32,
4720 }
4721 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4723 pub struct Stickers {
4724 pub stickers: Vec<crate::types::Sticker>,
4726 }
4727 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4729 pub struct Emojis {
4730 pub emojis: Vec<String>,
4732 }
4733 #[serde_as]
4735 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4736 pub struct StickerSet {
4737 #[serde_as(as = "DisplayFromStr")]
4739 pub id: i64,
4740 pub title: String,
4742 pub name: String,
4744 pub thumbnail: Option<crate::types::Thumbnail>,
4746 pub thumbnail_outline: Vec<crate::types::ClosedVectorPath>,
4748 pub is_installed: bool,
4750 pub is_archived: bool,
4752 pub is_official: bool,
4754 pub sticker_format: crate::enums::StickerFormat,
4756 pub sticker_type: crate::enums::StickerType,
4758 pub is_viewed: bool,
4760 pub stickers: Vec<crate::types::Sticker>,
4762 pub emojis: Vec<crate::types::Emojis>,
4764 }
4765 #[serde_as]
4767 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4768 pub struct StickerSetInfo {
4769 #[serde_as(as = "DisplayFromStr")]
4771 pub id: i64,
4772 pub title: String,
4774 pub name: String,
4776 pub thumbnail: Option<crate::types::Thumbnail>,
4778 pub thumbnail_outline: Vec<crate::types::ClosedVectorPath>,
4780 pub is_installed: bool,
4782 pub is_archived: bool,
4784 pub is_official: bool,
4786 pub sticker_format: crate::enums::StickerFormat,
4788 pub sticker_type: crate::enums::StickerType,
4790 pub is_viewed: bool,
4792 pub size: i32,
4794 pub covers: Vec<crate::types::Sticker>,
4796 }
4797 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4799 pub struct StickerSets {
4800 pub total_count: i32,
4802 pub sets: Vec<crate::types::StickerSetInfo>,
4804 }
4805 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4807 pub struct TrendingStickerSets {
4808 pub total_count: i32,
4810 pub sets: Vec<crate::types::StickerSetInfo>,
4812 pub is_premium: bool,
4814 }
4815 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4817 pub struct EmojiCategory {
4818 pub name: String,
4820 pub icon: crate::types::Sticker,
4822 pub emojis: Vec<String>,
4824 }
4825 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4827 pub struct EmojiCategories {
4828 pub categories: Vec<crate::types::EmojiCategory>,
4830 }
4831 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4833 pub struct StoryViewer {
4834 pub user_id: i64,
4836 pub view_date: i32,
4838 pub block_list: Option<crate::enums::BlockList>,
4840 pub chosen_reaction_type: Option<crate::enums::ReactionType>,
4842 }
4843 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4845 pub struct StoryViewers {
4846 pub total_count: i32,
4848 pub total_reaction_count: i32,
4850 pub viewers: Vec<crate::types::StoryViewer>,
4852 pub next_offset: String,
4854 }
4855 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4857 pub struct StoryAreaPosition {
4858 pub x_percentage: f64,
4860 pub y_percentage: f64,
4862 pub width_percentage: f64,
4864 pub height_percentage: f64,
4866 pub rotation_angle: f64,
4868 }
4869 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4871 pub struct StoryAreaTypeLocation {
4872 pub location: crate::types::Location,
4874 }
4875 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4877 pub struct StoryAreaTypeVenue {
4878 pub venue: crate::types::Venue,
4880 }
4881 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4883 pub struct StoryAreaTypeSuggestedReaction {
4884 pub reaction_type: crate::enums::ReactionType,
4886 pub total_count: i32,
4888 pub is_dark: bool,
4890 pub is_flipped: bool,
4892 }
4893 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4895 pub struct StoryArea {
4896 pub position: crate::types::StoryAreaPosition,
4898 pub r#type: crate::enums::StoryAreaType,
4900 }
4901 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4903 pub struct InputStoryAreaTypeLocation {
4904 pub location: crate::types::Location,
4906 }
4907 #[serde_as]
4909 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4910 pub struct InputStoryAreaTypeFoundVenue {
4911 #[serde_as(as = "DisplayFromStr")]
4913 pub query_id: i64,
4914 pub result_id: String,
4916 }
4917 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4919 pub struct InputStoryAreaTypePreviousVenue {
4920 pub venue_provider: String,
4922 pub venue_id: String,
4924 }
4925 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4927 pub struct InputStoryAreaTypeSuggestedReaction {
4928 pub reaction_type: crate::enums::ReactionType,
4930 pub is_dark: bool,
4932 pub is_flipped: bool,
4934 }
4935 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4937 pub struct InputStoryArea {
4938 pub position: crate::types::StoryAreaPosition,
4940 pub r#type: crate::enums::InputStoryAreaType,
4942 }
4943 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4945 pub struct InputStoryAreas {
4946 pub areas: Vec<crate::types::InputStoryArea>,
4948 }
4949 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4951 pub struct StoryVideo {
4952 pub duration: f64,
4954 pub width: i32,
4956 pub height: i32,
4958 pub has_stickers: bool,
4960 pub is_animation: bool,
4962 pub minithumbnail: Option<crate::types::Minithumbnail>,
4964 pub thumbnail: Option<crate::types::Thumbnail>,
4966 pub preload_prefix_size: i32,
4968 pub video: crate::types::File,
4970 }
4971 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
4973 pub struct StoryContentPhoto {
4974 pub photo: crate::types::Photo,
4976 }
4977 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4979 pub struct StoryContentVideo {
4980 pub video: crate::types::StoryVideo,
4982 pub alternative_video: Option<crate::types::StoryVideo>,
4984 }
4985 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4987 pub struct InputStoryContentPhoto {
4988 pub photo: crate::enums::InputFile,
4990 pub added_sticker_file_ids: Vec<i32>,
4992 }
4993 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
4995 pub struct InputStoryContentVideo {
4996 pub video: crate::enums::InputFile,
4998 pub added_sticker_file_ids: Vec<i32>,
5000 pub duration: f64,
5002 pub is_animation: bool,
5004 }
5005 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5007 pub struct StoryInteractionInfo {
5008 pub view_count: i32,
5010 pub forward_count: i32,
5012 pub reaction_count: i32,
5014 pub recent_viewer_user_ids: Vec<i64>,
5016 }
5017 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5019 pub struct Story {
5020 pub id: i32,
5022 pub sender_chat_id: i64,
5024 pub date: i32,
5026 pub is_being_sent: bool,
5028 pub is_being_edited: bool,
5030 pub is_edited: bool,
5032 pub is_pinned: bool,
5034 pub is_visible_only_for_self: bool,
5036 pub can_be_deleted: bool,
5038 pub can_be_edited: bool,
5040 pub can_be_forwarded: bool,
5042 pub can_be_replied: bool,
5044 pub can_toggle_is_pinned: bool,
5046 pub can_get_viewers: bool,
5048 pub has_expired_viewers: bool,
5050 pub interaction_info: Option<crate::types::StoryInteractionInfo>,
5052 pub chosen_reaction_type: Option<crate::enums::ReactionType>,
5054 pub privacy_settings: crate::enums::StoryPrivacySettings,
5056 pub content: crate::enums::StoryContent,
5058 pub areas: Vec<crate::types::StoryArea>,
5060 pub caption: crate::types::FormattedText,
5062 }
5063 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5065 pub struct Stories {
5066 pub total_count: i32,
5068 pub stories: Vec<crate::types::Story>,
5070 }
5071 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5073 pub struct StoryInfo {
5074 pub story_id: i32,
5076 pub date: i32,
5078 pub is_for_close_friends: bool,
5080 }
5081 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5083 pub struct ChatActiveStories {
5084 pub chat_id: i64,
5086 pub list: Option<crate::enums::StoryList>,
5088 pub order: i64,
5090 pub max_read_story_id: i32,
5092 pub stories: Vec<crate::types::StoryInfo>,
5094 }
5095 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5097 pub struct ChatBoostStatus {
5098 pub is_boosted: bool,
5100 pub level: i32,
5102 pub boost_count: i32,
5104 pub current_level_boost_count: i32,
5106 pub next_level_boost_count: i32,
5108 pub premium_member_count: i32,
5110 pub premium_member_percentage: f64,
5112 }
5113 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5115 pub struct ChatBoost {
5116 pub user_id: i64,
5118 pub expiration_date: i32,
5120 }
5121 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5123 pub struct FoundChatBoosts {
5124 pub total_count: i32,
5126 pub boosts: Vec<crate::types::ChatBoost>,
5128 pub next_offset: String,
5130 }
5131 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5133 pub struct CallProtocol {
5134 pub udp_p2p: bool,
5136 pub udp_reflector: bool,
5138 pub min_layer: i32,
5140 pub max_layer: i32,
5142 pub library_versions: Vec<String>,
5144 }
5145 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5147 pub struct CallServerTypeTelegramReflector {
5148 pub peer_tag: String,
5150 pub is_tcp: bool,
5152 }
5153 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5155 pub struct CallServerTypeWebrtc {
5156 pub username: String,
5158 pub password: String,
5160 pub supports_turn: bool,
5162 pub supports_stun: bool,
5164 }
5165 #[serde_as]
5167 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5168 pub struct CallServer {
5169 #[serde_as(as = "DisplayFromStr")]
5171 pub id: i64,
5172 pub ip_address: String,
5174 pub ipv6_address: String,
5176 pub port: i32,
5178 pub r#type: crate::enums::CallServerType,
5180 }
5181 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5183 pub struct CallId {
5184 pub id: i32,
5186 }
5187 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5189 pub struct GroupCallId {
5190 pub id: i32,
5192 }
5193 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5195 pub struct CallStatePending {
5196 pub is_created: bool,
5198 pub is_received: bool,
5200 }
5201 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5203 pub struct CallStateReady {
5204 pub protocol: crate::types::CallProtocol,
5206 pub servers: Vec<crate::types::CallServer>,
5208 pub config: String,
5210 pub encryption_key: String,
5212 pub emojis: Vec<String>,
5214 pub allow_p2p: bool,
5216 }
5217 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5219 pub struct CallStateDiscarded {
5220 pub reason: crate::enums::CallDiscardReason,
5222 pub need_rating: bool,
5224 pub need_debug_information: bool,
5226 pub need_log: bool,
5228 }
5229 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5231 pub struct CallStateError {
5232 pub error: crate::types::Error,
5234 }
5235 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5237 pub struct GroupCallStream {
5238 pub channel_id: i32,
5240 pub scale: i32,
5242 pub time_offset: i64,
5244 }
5245 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5247 pub struct GroupCallStreams {
5248 pub streams: Vec<crate::types::GroupCallStream>,
5250 }
5251 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5253 pub struct RtmpUrl {
5254 pub url: String,
5256 pub stream_key: String,
5258 }
5259 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5261 pub struct GroupCallRecentSpeaker {
5262 pub participant_id: crate::enums::MessageSender,
5264 pub is_speaking: bool,
5266 }
5267 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5269 pub struct GroupCall {
5270 pub id: i32,
5272 pub title: String,
5274 pub scheduled_start_date: i32,
5276 pub enabled_start_notification: bool,
5278 pub is_active: bool,
5280 pub is_rtmp_stream: bool,
5282 pub is_joined: bool,
5284 pub need_rejoin: bool,
5286 pub can_be_managed: bool,
5288 pub participant_count: i32,
5290 pub has_hidden_listeners: bool,
5292 pub loaded_all_participants: bool,
5294 pub recent_speakers: Vec<crate::types::GroupCallRecentSpeaker>,
5296 pub is_my_video_enabled: bool,
5298 pub is_my_video_paused: bool,
5300 pub can_enable_video: bool,
5302 pub mute_new_participants: bool,
5304 pub can_toggle_mute_new_participants: bool,
5306 pub record_duration: i32,
5308 pub is_video_recorded: bool,
5310 pub duration: i32,
5312 }
5313 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5315 pub struct GroupCallVideoSourceGroup {
5316 pub semantics: String,
5318 pub source_ids: Vec<i32>,
5320 }
5321 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5323 pub struct GroupCallParticipantVideoInfo {
5324 pub source_groups: Vec<crate::types::GroupCallVideoSourceGroup>,
5326 pub endpoint_id: String,
5328 pub is_paused: bool,
5330 }
5331 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5333 pub struct GroupCallParticipant {
5334 pub participant_id: crate::enums::MessageSender,
5336 pub audio_source_id: i32,
5338 pub screen_sharing_audio_source_id: i32,
5340 pub video_info: Option<crate::types::GroupCallParticipantVideoInfo>,
5342 pub screen_sharing_video_info: Option<crate::types::GroupCallParticipantVideoInfo>,
5344 pub bio: String,
5346 pub is_current_user: bool,
5348 pub is_speaking: bool,
5350 pub is_hand_raised: bool,
5352 pub can_be_muted_for_all_users: bool,
5354 pub can_be_unmuted_for_all_users: bool,
5356 pub can_be_muted_for_current_user: bool,
5358 pub can_be_unmuted_for_current_user: bool,
5360 pub is_muted_for_all_users: bool,
5362 pub is_muted_for_current_user: bool,
5364 pub can_unmute_self: bool,
5366 pub volume_level: i32,
5368 pub order: String,
5370 }
5371 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5373 pub struct Call {
5374 pub id: i32,
5376 pub user_id: i64,
5378 pub is_outgoing: bool,
5380 pub is_video: bool,
5382 pub state: crate::enums::CallState,
5384 }
5385 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5387 pub struct FirebaseAuthenticationSettingsIos {
5388 pub device_token: String,
5390 pub is_app_sandbox: bool,
5392 }
5393 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5395 pub struct PhoneNumberAuthenticationSettings {
5396 pub allow_flash_call: bool,
5398 pub allow_missed_call: bool,
5400 pub is_current_phone_number: bool,
5402 pub allow_sms_retriever_api: bool,
5404 pub firebase_authentication_settings: Option<crate::enums::FirebaseAuthenticationSettings>,
5406 pub authentication_tokens: Vec<String>,
5408 }
5409 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5411 pub struct AddedReaction {
5412 pub r#type: crate::enums::ReactionType,
5414 pub sender_id: crate::enums::MessageSender,
5416 pub date: i32,
5418 }
5419 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5421 pub struct AddedReactions {
5422 pub total_count: i32,
5424 pub reactions: Vec<crate::types::AddedReaction>,
5426 pub next_offset: String,
5428 }
5429 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5431 pub struct AvailableReaction {
5432 pub r#type: crate::enums::ReactionType,
5434 pub needs_premium: bool,
5436 }
5437 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5439 pub struct AvailableReactions {
5440 pub top_reactions: Vec<crate::types::AvailableReaction>,
5442 pub recent_reactions: Vec<crate::types::AvailableReaction>,
5444 pub popular_reactions: Vec<crate::types::AvailableReaction>,
5446 pub allow_custom_emoji: bool,
5448 }
5449 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5451 pub struct EmojiReaction {
5452 pub emoji: String,
5454 pub title: String,
5456 pub is_active: bool,
5458 pub static_icon: crate::types::Sticker,
5460 pub appear_animation: crate::types::Sticker,
5462 pub select_animation: crate::types::Sticker,
5464 pub activate_animation: crate::types::Sticker,
5466 pub effect_animation: crate::types::Sticker,
5468 pub around_animation: Option<crate::types::Sticker>,
5470 pub center_animation: Option<crate::types::Sticker>,
5472 }
5473 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5475 pub struct Animations {
5476 pub animations: Vec<crate::types::Animation>,
5478 }
5479 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5481 pub struct DiceStickersRegular {
5482 pub sticker: crate::types::Sticker,
5484 }
5485 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5487 pub struct DiceStickersSlotMachine {
5488 pub background: crate::types::Sticker,
5490 pub lever: crate::types::Sticker,
5492 pub left_reel: crate::types::Sticker,
5494 pub center_reel: crate::types::Sticker,
5496 pub right_reel: crate::types::Sticker,
5498 }
5499 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5501 pub struct ImportedContacts {
5502 pub user_ids: Vec<i64>,
5504 pub importer_count: Vec<i32>,
5506 }
5507 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5509 pub struct SpeechRecognitionResultPending {
5510 pub partial_text: String,
5512 }
5513 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5515 pub struct SpeechRecognitionResultText {
5516 pub text: String,
5518 }
5519 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5521 pub struct SpeechRecognitionResultError {
5522 pub error: crate::types::Error,
5524 }
5525 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5527 pub struct AttachmentMenuBotColor {
5528 pub light_color: i32,
5530 pub dark_color: i32,
5532 }
5533 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5535 pub struct AttachmentMenuBot {
5536 pub bot_user_id: i64,
5538 pub supports_self_chat: bool,
5540 pub supports_user_chats: bool,
5542 pub supports_bot_chats: bool,
5544 pub supports_group_chats: bool,
5546 pub supports_channel_chats: bool,
5548 pub supports_settings: bool,
5550 pub request_write_access: bool,
5552 pub is_added: bool,
5554 pub show_in_attachment_menu: bool,
5556 pub show_in_side_menu: bool,
5558 pub show_disclaimer_in_side_menu: bool,
5560 pub name: String,
5562 pub name_color: Option<crate::types::AttachmentMenuBotColor>,
5564 pub default_icon: Option<crate::types::File>,
5566 pub ios_static_icon: Option<crate::types::File>,
5568 pub ios_animated_icon: Option<crate::types::File>,
5570 pub ios_side_menu_icon: Option<crate::types::File>,
5572 pub android_icon: Option<crate::types::File>,
5574 pub android_side_menu_icon: Option<crate::types::File>,
5576 pub macos_icon: Option<crate::types::File>,
5578 pub macos_side_menu_icon: Option<crate::types::File>,
5580 pub icon_color: Option<crate::types::AttachmentMenuBotColor>,
5582 pub web_app_placeholder: Option<crate::types::File>,
5584 }
5585 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5587 pub struct SentWebAppMessage {
5588 pub inline_message_id: String,
5590 }
5591 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5593 pub struct HttpUrl {
5594 pub url: String,
5596 }
5597 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5599 pub struct UserLink {
5600 pub url: String,
5602 pub expires_in: i32,
5604 }
5605 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5607 pub struct InputInlineQueryResultAnimation {
5608 pub id: String,
5610 pub title: String,
5612 pub thumbnail_url: String,
5614 pub thumbnail_mime_type: String,
5616 pub video_url: String,
5618 pub video_mime_type: String,
5620 pub video_duration: i32,
5622 pub video_width: i32,
5624 pub video_height: i32,
5626 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5628 pub input_message_content: crate::enums::InputMessageContent,
5630 }
5631 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5633 pub struct InputInlineQueryResultArticle {
5634 pub id: String,
5636 pub url: String,
5638 pub hide_url: bool,
5640 pub title: String,
5642 pub description: String,
5644 pub thumbnail_url: String,
5646 pub thumbnail_width: i32,
5648 pub thumbnail_height: i32,
5650 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5652 pub input_message_content: crate::enums::InputMessageContent,
5654 }
5655 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5657 pub struct InputInlineQueryResultAudio {
5658 pub id: String,
5660 pub title: String,
5662 pub performer: String,
5664 pub audio_url: String,
5666 pub audio_duration: i32,
5668 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5670 pub input_message_content: crate::enums::InputMessageContent,
5672 }
5673 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5675 pub struct InputInlineQueryResultContact {
5676 pub id: String,
5678 pub contact: crate::types::Contact,
5680 pub thumbnail_url: String,
5682 pub thumbnail_width: i32,
5684 pub thumbnail_height: i32,
5686 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5688 pub input_message_content: crate::enums::InputMessageContent,
5690 }
5691 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5693 pub struct InputInlineQueryResultDocument {
5694 pub id: String,
5696 pub title: String,
5698 pub description: String,
5700 pub document_url: String,
5702 pub mime_type: String,
5704 pub thumbnail_url: String,
5706 pub thumbnail_width: i32,
5708 pub thumbnail_height: i32,
5710 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5712 pub input_message_content: crate::enums::InputMessageContent,
5714 }
5715 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5717 pub struct InputInlineQueryResultGame {
5718 pub id: String,
5720 pub game_short_name: String,
5722 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5724 }
5725 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5727 pub struct InputInlineQueryResultLocation {
5728 pub id: String,
5730 pub location: crate::types::Location,
5732 pub live_period: i32,
5734 pub title: String,
5736 pub thumbnail_url: String,
5738 pub thumbnail_width: i32,
5740 pub thumbnail_height: i32,
5742 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5744 pub input_message_content: crate::enums::InputMessageContent,
5746 }
5747 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5749 pub struct InputInlineQueryResultPhoto {
5750 pub id: String,
5752 pub title: String,
5754 pub description: String,
5756 pub thumbnail_url: String,
5758 pub photo_url: String,
5760 pub photo_width: i32,
5762 pub photo_height: i32,
5764 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5766 pub input_message_content: crate::enums::InputMessageContent,
5768 }
5769 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5771 pub struct InputInlineQueryResultSticker {
5772 pub id: String,
5774 pub thumbnail_url: String,
5776 pub sticker_url: String,
5778 pub sticker_width: i32,
5780 pub sticker_height: i32,
5782 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5784 pub input_message_content: crate::enums::InputMessageContent,
5786 }
5787 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5789 pub struct InputInlineQueryResultVenue {
5790 pub id: String,
5792 pub venue: crate::types::Venue,
5794 pub thumbnail_url: String,
5796 pub thumbnail_width: i32,
5798 pub thumbnail_height: i32,
5800 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5802 pub input_message_content: crate::enums::InputMessageContent,
5804 }
5805 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5807 pub struct InputInlineQueryResultVideo {
5808 pub id: String,
5810 pub title: String,
5812 pub description: String,
5814 pub thumbnail_url: String,
5816 pub video_url: String,
5818 pub mime_type: String,
5820 pub video_width: i32,
5822 pub video_height: i32,
5824 pub video_duration: i32,
5826 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5828 pub input_message_content: crate::enums::InputMessageContent,
5830 }
5831 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5833 pub struct InputInlineQueryResultVoiceNote {
5834 pub id: String,
5836 pub title: String,
5838 pub voice_note_url: String,
5840 pub voice_note_duration: i32,
5842 pub reply_markup: Option<crate::enums::ReplyMarkup>,
5844 pub input_message_content: crate::enums::InputMessageContent,
5846 }
5847 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5849 pub struct InlineQueryResultArticle {
5850 pub id: String,
5852 pub url: String,
5854 pub hide_url: bool,
5856 pub title: String,
5858 pub description: String,
5860 pub thumbnail: Option<crate::types::Thumbnail>,
5862 }
5863 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5865 pub struct InlineQueryResultContact {
5866 pub id: String,
5868 pub contact: crate::types::Contact,
5870 pub thumbnail: Option<crate::types::Thumbnail>,
5872 }
5873 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5875 pub struct InlineQueryResultLocation {
5876 pub id: String,
5878 pub location: crate::types::Location,
5880 pub title: String,
5882 pub thumbnail: Option<crate::types::Thumbnail>,
5884 }
5885 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5887 pub struct InlineQueryResultVenue {
5888 pub id: String,
5890 pub venue: crate::types::Venue,
5892 pub thumbnail: Option<crate::types::Thumbnail>,
5894 }
5895 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5897 pub struct InlineQueryResultGame {
5898 pub id: String,
5900 pub game: crate::types::Game,
5902 }
5903 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5905 pub struct InlineQueryResultAnimation {
5906 pub id: String,
5908 pub animation: crate::types::Animation,
5910 pub title: String,
5912 }
5913 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5915 pub struct InlineQueryResultAudio {
5916 pub id: String,
5918 pub audio: crate::types::Audio,
5920 }
5921 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5923 pub struct InlineQueryResultDocument {
5924 pub id: String,
5926 pub document: crate::types::Document,
5928 pub title: String,
5930 pub description: String,
5932 }
5933 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5935 pub struct InlineQueryResultPhoto {
5936 pub id: String,
5938 pub photo: crate::types::Photo,
5940 pub title: String,
5942 pub description: String,
5944 }
5945 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5947 pub struct InlineQueryResultSticker {
5948 pub id: String,
5950 pub sticker: crate::types::Sticker,
5952 }
5953 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5955 pub struct InlineQueryResultVideo {
5956 pub id: String,
5958 pub video: crate::types::Video,
5960 pub title: String,
5962 pub description: String,
5964 }
5965 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5967 pub struct InlineQueryResultVoiceNote {
5968 pub id: String,
5970 pub voice_note: crate::types::VoiceNote,
5972 pub title: String,
5974 }
5975 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5977 pub struct InlineQueryResultsButtonTypeStartBot {
5978 pub parameter: String,
5980 }
5981 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
5983 pub struct InlineQueryResultsButtonTypeWebApp {
5984 pub url: String,
5986 }
5987 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5989 pub struct InlineQueryResultsButton {
5990 pub text: String,
5992 pub r#type: crate::enums::InlineQueryResultsButtonType,
5994 }
5995 #[serde_as]
5997 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
5998 pub struct InlineQueryResults {
5999 #[serde_as(as = "DisplayFromStr")]
6001 pub inline_query_id: i64,
6002 pub button: Option<crate::types::InlineQueryResultsButton>,
6004 pub results: Vec<crate::enums::InlineQueryResult>,
6006 pub next_offset: String,
6008 }
6009 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6011 pub struct CallbackQueryPayloadData {
6012 pub data: String,
6014 }
6015 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6017 pub struct CallbackQueryPayloadDataWithPassword {
6018 pub password: String,
6020 pub data: String,
6022 }
6023 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6025 pub struct CallbackQueryPayloadGame {
6026 pub game_short_name: String,
6028 }
6029 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6031 pub struct CallbackQueryAnswer {
6032 pub text: String,
6034 pub show_alert: bool,
6036 pub url: String,
6038 }
6039 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6041 pub struct CustomRequestResult {
6042 pub result: String,
6044 }
6045 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6047 pub struct GameHighScore {
6048 pub position: i32,
6050 pub user_id: i64,
6052 pub score: i32,
6054 }
6055 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6057 pub struct GameHighScores {
6058 pub scores: Vec<crate::types::GameHighScore>,
6060 }
6061 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6063 pub struct ChatEventMessageEdited {
6064 pub old_message: crate::types::Message,
6066 pub new_message: crate::types::Message,
6068 }
6069 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6071 pub struct ChatEventMessageDeleted {
6072 pub message: crate::types::Message,
6074 pub can_report_anti_spam_false_positive: bool,
6076 }
6077 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6079 pub struct ChatEventMessagePinned {
6080 pub message: crate::types::Message,
6082 }
6083 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6085 pub struct ChatEventMessageUnpinned {
6086 pub message: crate::types::Message,
6088 }
6089 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6091 pub struct ChatEventPollStopped {
6092 pub message: crate::types::Message,
6094 }
6095 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6097 pub struct ChatEventMemberJoinedByInviteLink {
6098 pub invite_link: crate::types::ChatInviteLink,
6100 pub via_chat_folder_invite_link: bool,
6102 }
6103 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6105 pub struct ChatEventMemberJoinedByRequest {
6106 pub approver_user_id: i64,
6108 pub invite_link: Option<crate::types::ChatInviteLink>,
6110 }
6111 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6113 pub struct ChatEventMemberInvited {
6114 pub user_id: i64,
6116 pub status: crate::enums::ChatMemberStatus,
6118 }
6119 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6121 pub struct ChatEventMemberPromoted {
6122 pub user_id: i64,
6124 pub old_status: crate::enums::ChatMemberStatus,
6126 pub new_status: crate::enums::ChatMemberStatus,
6128 }
6129 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6131 pub struct ChatEventMemberRestricted {
6132 pub member_id: crate::enums::MessageSender,
6134 pub old_status: crate::enums::ChatMemberStatus,
6136 pub new_status: crate::enums::ChatMemberStatus,
6138 }
6139 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6141 pub struct ChatEventAvailableReactionsChanged {
6142 pub old_available_reactions: crate::enums::ChatAvailableReactions,
6144 pub new_available_reactions: crate::enums::ChatAvailableReactions,
6146 }
6147 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6149 pub struct ChatEventDescriptionChanged {
6150 pub old_description: String,
6152 pub new_description: String,
6154 }
6155 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6157 pub struct ChatEventLinkedChatChanged {
6158 pub old_linked_chat_id: i64,
6160 pub new_linked_chat_id: i64,
6162 }
6163 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6165 pub struct ChatEventLocationChanged {
6166 pub old_location: Option<crate::types::ChatLocation>,
6168 pub new_location: Option<crate::types::ChatLocation>,
6170 }
6171 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6173 pub struct ChatEventMessageAutoDeleteTimeChanged {
6174 pub old_message_auto_delete_time: i32,
6176 pub new_message_auto_delete_time: i32,
6178 }
6179 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6181 pub struct ChatEventPermissionsChanged {
6182 pub old_permissions: crate::types::ChatPermissions,
6184 pub new_permissions: crate::types::ChatPermissions,
6186 }
6187 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6189 pub struct ChatEventPhotoChanged {
6190 pub old_photo: Option<crate::types::ChatPhoto>,
6192 pub new_photo: Option<crate::types::ChatPhoto>,
6194 }
6195 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6197 pub struct ChatEventSlowModeDelayChanged {
6198 pub old_slow_mode_delay: i32,
6200 pub new_slow_mode_delay: i32,
6202 }
6203 #[serde_as]
6205 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6206 pub struct ChatEventStickerSetChanged {
6207 #[serde_as(as = "DisplayFromStr")]
6209 pub old_sticker_set_id: i64,
6210 #[serde_as(as = "DisplayFromStr")]
6212 pub new_sticker_set_id: i64,
6213 }
6214 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6216 pub struct ChatEventTitleChanged {
6217 pub old_title: String,
6219 pub new_title: String,
6221 }
6222 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6224 pub struct ChatEventUsernameChanged {
6225 pub old_username: String,
6227 pub new_username: String,
6229 }
6230 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6232 pub struct ChatEventActiveUsernamesChanged {
6233 pub old_usernames: Vec<String>,
6235 pub new_usernames: Vec<String>,
6237 }
6238 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6240 pub struct ChatEventHasProtectedContentToggled {
6241 pub has_protected_content: bool,
6243 }
6244 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6246 pub struct ChatEventInvitesToggled {
6247 pub can_invite_users: bool,
6249 }
6250 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6252 pub struct ChatEventIsAllHistoryAvailableToggled {
6253 pub is_all_history_available: bool,
6255 }
6256 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6258 pub struct ChatEventHasAggressiveAntiSpamEnabledToggled {
6259 pub has_aggressive_anti_spam_enabled: bool,
6261 }
6262 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6264 pub struct ChatEventSignMessagesToggled {
6265 pub sign_messages: bool,
6267 }
6268 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6270 pub struct ChatEventInviteLinkEdited {
6271 pub old_invite_link: crate::types::ChatInviteLink,
6273 pub new_invite_link: crate::types::ChatInviteLink,
6275 }
6276 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6278 pub struct ChatEventInviteLinkRevoked {
6279 pub invite_link: crate::types::ChatInviteLink,
6281 }
6282 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6284 pub struct ChatEventInviteLinkDeleted {
6285 pub invite_link: crate::types::ChatInviteLink,
6287 }
6288 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6290 pub struct ChatEventVideoChatCreated {
6291 pub group_call_id: i32,
6293 }
6294 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6296 pub struct ChatEventVideoChatEnded {
6297 pub group_call_id: i32,
6299 }
6300 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6302 pub struct ChatEventVideoChatMuteNewParticipantsToggled {
6303 pub mute_new_participants: bool,
6305 }
6306 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6308 pub struct ChatEventVideoChatParticipantIsMutedToggled {
6309 pub participant_id: crate::enums::MessageSender,
6311 pub is_muted: bool,
6313 }
6314 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6316 pub struct ChatEventVideoChatParticipantVolumeLevelChanged {
6317 pub participant_id: crate::enums::MessageSender,
6319 pub volume_level: i32,
6321 }
6322 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6324 pub struct ChatEventIsForumToggled {
6325 pub is_forum: bool,
6327 }
6328 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6330 pub struct ChatEventForumTopicCreated {
6331 pub topic_info: crate::types::ForumTopicInfo,
6333 }
6334 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6336 pub struct ChatEventForumTopicEdited {
6337 pub old_topic_info: crate::types::ForumTopicInfo,
6339 pub new_topic_info: crate::types::ForumTopicInfo,
6341 }
6342 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6344 pub struct ChatEventForumTopicToggleIsClosed {
6345 pub topic_info: crate::types::ForumTopicInfo,
6347 }
6348 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6350 pub struct ChatEventForumTopicToggleIsHidden {
6351 pub topic_info: crate::types::ForumTopicInfo,
6353 }
6354 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6356 pub struct ChatEventForumTopicDeleted {
6357 pub topic_info: crate::types::ForumTopicInfo,
6359 }
6360 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6362 pub struct ChatEventForumTopicPinned {
6363 pub old_topic_info: Option<crate::types::ForumTopicInfo>,
6365 pub new_topic_info: Option<crate::types::ForumTopicInfo>,
6367 }
6368 #[serde_as]
6370 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6371 pub struct ChatEvent {
6372 #[serde_as(as = "DisplayFromStr")]
6374 pub id: i64,
6375 pub date: i32,
6377 pub member_id: crate::enums::MessageSender,
6379 pub action: crate::enums::ChatEventAction,
6381 }
6382 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6384 pub struct ChatEvents {
6385 pub events: Vec<crate::types::ChatEvent>,
6387 }
6388 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6390 pub struct ChatEventLogFilters {
6391 pub message_edits: bool,
6393 pub message_deletions: bool,
6395 pub message_pins: bool,
6397 pub member_joins: bool,
6399 pub member_leaves: bool,
6401 pub member_invites: bool,
6403 pub member_promotions: bool,
6405 pub member_restrictions: bool,
6407 pub info_changes: bool,
6409 pub setting_changes: bool,
6411 pub invite_link_changes: bool,
6413 pub video_chat_changes: bool,
6415 pub forum_changes: bool,
6417 }
6418 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6420 pub struct LanguagePackStringValueOrdinary {
6421 pub value: String,
6423 }
6424 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6426 pub struct LanguagePackStringValuePluralized {
6427 pub zero_value: String,
6429 pub one_value: String,
6431 pub two_value: String,
6433 pub few_value: String,
6435 pub many_value: String,
6437 pub other_value: String,
6439 }
6440 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6442 pub struct LanguagePackString {
6443 pub key: String,
6445 pub value: Option<crate::enums::LanguagePackStringValue>,
6447 }
6448 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6450 pub struct LanguagePackStrings {
6451 pub strings: Vec<crate::types::LanguagePackString>,
6453 }
6454 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6456 pub struct LanguagePackInfo {
6457 pub id: String,
6459 pub base_language_pack_id: String,
6461 pub name: String,
6463 pub native_name: String,
6465 pub plural_code: String,
6467 pub is_official: bool,
6469 pub is_rtl: bool,
6471 pub is_beta: bool,
6473 pub is_installed: bool,
6475 pub total_string_count: i32,
6477 pub translated_string_count: i32,
6479 pub local_string_count: i32,
6481 pub translation_url: String,
6483 }
6484 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6486 pub struct LocalizationTargetInfo {
6487 pub language_packs: Vec<crate::types::LanguagePackInfo>,
6489 }
6490 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6492 pub struct PremiumLimit {
6493 pub r#type: crate::enums::PremiumLimitType,
6495 pub default_value: i32,
6497 pub premium_value: i32,
6499 }
6500 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6502 pub struct PremiumFeatures {
6503 pub features: Vec<crate::enums::PremiumFeature>,
6505 pub limits: Vec<crate::types::PremiumLimit>,
6507 pub payment_link: Option<crate::enums::InternalLinkType>,
6509 }
6510 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6512 pub struct PremiumSourceLimitExceeded {
6513 pub limit_type: crate::enums::PremiumLimitType,
6515 }
6516 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6518 pub struct PremiumSourceFeature {
6519 pub feature: crate::enums::PremiumFeature,
6521 }
6522 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6524 pub struct PremiumSourceStoryFeature {
6525 pub feature: crate::enums::PremiumStoryFeature,
6527 }
6528 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6530 pub struct PremiumSourceLink {
6531 pub referrer: String,
6533 }
6534 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6536 pub struct PremiumFeaturePromotionAnimation {
6537 pub feature: crate::enums::PremiumFeature,
6539 pub animation: crate::types::Animation,
6541 }
6542 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6544 pub struct PremiumState {
6545 pub state: crate::types::FormattedText,
6547 pub payment_options: Vec<crate::types::PremiumStatePaymentOption>,
6549 pub animations: Vec<crate::types::PremiumFeaturePromotionAnimation>,
6551 }
6552 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6554 pub struct StorePaymentPurposePremiumSubscription {
6555 pub is_restore: bool,
6557 pub is_upgrade: bool,
6559 }
6560 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6562 pub struct StorePaymentPurposeGiftedPremium {
6563 pub user_id: i64,
6565 pub currency: String,
6567 pub amount: i64,
6569 }
6570 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6572 pub struct DeviceTokenFirebaseCloudMessaging {
6573 pub token: String,
6575 pub encrypt: bool,
6577 }
6578 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6580 pub struct DeviceTokenApplePush {
6581 pub device_token: String,
6583 pub is_app_sandbox: bool,
6585 }
6586 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6588 pub struct DeviceTokenApplePushVoIp {
6589 pub device_token: String,
6591 pub is_app_sandbox: bool,
6593 pub encrypt: bool,
6595 }
6596 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6598 pub struct DeviceTokenWindowsPush {
6599 pub access_token: String,
6601 }
6602 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6604 pub struct DeviceTokenMicrosoftPush {
6605 pub channel_uri: String,
6607 }
6608 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6610 pub struct DeviceTokenMicrosoftPushVoIp {
6611 pub channel_uri: String,
6613 }
6614 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6616 pub struct DeviceTokenWebPush {
6617 pub endpoint: String,
6619 pub p256dh_base64url: String,
6621 pub auth_base64url: String,
6623 }
6624 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6626 pub struct DeviceTokenSimplePush {
6627 pub endpoint: String,
6629 }
6630 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6632 pub struct DeviceTokenUbuntuPush {
6633 pub token: String,
6635 }
6636 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6638 pub struct DeviceTokenBlackBerryPush {
6639 pub token: String,
6641 }
6642 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6644 pub struct DeviceTokenTizenPush {
6645 pub reg_id: String,
6647 }
6648 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6650 pub struct DeviceTokenHuaweiPush {
6651 pub token: String,
6653 pub encrypt: bool,
6655 }
6656 #[serde_as]
6658 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6659 pub struct PushReceiverId {
6660 #[serde_as(as = "DisplayFromStr")]
6662 pub id: i64,
6663 }
6664 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6666 pub struct BackgroundFillSolid {
6667 pub color: i32,
6669 }
6670 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6672 pub struct BackgroundFillGradient {
6673 pub top_color: i32,
6675 pub bottom_color: i32,
6677 pub rotation_angle: i32,
6679 }
6680 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6682 pub struct BackgroundFillFreeformGradient {
6683 pub colors: Vec<i32>,
6685 }
6686 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6688 pub struct BackgroundTypeWallpaper {
6689 pub is_blurred: bool,
6691 pub is_moving: bool,
6693 }
6694 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6696 pub struct BackgroundTypePattern {
6697 pub fill: crate::enums::BackgroundFill,
6699 pub intensity: i32,
6701 pub is_inverted: bool,
6703 pub is_moving: bool,
6705 }
6706 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6708 pub struct BackgroundTypeFill {
6709 pub fill: crate::enums::BackgroundFill,
6711 }
6712 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6714 pub struct InputBackgroundLocal {
6715 pub background: crate::enums::InputFile,
6717 }
6718 #[serde_as]
6720 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6721 pub struct InputBackgroundRemote {
6722 #[serde_as(as = "DisplayFromStr")]
6724 pub background_id: i64,
6725 }
6726 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6728 pub struct InputBackgroundPrevious {
6729 pub message_id: i64,
6731 }
6732 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6734 pub struct ThemeSettings {
6735 pub accent_color: i32,
6737 pub background: Option<crate::types::Background>,
6739 pub outgoing_message_fill: crate::enums::BackgroundFill,
6741 pub animate_outgoing_message_fill: bool,
6743 pub outgoing_message_accent_color: i32,
6745 }
6746 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6748 pub struct ChatTheme {
6749 pub name: String,
6751 pub light_settings: crate::types::ThemeSettings,
6753 pub dark_settings: crate::types::ThemeSettings,
6755 }
6756 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6758 pub struct Hashtags {
6759 pub hashtags: Vec<String>,
6761 }
6762 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6764 pub struct CanSendStoryResultWeeklyLimitExceeded {
6765 pub retry_after: i32,
6767 }
6768 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6770 pub struct CanSendStoryResultMonthlyLimitExceeded {
6771 pub retry_after: i32,
6773 }
6774 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6776 pub struct CanBoostChatResultOk {
6777 pub currently_boosted_chat_id: i64,
6779 }
6780 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6782 pub struct CanBoostChatResultWaitNeeded {
6783 pub retry_after: i32,
6785 }
6786 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6788 pub struct CanTransferOwnershipResultPasswordTooFresh {
6789 pub retry_after: i32,
6791 }
6792 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6794 pub struct CanTransferOwnershipResultSessionTooFresh {
6795 pub retry_after: i32,
6797 }
6798 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6800 pub struct ResetPasswordResultPending {
6801 pub pending_reset_date: i32,
6803 }
6804 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6806 pub struct ResetPasswordResultDeclined {
6807 pub retry_date: i32,
6809 }
6810 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6812 pub struct MessageFileTypePrivate {
6813 pub name: String,
6815 }
6816 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6818 pub struct MessageFileTypeGroup {
6819 pub title: String,
6821 }
6822 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6824 pub struct PushMessageContentHidden {
6825 pub is_pinned: bool,
6827 }
6828 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6830 pub struct PushMessageContentAnimation {
6831 pub animation: Option<crate::types::Animation>,
6833 pub caption: String,
6835 pub is_pinned: bool,
6837 }
6838 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6840 pub struct PushMessageContentAudio {
6841 pub audio: Option<crate::types::Audio>,
6843 pub is_pinned: bool,
6845 }
6846 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6848 pub struct PushMessageContentContact {
6849 pub name: String,
6851 pub is_pinned: bool,
6853 }
6854 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6856 pub struct PushMessageContentDocument {
6857 pub document: Option<crate::types::Document>,
6859 pub is_pinned: bool,
6861 }
6862 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6864 pub struct PushMessageContentGame {
6865 pub title: String,
6867 pub is_pinned: bool,
6869 }
6870 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6872 pub struct PushMessageContentGameScore {
6873 pub title: String,
6875 pub score: i32,
6877 pub is_pinned: bool,
6879 }
6880 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6882 pub struct PushMessageContentInvoice {
6883 pub price: String,
6885 pub is_pinned: bool,
6887 }
6888 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6890 pub struct PushMessageContentLocation {
6891 pub is_live: bool,
6893 pub is_pinned: bool,
6895 }
6896 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6898 pub struct PushMessageContentPhoto {
6899 pub photo: Option<crate::types::Photo>,
6901 pub caption: String,
6903 pub is_secret: bool,
6905 pub is_pinned: bool,
6907 }
6908 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6910 pub struct PushMessageContentPoll {
6911 pub question: String,
6913 pub is_regular: bool,
6915 pub is_pinned: bool,
6917 }
6918 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6920 pub struct PushMessageContentSticker {
6921 pub sticker: Option<crate::types::Sticker>,
6923 pub emoji: String,
6925 pub is_pinned: bool,
6927 }
6928 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6930 pub struct PushMessageContentStory {
6931 pub is_pinned: bool,
6933 }
6934 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6936 pub struct PushMessageContentText {
6937 pub text: String,
6939 pub is_pinned: bool,
6941 }
6942 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6944 pub struct PushMessageContentVideo {
6945 pub video: Option<crate::types::Video>,
6947 pub caption: String,
6949 pub is_secret: bool,
6951 pub is_pinned: bool,
6953 }
6954 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
6956 pub struct PushMessageContentVideoNote {
6957 pub video_note: Option<crate::types::VideoNote>,
6959 pub is_pinned: bool,
6961 }
6962 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6964 pub struct PushMessageContentVoiceNote {
6965 pub voice_note: Option<crate::types::VoiceNote>,
6967 pub is_pinned: bool,
6969 }
6970 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6972 pub struct PushMessageContentChatAddMembers {
6973 pub member_name: String,
6975 pub is_current_user: bool,
6977 pub is_returned: bool,
6979 }
6980 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6982 pub struct PushMessageContentChatChangeTitle {
6983 pub title: String,
6985 }
6986 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6988 pub struct PushMessageContentChatSetBackground {
6989 pub is_same: bool,
6991 }
6992 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
6994 pub struct PushMessageContentChatSetTheme {
6995 pub theme_name: String,
6997 }
6998 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7000 pub struct PushMessageContentChatDeleteMember {
7001 pub member_name: String,
7003 pub is_current_user: bool,
7005 pub is_left: bool,
7007 }
7008 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7010 pub struct PushMessageContentRecurringPayment {
7011 pub amount: String,
7013 }
7014 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7016 pub struct PushMessageContentMessageForwards {
7017 pub total_count: i32,
7019 }
7020 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7022 pub struct PushMessageContentMediaAlbum {
7023 pub total_count: i32,
7025 pub has_photos: bool,
7027 pub has_videos: bool,
7029 pub has_audios: bool,
7031 pub has_documents: bool,
7033 }
7034 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7036 pub struct NotificationTypeNewMessage {
7037 pub message: crate::types::Message,
7039 pub show_preview: bool,
7041 }
7042 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7044 pub struct NotificationTypeNewCall {
7045 pub call_id: i32,
7047 }
7048 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7050 pub struct NotificationTypeNewPushMessage {
7051 pub message_id: i64,
7053 pub sender_id: crate::enums::MessageSender,
7055 pub sender_name: String,
7057 pub is_outgoing: bool,
7059 pub content: crate::enums::PushMessageContent,
7061 }
7062 #[serde_as]
7064 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7065 pub struct NotificationSound {
7066 #[serde_as(as = "DisplayFromStr")]
7068 pub id: i64,
7069 pub duration: i32,
7071 pub date: i32,
7073 pub title: String,
7075 pub data: String,
7077 pub sound: crate::types::File,
7079 }
7080 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7082 pub struct NotificationSounds {
7083 pub notification_sounds: Vec<crate::types::NotificationSound>,
7085 }
7086 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7088 pub struct Notification {
7089 pub id: i32,
7091 pub date: i32,
7093 pub is_silent: bool,
7095 pub r#type: crate::enums::NotificationType,
7097 }
7098 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7100 pub struct NotificationGroup {
7101 pub id: i32,
7103 pub r#type: crate::enums::NotificationGroupType,
7105 pub chat_id: i64,
7107 pub total_count: i32,
7109 pub notifications: Vec<crate::types::Notification>,
7111 }
7112 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7114 pub struct OptionValueBoolean {
7115 pub value: bool,
7117 }
7118 #[serde_as]
7120 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7121 pub struct OptionValueInteger {
7122 #[serde_as(as = "DisplayFromStr")]
7124 pub value: i64,
7125 }
7126 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7128 pub struct OptionValueString {
7129 pub value: String,
7131 }
7132 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7134 pub struct JsonObjectMember {
7135 pub key: String,
7137 pub value: crate::enums::JsonValue,
7139 }
7140 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7142 pub struct JsonValueBoolean {
7143 pub value: bool,
7145 }
7146 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7148 pub struct JsonValueNumber {
7149 pub value: f64,
7151 }
7152 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7154 pub struct JsonValueString {
7155 pub value: String,
7157 }
7158 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7160 pub struct JsonValueArray {
7161 pub values: Vec<crate::enums::JsonValue>,
7163 }
7164 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7166 pub struct JsonValueObject {
7167 pub members: Vec<crate::types::JsonObjectMember>,
7169 }
7170 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7172 pub struct StoryPrivacySettingsEveryone {
7173 pub except_user_ids: Vec<i64>,
7175 }
7176 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7178 pub struct StoryPrivacySettingsContacts {
7179 pub except_user_ids: Vec<i64>,
7181 }
7182 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7184 pub struct StoryPrivacySettingsSelectedUsers {
7185 pub user_ids: Vec<i64>,
7187 }
7188 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7190 pub struct UserPrivacySettingRuleAllowUsers {
7191 pub user_ids: Vec<i64>,
7193 }
7194 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7196 pub struct UserPrivacySettingRuleAllowChatMembers {
7197 pub chat_ids: Vec<i64>,
7199 }
7200 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7202 pub struct UserPrivacySettingRuleRestrictUsers {
7203 pub user_ids: Vec<i64>,
7205 }
7206 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7208 pub struct UserPrivacySettingRuleRestrictChatMembers {
7209 pub chat_ids: Vec<i64>,
7211 }
7212 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7214 pub struct UserPrivacySettingRules {
7215 pub rules: Vec<crate::enums::UserPrivacySettingRule>,
7217 }
7218 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7220 pub struct AccountTtl {
7221 pub days: i32,
7223 }
7224 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7226 pub struct MessageAutoDeleteTime {
7227 pub time: i32,
7229 }
7230 #[serde_as]
7232 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7233 pub struct Session {
7234 #[serde_as(as = "DisplayFromStr")]
7236 pub id: i64,
7237 pub is_current: bool,
7239 pub is_password_pending: bool,
7241 pub is_unconfirmed: bool,
7243 pub can_accept_secret_chats: bool,
7245 pub can_accept_calls: bool,
7247 pub r#type: crate::enums::SessionType,
7249 pub api_id: i32,
7251 pub application_name: String,
7253 pub application_version: String,
7255 pub is_official_application: bool,
7257 pub device_model: String,
7259 pub platform: String,
7261 pub system_version: String,
7263 pub log_in_date: i32,
7265 pub last_active_date: i32,
7267 pub ip_address: String,
7269 pub location: String,
7271 }
7272 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7274 pub struct Sessions {
7275 pub sessions: Vec<crate::types::Session>,
7277 pub inactive_session_ttl_days: i32,
7279 }
7280 #[serde_as]
7282 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7283 pub struct UnconfirmedSession {
7284 #[serde_as(as = "DisplayFromStr")]
7286 pub id: i64,
7287 pub log_in_date: i32,
7289 pub device_model: String,
7291 pub location: String,
7293 }
7294 #[serde_as]
7296 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7297 pub struct ConnectedWebsite {
7298 #[serde_as(as = "DisplayFromStr")]
7300 pub id: i64,
7301 pub domain_name: String,
7303 pub bot_user_id: i64,
7305 pub browser: String,
7307 pub platform: String,
7309 pub log_in_date: i32,
7311 pub last_active_date: i32,
7313 pub ip_address: String,
7315 pub location: String,
7317 }
7318 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7320 pub struct ConnectedWebsites {
7321 pub websites: Vec<crate::types::ConnectedWebsite>,
7323 }
7324 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7326 pub struct TargetChatChosen {
7327 pub allow_user_chats: bool,
7329 pub allow_bot_chats: bool,
7331 pub allow_group_chats: bool,
7333 pub allow_channel_chats: bool,
7335 }
7336 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7338 pub struct TargetChatInternalLink {
7339 pub link: crate::enums::InternalLinkType,
7341 }
7342 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7348 pub struct InternalLinkTypeAttachmentMenuBot {
7349 pub target_chat: crate::enums::TargetChat,
7351 pub bot_username: String,
7353 pub url: String,
7355 }
7356 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7358 pub struct InternalLinkTypeAuthenticationCode {
7359 pub code: String,
7361 }
7362 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7364 pub struct InternalLinkTypeBackground {
7365 pub background_name: String,
7367 }
7368 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7372 pub struct InternalLinkTypeBotAddToChannel {
7373 pub bot_username: String,
7375 pub administrator_rights: crate::types::ChatAdministratorRights,
7377 }
7378 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7381 pub struct InternalLinkTypeBotStart {
7382 pub bot_username: String,
7384 pub start_parameter: String,
7386 pub autostart: bool,
7388 }
7389 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7396 pub struct InternalLinkTypeBotStartInGroup {
7397 pub bot_username: String,
7399 pub start_parameter: String,
7401 pub administrator_rights: Option<crate::types::ChatAdministratorRights>,
7403 }
7404 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7408 pub struct InternalLinkTypeChatBoost {
7409 pub url: String,
7411 }
7412 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7414 pub struct InternalLinkTypeChatFolderInvite {
7415 pub invite_link: String,
7417 }
7418 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7420 pub struct InternalLinkTypeChatInvite {
7421 pub invite_link: String,
7423 }
7424 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7426 pub struct InternalLinkTypeGame {
7427 pub bot_username: String,
7429 pub game_short_name: String,
7431 }
7432 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7434 pub struct InternalLinkTypeInstantView {
7435 pub url: String,
7437 pub fallback_url: String,
7439 }
7440 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7442 pub struct InternalLinkTypeInvoice {
7443 pub invoice_name: String,
7445 }
7446 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7448 pub struct InternalLinkTypeLanguagePack {
7449 pub language_pack_id: String,
7451 }
7452 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7454 pub struct InternalLinkTypeMessage {
7455 pub url: String,
7457 }
7458 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7460 pub struct InternalLinkTypeMessageDraft {
7461 pub text: crate::types::FormattedText,
7463 pub contains_link: bool,
7465 }
7466 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7468 pub struct InternalLinkTypePassportDataRequest {
7469 pub bot_user_id: i64,
7471 pub scope: String,
7473 pub public_key: String,
7475 pub nonce: String,
7477 pub callback_url: String,
7480 }
7481 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7483 pub struct InternalLinkTypePhoneNumberConfirmation {
7484 pub hash: String,
7486 pub phone_number: String,
7488 }
7489 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7491 pub struct InternalLinkTypePremiumFeatures {
7492 pub referrer: String,
7494 }
7495 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7497 pub struct InternalLinkTypeProxy {
7498 pub server: String,
7500 pub port: i32,
7502 pub r#type: crate::enums::ProxyType,
7504 }
7505 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7507 pub struct InternalLinkTypePublicChat {
7508 pub chat_username: String,
7510 }
7511 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7516 pub struct InternalLinkTypeSideMenuBot {
7517 pub bot_username: String,
7519 pub url: String,
7521 }
7522 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7524 pub struct InternalLinkTypeStickerSet {
7525 pub sticker_set_name: String,
7527 pub expect_custom_emoji: bool,
7529 }
7530 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7532 pub struct InternalLinkTypeStory {
7533 pub story_sender_username: String,
7535 pub story_id: i32,
7537 }
7538 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7540 pub struct InternalLinkTypeTheme {
7541 pub theme_name: String,
7543 }
7544 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7546 pub struct InternalLinkTypeUnknownDeepLink {
7547 pub link: String,
7549 }
7550 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7552 pub struct InternalLinkTypeUserPhoneNumber {
7553 pub phone_number: String,
7555 }
7556 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7558 pub struct InternalLinkTypeUserToken {
7559 pub token: String,
7561 }
7562 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7564 pub struct InternalLinkTypeVideoChat {
7565 pub chat_username: String,
7567 pub invite_hash: String,
7569 pub is_live_stream: bool,
7571 }
7572 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7577 pub struct InternalLinkTypeWebApp {
7578 pub bot_username: String,
7580 pub web_app_short_name: String,
7582 pub start_parameter: String,
7584 }
7585 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7587 pub struct MessageLink {
7588 pub link: String,
7590 pub is_public: bool,
7592 }
7593 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7595 pub struct MessageLinkInfo {
7596 pub is_public: bool,
7598 pub chat_id: i64,
7600 pub message_thread_id: i64,
7602 pub message: Option<crate::types::Message>,
7604 pub media_timestamp: i32,
7606 pub for_album: bool,
7608 }
7609 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7611 pub struct ChatBoostLink {
7612 pub link: String,
7614 pub is_public: bool,
7616 }
7617 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7619 pub struct ChatBoostLinkInfo {
7620 pub is_public: bool,
7622 pub chat_id: i64,
7624 }
7625 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7627 pub struct FilePart {
7628 pub data: String,
7630 }
7631 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7633 pub struct StorageStatisticsByFileType {
7634 pub file_type: crate::enums::FileType,
7636 pub size: i64,
7638 pub count: i32,
7640 }
7641 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7643 pub struct StorageStatisticsByChat {
7644 pub chat_id: i64,
7646 pub size: i64,
7648 pub count: i32,
7650 pub by_file_type: Vec<crate::types::StorageStatisticsByFileType>,
7652 }
7653 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7655 pub struct StorageStatistics {
7656 pub size: i64,
7658 pub count: i32,
7660 pub by_chat: Vec<crate::types::StorageStatisticsByChat>,
7662 }
7663 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7665 pub struct StorageStatisticsFast {
7666 pub files_size: i64,
7668 pub file_count: i32,
7670 pub database_size: i64,
7672 pub language_pack_database_size: i64,
7674 pub log_size: i64,
7676 }
7677 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7679 pub struct DatabaseStatistics {
7680 pub statistics: String,
7682 }
7683 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7685 pub struct NetworkStatisticsEntryFile {
7686 pub file_type: Option<crate::enums::FileType>,
7688 pub network_type: crate::enums::NetworkType,
7690 pub sent_bytes: i64,
7692 pub received_bytes: i64,
7694 }
7695 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7697 pub struct NetworkStatisticsEntryCall {
7698 pub network_type: crate::enums::NetworkType,
7700 pub sent_bytes: i64,
7702 pub received_bytes: i64,
7704 pub duration: f64,
7706 }
7707 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7709 pub struct NetworkStatistics {
7710 pub since_date: i32,
7712 pub entries: Vec<crate::enums::NetworkStatisticsEntry>,
7714 }
7715 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7717 pub struct AutoDownloadSettings {
7718 pub is_auto_download_enabled: bool,
7720 pub max_photo_file_size: i32,
7722 pub max_video_file_size: i64,
7724 pub max_other_file_size: i64,
7726 pub video_upload_bitrate: i32,
7728 pub preload_large_videos: bool,
7730 pub preload_next_audio: bool,
7732 pub preload_stories: bool,
7734 pub use_less_data_for_calls: bool,
7736 }
7737 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7739 pub struct AutoDownloadSettingsPresets {
7740 pub low: crate::types::AutoDownloadSettings,
7742 pub medium: crate::types::AutoDownloadSettings,
7744 pub high: crate::types::AutoDownloadSettings,
7746 }
7747 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7749 pub struct AutosaveSettingsScopeChat {
7750 pub chat_id: i64,
7752 }
7753 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7755 pub struct ScopeAutosaveSettings {
7756 pub autosave_photos: bool,
7758 pub autosave_videos: bool,
7760 pub max_video_file_size: i64,
7762 }
7763 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7765 pub struct AutosaveSettingsException {
7766 pub chat_id: i64,
7768 pub settings: crate::types::ScopeAutosaveSettings,
7770 }
7771 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7773 pub struct AutosaveSettings {
7774 pub private_chat_settings: crate::types::ScopeAutosaveSettings,
7776 pub group_settings: crate::types::ScopeAutosaveSettings,
7778 pub channel_settings: crate::types::ScopeAutosaveSettings,
7780 pub exceptions: Vec<crate::types::AutosaveSettingsException>,
7782 }
7783 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7785 pub struct FoundPositions {
7786 pub total_count: i32,
7788 pub positions: Vec<i32>,
7790 }
7791 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7793 pub struct TmeUrlTypeUser {
7794 pub user_id: i64,
7796 }
7797 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7799 pub struct TmeUrlTypeSupergroup {
7800 pub supergroup_id: i64,
7802 }
7803 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7805 pub struct TmeUrlTypeChatInvite {
7806 pub info: crate::types::ChatInviteLinkInfo,
7808 }
7809 #[serde_as]
7811 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7812 pub struct TmeUrlTypeStickerSet {
7813 #[serde_as(as = "DisplayFromStr")]
7815 pub sticker_set_id: i64,
7816 }
7817 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7819 pub struct TmeUrl {
7820 pub url: String,
7822 pub r#type: crate::enums::TmeUrlType,
7824 }
7825 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7827 pub struct TmeUrls {
7828 pub urls: Vec<crate::types::TmeUrl>,
7830 }
7831 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7833 pub struct SuggestedActionConvertToBroadcastGroup {
7834 pub supergroup_id: i64,
7836 }
7837 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7839 pub struct SuggestedActionSetPassword {
7840 pub authorization_delay: i32,
7842 }
7843 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7845 pub struct Count {
7846 pub count: i32,
7848 }
7849 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7851 pub struct Text {
7852 pub text: String,
7854 }
7855 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7857 pub struct Seconds {
7858 pub seconds: f64,
7860 }
7861 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7863 pub struct FileDownloadedPrefixSize {
7864 pub size: i64,
7866 }
7867 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7869 pub struct DeepLinkInfo {
7870 pub text: crate::types::FormattedText,
7872 pub need_update_application: bool,
7874 }
7875 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7877 pub struct TextParseModeMarkdown {
7878 pub version: i32,
7880 }
7881 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7883 pub struct ProxyTypeSocks5 {
7884 pub username: String,
7886 pub password: String,
7888 }
7889 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7891 pub struct ProxyTypeHttp {
7892 pub username: String,
7894 pub password: String,
7896 pub http_only: bool,
7898 }
7899 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7901 pub struct ProxyTypeMtproto {
7902 pub secret: String,
7904 }
7905 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7907 pub struct Proxy {
7908 pub id: i32,
7910 pub server: String,
7912 pub port: i32,
7914 pub last_used_date: i32,
7916 pub is_enabled: bool,
7918 pub r#type: crate::enums::ProxyType,
7920 }
7921 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7923 pub struct Proxies {
7924 pub proxies: Vec<crate::types::Proxy>,
7926 }
7927 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
7929 pub struct InputSticker {
7930 pub sticker: crate::enums::InputFile,
7933 pub emojis: String,
7935 pub mask_position: Option<crate::types::MaskPosition>,
7937 pub keywords: Vec<String>,
7939 }
7940 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7942 pub struct DateRange {
7943 pub start_date: i32,
7945 pub end_date: i32,
7947 }
7948 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7950 pub struct StatisticalValue {
7951 pub value: f64,
7953 pub previous_value: f64,
7955 pub growth_rate_percentage: f64,
7957 }
7958 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7960 pub struct StatisticalGraphData {
7961 pub json_data: String,
7963 pub zoom_token: String,
7965 }
7966 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7968 pub struct StatisticalGraphAsync {
7969 pub token: String,
7971 }
7972 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7974 pub struct StatisticalGraphError {
7975 pub error_message: String,
7977 }
7978 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7980 pub struct ChatStatisticsMessageInteractionInfo {
7981 pub message_id: i64,
7983 pub view_count: i32,
7985 pub forward_count: i32,
7987 }
7988 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
7990 pub struct ChatStatisticsMessageSenderInfo {
7991 pub user_id: i64,
7993 pub sent_message_count: i32,
7995 pub average_character_count: i32,
7997 }
7998 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8000 pub struct ChatStatisticsAdministratorActionsInfo {
8001 pub user_id: i64,
8003 pub deleted_message_count: i32,
8005 pub banned_user_count: i32,
8007 pub restricted_user_count: i32,
8009 }
8010 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8012 pub struct ChatStatisticsInviterInfo {
8013 pub user_id: i64,
8015 pub added_member_count: i32,
8017 }
8018 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8020 pub struct ChatStatisticsSupergroup {
8021 pub period: crate::types::DateRange,
8023 pub member_count: crate::types::StatisticalValue,
8025 pub message_count: crate::types::StatisticalValue,
8027 pub viewer_count: crate::types::StatisticalValue,
8029 pub sender_count: crate::types::StatisticalValue,
8031 pub member_count_graph: crate::enums::StatisticalGraph,
8033 pub join_graph: crate::enums::StatisticalGraph,
8035 pub join_by_source_graph: crate::enums::StatisticalGraph,
8037 pub language_graph: crate::enums::StatisticalGraph,
8039 pub message_content_graph: crate::enums::StatisticalGraph,
8041 pub action_graph: crate::enums::StatisticalGraph,
8043 pub day_graph: crate::enums::StatisticalGraph,
8045 pub week_graph: crate::enums::StatisticalGraph,
8047 pub top_senders: Vec<crate::types::ChatStatisticsMessageSenderInfo>,
8049 pub top_administrators: Vec<crate::types::ChatStatisticsAdministratorActionsInfo>,
8051 pub top_inviters: Vec<crate::types::ChatStatisticsInviterInfo>,
8053 }
8054 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8056 pub struct ChatStatisticsChannel {
8057 pub period: crate::types::DateRange,
8059 pub member_count: crate::types::StatisticalValue,
8061 pub mean_view_count: crate::types::StatisticalValue,
8063 pub mean_share_count: crate::types::StatisticalValue,
8065 pub enabled_notifications_percentage: f64,
8067 pub member_count_graph: crate::enums::StatisticalGraph,
8069 pub join_graph: crate::enums::StatisticalGraph,
8071 pub mute_graph: crate::enums::StatisticalGraph,
8073 pub view_count_by_hour_graph: crate::enums::StatisticalGraph,
8075 pub view_count_by_source_graph: crate::enums::StatisticalGraph,
8077 pub join_by_source_graph: crate::enums::StatisticalGraph,
8079 pub language_graph: crate::enums::StatisticalGraph,
8081 pub message_interaction_graph: crate::enums::StatisticalGraph,
8083 pub instant_view_interaction_graph: crate::enums::StatisticalGraph,
8085 pub recent_message_interactions: Vec<crate::types::ChatStatisticsMessageInteractionInfo>,
8087 }
8088 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8090 pub struct MessageStatistics {
8091 pub message_interaction_graph: crate::enums::StatisticalGraph,
8093 }
8094 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8096 pub struct Point {
8097 pub x: f64,
8099 pub y: f64,
8101 }
8102 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8104 pub struct VectorPathCommandLine {
8105 pub end_point: crate::types::Point,
8107 }
8108 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8110 pub struct VectorPathCommandCubicBezierCurve {
8111 pub start_control_point: crate::types::Point,
8113 pub end_control_point: crate::types::Point,
8115 pub end_point: crate::types::Point,
8117 }
8118 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8120 pub struct BotCommandScopeChat {
8121 pub chat_id: i64,
8123 }
8124 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8126 pub struct BotCommandScopeChatAdministrators {
8127 pub chat_id: i64,
8129 }
8130 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8132 pub struct BotCommandScopeChatMember {
8133 pub chat_id: i64,
8135 pub user_id: i64,
8137 }
8138 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8140 pub struct UpdateAuthorizationState {
8141 pub authorization_state: crate::enums::AuthorizationState,
8143 }
8144 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8146 pub struct UpdateNewMessage {
8147 pub message: crate::types::Message,
8149 }
8150 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8153 pub struct UpdateMessageSendAcknowledged {
8154 pub chat_id: i64,
8156 pub message_id: i64,
8158 }
8159 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8161 pub struct UpdateMessageSendSucceeded {
8162 pub message: crate::types::Message,
8164 pub old_message_id: i64,
8166 }
8167 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8169 pub struct UpdateMessageSendFailed {
8170 pub message: crate::types::Message,
8172 pub old_message_id: i64,
8174 pub error: crate::types::Error,
8176 }
8177 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8179 pub struct UpdateMessageContent {
8180 pub chat_id: i64,
8182 pub message_id: i64,
8184 pub new_content: crate::enums::MessageContent,
8186 }
8187 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8189 pub struct UpdateMessageEdited {
8190 pub chat_id: i64,
8192 pub message_id: i64,
8194 pub edit_date: i32,
8196 pub reply_markup: Option<crate::enums::ReplyMarkup>,
8198 }
8199 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8201 pub struct UpdateMessageIsPinned {
8202 pub chat_id: i64,
8204 pub message_id: i64,
8206 pub is_pinned: bool,
8208 }
8209 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8211 pub struct UpdateMessageInteractionInfo {
8212 pub chat_id: i64,
8214 pub message_id: i64,
8216 pub interaction_info: Option<crate::types::MessageInteractionInfo>,
8218 }
8219 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8221 pub struct UpdateMessageContentOpened {
8222 pub chat_id: i64,
8224 pub message_id: i64,
8226 }
8227 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8229 pub struct UpdateMessageMentionRead {
8230 pub chat_id: i64,
8232 pub message_id: i64,
8234 pub unread_mention_count: i32,
8236 }
8237 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8239 pub struct UpdateMessageUnreadReactions {
8240 pub chat_id: i64,
8242 pub message_id: i64,
8244 pub unread_reactions: Vec<crate::types::UnreadReaction>,
8246 pub unread_reaction_count: i32,
8248 }
8249 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8251 pub struct UpdateMessageLiveLocationViewed {
8252 pub chat_id: i64,
8254 pub message_id: i64,
8256 }
8257 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8259 pub struct UpdateNewChat {
8260 pub chat: crate::types::Chat,
8262 }
8263 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8265 pub struct UpdateChatTitle {
8266 pub chat_id: i64,
8268 pub title: String,
8270 }
8271 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8273 pub struct UpdateChatPhoto {
8274 pub chat_id: i64,
8276 pub photo: Option<crate::types::ChatPhotoInfo>,
8278 }
8279 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8281 pub struct UpdateChatPermissions {
8282 pub chat_id: i64,
8284 pub permissions: crate::types::ChatPermissions,
8286 }
8287 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8289 pub struct UpdateChatLastMessage {
8290 pub chat_id: i64,
8292 pub last_message: Option<crate::types::Message>,
8294 pub positions: Vec<crate::types::ChatPosition>,
8296 }
8297 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8299 pub struct UpdateChatPosition {
8300 pub chat_id: i64,
8302 pub position: crate::types::ChatPosition,
8304 }
8305 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8307 pub struct UpdateChatReadInbox {
8308 pub chat_id: i64,
8310 pub last_read_inbox_message_id: i64,
8312 pub unread_count: i32,
8314 }
8315 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8317 pub struct UpdateChatReadOutbox {
8318 pub chat_id: i64,
8320 pub last_read_outbox_message_id: i64,
8322 }
8323 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8325 pub struct UpdateChatActionBar {
8326 pub chat_id: i64,
8328 pub action_bar: Option<crate::enums::ChatActionBar>,
8330 }
8331 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8333 pub struct UpdateChatAvailableReactions {
8334 pub chat_id: i64,
8336 pub available_reactions: crate::enums::ChatAvailableReactions,
8338 }
8339 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8341 pub struct UpdateChatDraftMessage {
8342 pub chat_id: i64,
8344 pub draft_message: Option<crate::types::DraftMessage>,
8346 pub positions: Vec<crate::types::ChatPosition>,
8348 }
8349 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8351 pub struct UpdateChatMessageSender {
8352 pub chat_id: i64,
8354 pub message_sender_id: Option<crate::enums::MessageSender>,
8356 }
8357 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8359 pub struct UpdateChatMessageAutoDeleteTime {
8360 pub chat_id: i64,
8362 pub message_auto_delete_time: i32,
8364 }
8365 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8367 pub struct UpdateChatNotificationSettings {
8368 pub chat_id: i64,
8370 pub notification_settings: crate::types::ChatNotificationSettings,
8372 }
8373 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8375 pub struct UpdateChatPendingJoinRequests {
8376 pub chat_id: i64,
8378 pub pending_join_requests: Option<crate::types::ChatJoinRequestsInfo>,
8380 }
8381 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8383 pub struct UpdateChatReplyMarkup {
8384 pub chat_id: i64,
8386 pub reply_markup_message_id: i64,
8388 }
8389 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8391 pub struct UpdateChatBackground {
8392 pub chat_id: i64,
8394 pub background: Option<crate::types::ChatBackground>,
8396 }
8397 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8399 pub struct UpdateChatTheme {
8400 pub chat_id: i64,
8402 pub theme_name: String,
8404 }
8405 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8407 pub struct UpdateChatUnreadMentionCount {
8408 pub chat_id: i64,
8410 pub unread_mention_count: i32,
8412 }
8413 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8415 pub struct UpdateChatUnreadReactionCount {
8416 pub chat_id: i64,
8418 pub unread_reaction_count: i32,
8420 }
8421 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8423 pub struct UpdateChatVideoChat {
8424 pub chat_id: i64,
8426 pub video_chat: crate::types::VideoChat,
8428 }
8429 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8431 pub struct UpdateChatDefaultDisableNotification {
8432 pub chat_id: i64,
8434 pub default_disable_notification: bool,
8436 }
8437 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8439 pub struct UpdateChatHasProtectedContent {
8440 pub chat_id: i64,
8442 pub has_protected_content: bool,
8444 }
8445 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8447 pub struct UpdateChatIsTranslatable {
8448 pub chat_id: i64,
8450 pub is_translatable: bool,
8452 }
8453 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8455 pub struct UpdateChatIsMarkedAsUnread {
8456 pub chat_id: i64,
8458 pub is_marked_as_unread: bool,
8460 }
8461 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8463 pub struct UpdateChatBlockList {
8464 pub chat_id: i64,
8466 pub block_list: Option<crate::enums::BlockList>,
8468 }
8469 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8471 pub struct UpdateChatHasScheduledMessages {
8472 pub chat_id: i64,
8474 pub has_scheduled_messages: bool,
8476 }
8477 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8479 pub struct UpdateChatFolders {
8480 pub chat_folders: Vec<crate::types::ChatFolderInfo>,
8482 pub main_chat_list_position: i32,
8484 }
8485 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8488 pub struct UpdateChatOnlineMemberCount {
8489 pub chat_id: i64,
8491 pub online_member_count: i32,
8493 }
8494 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8496 pub struct UpdateForumTopicInfo {
8497 pub chat_id: i64,
8499 pub info: crate::types::ForumTopicInfo,
8501 }
8502 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8504 pub struct UpdateScopeNotificationSettings {
8505 pub scope: crate::enums::NotificationSettingsScope,
8507 pub notification_settings: crate::types::ScopeNotificationSettings,
8509 }
8510 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8512 pub struct UpdateNotification {
8513 pub notification_group_id: i32,
8515 pub notification: crate::types::Notification,
8517 }
8518 #[serde_as]
8520 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8521 pub struct UpdateNotificationGroup {
8522 pub notification_group_id: i32,
8524 pub r#type: crate::enums::NotificationGroupType,
8526 pub chat_id: i64,
8528 pub notification_settings_chat_id: i64,
8530 #[serde_as(as = "DisplayFromStr")]
8532 pub notification_sound_id: i64,
8533 pub total_count: i32,
8535 pub added_notifications: Vec<crate::types::Notification>,
8537 pub removed_notification_ids: Vec<i32>,
8539 }
8540 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8542 pub struct UpdateActiveNotifications {
8543 pub groups: Vec<crate::types::NotificationGroup>,
8545 }
8546 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8548 pub struct UpdateHavePendingNotifications {
8549 pub have_delayed_notifications: bool,
8551 pub have_unreceived_notifications: bool,
8553 }
8554 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8556 pub struct UpdateDeleteMessages {
8557 pub chat_id: i64,
8559 pub message_ids: Vec<i64>,
8561 pub is_permanent: bool,
8563 pub from_cache: bool,
8565 }
8566 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8568 pub struct UpdateChatAction {
8569 pub chat_id: i64,
8571 pub message_thread_id: i64,
8573 pub sender_id: crate::enums::MessageSender,
8575 pub action: crate::enums::ChatAction,
8577 }
8578 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8580 pub struct UpdateUserStatus {
8581 pub user_id: i64,
8583 pub status: crate::enums::UserStatus,
8585 }
8586 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8588 pub struct UpdateUser {
8589 pub user: crate::types::User,
8591 }
8592 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8594 pub struct UpdateBasicGroup {
8595 pub basic_group: crate::types::BasicGroup,
8597 }
8598 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8600 pub struct UpdateSupergroup {
8601 pub supergroup: crate::types::Supergroup,
8603 }
8604 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8606 pub struct UpdateSecretChat {
8607 pub secret_chat: crate::types::SecretChat,
8609 }
8610 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8612 pub struct UpdateUserFullInfo {
8613 pub user_id: i64,
8615 pub user_full_info: crate::types::UserFullInfo,
8617 }
8618 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8620 pub struct UpdateBasicGroupFullInfo {
8621 pub basic_group_id: i64,
8623 pub basic_group_full_info: crate::types::BasicGroupFullInfo,
8625 }
8626 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8628 pub struct UpdateSupergroupFullInfo {
8629 pub supergroup_id: i64,
8631 pub supergroup_full_info: crate::types::SupergroupFullInfo,
8633 }
8634 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8636 pub struct UpdateServiceNotification {
8637 pub r#type: String,
8639 pub content: crate::enums::MessageContent,
8641 }
8642 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8644 pub struct UpdateFile {
8645 pub file: crate::types::File,
8647 }
8648 #[serde_as]
8650 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8651 pub struct UpdateFileGenerationStart {
8652 #[serde_as(as = "DisplayFromStr")]
8654 pub generation_id: i64,
8655 pub original_path: String,
8657 pub destination_path: String,
8659 pub conversion: String,
8661 }
8662 #[serde_as]
8664 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8665 pub struct UpdateFileGenerationStop {
8666 #[serde_as(as = "DisplayFromStr")]
8668 pub generation_id: i64,
8669 }
8670 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8672 pub struct UpdateFileDownloads {
8673 pub total_size: i64,
8675 pub total_count: i32,
8677 pub downloaded_size: i64,
8679 }
8680 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8682 pub struct UpdateFileAddedToDownloads {
8683 pub file_download: crate::types::FileDownload,
8685 pub counts: crate::types::DownloadedFileCounts,
8687 }
8688 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8690 pub struct UpdateFileDownload {
8691 pub file_id: i32,
8693 pub complete_date: i32,
8695 pub is_paused: bool,
8697 pub counts: crate::types::DownloadedFileCounts,
8699 }
8700 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8702 pub struct UpdateFileRemovedFromDownloads {
8703 pub file_id: i32,
8705 pub counts: crate::types::DownloadedFileCounts,
8707 }
8708 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8710 pub struct UpdateCall {
8711 pub call: crate::types::Call,
8713 }
8714 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8716 pub struct UpdateGroupCall {
8717 pub group_call: crate::types::GroupCall,
8719 }
8720 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8722 pub struct UpdateGroupCallParticipant {
8723 pub group_call_id: i32,
8725 pub participant: crate::types::GroupCallParticipant,
8727 }
8728 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8730 pub struct UpdateNewCallSignalingData {
8731 pub call_id: i32,
8733 pub data: String,
8735 }
8736 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8738 pub struct UpdateUserPrivacySettingRules {
8739 pub setting: crate::enums::UserPrivacySetting,
8741 pub rules: crate::types::UserPrivacySettingRules,
8743 }
8744 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8746 pub struct UpdateUnreadMessageCount {
8747 pub chat_list: crate::enums::ChatList,
8749 pub unread_count: i32,
8751 pub unread_unmuted_count: i32,
8753 }
8754 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8756 pub struct UpdateUnreadChatCount {
8757 pub chat_list: crate::enums::ChatList,
8759 pub total_count: i32,
8761 pub unread_count: i32,
8763 pub unread_unmuted_count: i32,
8765 pub marked_as_unread_count: i32,
8767 pub marked_as_unread_unmuted_count: i32,
8769 }
8770 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8772 pub struct UpdateStory {
8773 pub story: crate::types::Story,
8775 }
8776 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8778 pub struct UpdateStoryDeleted {
8779 pub story_sender_chat_id: i64,
8781 pub story_id: i32,
8783 }
8784 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8786 pub struct UpdateStorySendSucceeded {
8787 pub story: crate::types::Story,
8789 pub old_story_id: i32,
8791 }
8792 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8794 pub struct UpdateStorySendFailed {
8795 pub story: crate::types::Story,
8797 pub error: crate::types::Error,
8799 pub error_type: Option<crate::enums::CanSendStoryResult>,
8801 }
8802 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8804 pub struct UpdateChatActiveStories {
8805 pub active_stories: crate::types::ChatActiveStories,
8807 }
8808 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8810 pub struct UpdateStoryListChatCount {
8811 pub story_list: crate::enums::StoryList,
8813 pub chat_count: i32,
8815 }
8816 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8818 pub struct UpdateStoryStealthMode {
8819 pub active_until_date: i32,
8821 pub cooldown_until_date: i32,
8823 }
8824 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8826 pub struct UpdateOption {
8827 pub name: String,
8829 pub value: crate::enums::OptionValue,
8831 }
8832 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8834 pub struct UpdateStickerSet {
8835 pub sticker_set: crate::types::StickerSet,
8837 }
8838 #[serde_as]
8840 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8841 pub struct UpdateInstalledStickerSets {
8842 pub sticker_type: crate::enums::StickerType,
8844 #[serde_as(as = "Vec<DisplayFromStr>")]
8846 pub sticker_set_ids: Vec<i64>,
8847 }
8848 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8850 pub struct UpdateTrendingStickerSets {
8851 pub sticker_type: crate::enums::StickerType,
8853 pub sticker_sets: crate::types::TrendingStickerSets,
8855 }
8856 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8858 pub struct UpdateRecentStickers {
8859 pub is_attached: bool,
8861 pub sticker_ids: Vec<i32>,
8863 }
8864 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8866 pub struct UpdateFavoriteStickers {
8867 pub sticker_ids: Vec<i32>,
8869 }
8870 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8872 pub struct UpdateSavedAnimations {
8873 pub animation_ids: Vec<i32>,
8875 }
8876 #[serde_as]
8878 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8879 pub struct UpdateSavedNotificationSounds {
8880 #[serde_as(as = "Vec<DisplayFromStr>")]
8882 pub notification_sound_ids: Vec<i64>,
8883 }
8884 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8886 pub struct UpdateSelectedBackground {
8887 pub for_dark_theme: bool,
8889 pub background: Option<crate::types::Background>,
8891 }
8892 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8894 pub struct UpdateChatThemes {
8895 pub chat_themes: Vec<crate::types::ChatTheme>,
8897 }
8898 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8900 pub struct UpdateLanguagePackStrings {
8901 pub localization_target: String,
8903 pub language_pack_id: String,
8905 pub strings: Vec<crate::types::LanguagePackString>,
8907 }
8908 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8910 pub struct UpdateConnectionState {
8911 pub state: crate::enums::ConnectionState,
8913 }
8914 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8916 pub struct UpdateTermsOfService {
8917 pub terms_of_service_id: String,
8919 pub terms_of_service: crate::types::TermsOfService,
8921 }
8922 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8924 pub struct UpdateUsersNearby {
8925 pub users_nearby: Vec<crate::types::ChatNearby>,
8927 }
8928 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8930 pub struct UpdateUnconfirmedSession {
8931 pub session: Option<crate::types::UnconfirmedSession>,
8933 }
8934 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8936 pub struct UpdateAttachmentMenuBots {
8937 pub bots: Vec<crate::types::AttachmentMenuBot>,
8939 }
8940 #[serde_as]
8942 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8943 pub struct UpdateWebAppMessageSent {
8944 #[serde_as(as = "DisplayFromStr")]
8946 pub web_app_launch_id: i64,
8947 }
8948 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8950 pub struct UpdateActiveEmojiReactions {
8951 pub emojis: Vec<String>,
8953 }
8954 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8956 pub struct UpdateDefaultReactionType {
8957 pub reaction_type: crate::enums::ReactionType,
8959 }
8960 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8962 pub struct UpdateDiceEmojis {
8963 pub emojis: Vec<String>,
8965 }
8966 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8968 pub struct UpdateAnimatedEmojiMessageClicked {
8969 pub chat_id: i64,
8971 pub message_id: i64,
8973 pub sticker: crate::types::Sticker,
8975 }
8976 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8978 pub struct UpdateAnimationSearchParameters {
8979 pub provider: String,
8981 pub emojis: Vec<String>,
8983 }
8984 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8986 pub struct UpdateSuggestedActions {
8987 pub added_actions: Vec<crate::enums::SuggestedAction>,
8989 pub removed_actions: Vec<crate::enums::SuggestedAction>,
8991 }
8992 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
8994 pub struct UpdateAddChatMembersPrivacyForbidden {
8995 pub chat_id: i64,
8997 pub user_ids: Vec<i64>,
8999 }
9000 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9002 pub struct UpdateAutosaveSettings {
9003 pub scope: crate::enums::AutosaveSettingsScope,
9005 pub settings: Option<crate::types::ScopeAutosaveSettings>,
9007 }
9008 #[serde_as]
9010 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9011 pub struct UpdateNewInlineQuery {
9012 #[serde_as(as = "DisplayFromStr")]
9014 pub id: i64,
9015 pub sender_user_id: i64,
9017 pub user_location: Option<crate::types::Location>,
9019 pub chat_type: Option<crate::enums::ChatType>,
9021 pub query: String,
9023 pub offset: String,
9025 }
9026 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9028 pub struct UpdateNewChosenInlineResult {
9029 pub sender_user_id: i64,
9031 pub user_location: Option<crate::types::Location>,
9033 pub query: String,
9035 pub result_id: String,
9037 pub inline_message_id: String,
9039 }
9040 #[serde_as]
9042 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9043 pub struct UpdateNewCallbackQuery {
9044 #[serde_as(as = "DisplayFromStr")]
9046 pub id: i64,
9047 pub sender_user_id: i64,
9049 pub chat_id: i64,
9051 pub message_id: i64,
9053 #[serde_as(as = "DisplayFromStr")]
9055 pub chat_instance: i64,
9056 pub payload: crate::enums::CallbackQueryPayload,
9058 }
9059 #[serde_as]
9061 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9062 pub struct UpdateNewInlineCallbackQuery {
9063 #[serde_as(as = "DisplayFromStr")]
9065 pub id: i64,
9066 pub sender_user_id: i64,
9068 pub inline_message_id: String,
9070 #[serde_as(as = "DisplayFromStr")]
9072 pub chat_instance: i64,
9073 pub payload: crate::enums::CallbackQueryPayload,
9075 }
9076 #[serde_as]
9078 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9079 pub struct UpdateNewShippingQuery {
9080 #[serde_as(as = "DisplayFromStr")]
9082 pub id: i64,
9083 pub sender_user_id: i64,
9085 pub invoice_payload: String,
9087 pub shipping_address: crate::types::Address,
9089 }
9090 #[serde_as]
9092 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9093 pub struct UpdateNewPreCheckoutQuery {
9094 #[serde_as(as = "DisplayFromStr")]
9096 pub id: i64,
9097 pub sender_user_id: i64,
9099 pub currency: String,
9101 pub total_amount: i64,
9103 pub invoice_payload: String,
9105 pub shipping_option_id: String,
9107 pub order_info: Option<crate::types::OrderInfo>,
9109 }
9110 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9112 pub struct UpdateNewCustomEvent {
9113 pub event: String,
9115 }
9116 #[serde_as]
9118 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9119 pub struct UpdateNewCustomQuery {
9120 #[serde_as(as = "DisplayFromStr")]
9122 pub id: i64,
9123 pub data: String,
9125 pub timeout: i32,
9127 }
9128 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9130 pub struct UpdatePoll {
9131 pub poll: crate::types::Poll,
9133 }
9134 #[serde_as]
9136 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9137 pub struct UpdatePollAnswer {
9138 #[serde_as(as = "DisplayFromStr")]
9140 pub poll_id: i64,
9141 pub voter_id: crate::enums::MessageSender,
9143 pub option_ids: Vec<i32>,
9145 }
9146 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9148 pub struct UpdateChatMember {
9149 pub chat_id: i64,
9151 pub actor_user_id: i64,
9153 pub date: i32,
9155 pub invite_link: Option<crate::types::ChatInviteLink>,
9157 pub via_chat_folder_invite_link: bool,
9159 pub old_chat_member: crate::types::ChatMember,
9161 pub new_chat_member: crate::types::ChatMember,
9163 }
9164 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9166 pub struct UpdateNewChatJoinRequest {
9167 pub chat_id: i64,
9169 pub request: crate::types::ChatJoinRequest,
9171 pub user_chat_id: i64,
9173 pub invite_link: Option<crate::types::ChatInviteLink>,
9175 }
9176 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9178 pub struct Updates {
9179 pub updates: Vec<crate::enums::Update>,
9181 }
9182 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9184 pub struct LogStreamFile {
9185 pub path: String,
9187 pub max_file_size: i64,
9189 pub redirect_stderr: bool,
9191 }
9192 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9194 pub struct LogVerbosityLevel {
9195 pub verbosity_level: i32,
9197 }
9198 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9200 pub struct LogTags {
9201 pub tags: Vec<String>,
9203 }
9204 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9206 pub struct UserSupportInfo {
9207 pub message: crate::types::FormattedText,
9209 pub author: String,
9211 pub date: i32,
9213 }
9214 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9216 pub struct TestInt {
9217 pub value: i32,
9219 }
9220 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9222 pub struct TestString {
9223 pub value: String,
9225 }
9226 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9228 pub struct TestBytes {
9229 pub value: String,
9231 }
9232 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9234 pub struct TestVectorInt {
9235 pub value: Vec<i32>,
9237 }
9238 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9240 pub struct TestVectorIntObject {
9241 pub value: Vec<crate::types::TestInt>,
9243 }
9244 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9246 pub struct TestVectorString {
9247 pub value: Vec<String>,
9249 }
9250 #[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)]
9252 pub struct TestVectorStringObject {
9253 pub value: Vec<crate::types::TestString>,
9255 }
9256}
9257pub mod enums {
9258 use serde::{Deserialize, Serialize};
9259 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9260 #[serde(tag = "@type")]
9261 pub enum Error {
9262 #[serde(rename(serialize = "error", deserialize = "error"))]
9264 Error(crate::types::Error),
9265 }
9266 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9267 #[serde(tag = "@type")]
9268 pub enum AuthenticationCodeType {
9269 #[serde(rename(serialize = "authenticationCodeTypeTelegramMessage", deserialize = "authenticationCodeTypeTelegramMessage"))]
9271 TelegramMessage(crate::types::AuthenticationCodeTypeTelegramMessage),
9272 #[serde(rename(serialize = "authenticationCodeTypeSms", deserialize = "authenticationCodeTypeSms"))]
9274 Sms(crate::types::AuthenticationCodeTypeSms),
9275 #[serde(rename(serialize = "authenticationCodeTypeCall", deserialize = "authenticationCodeTypeCall"))]
9277 Call(crate::types::AuthenticationCodeTypeCall),
9278 #[serde(rename(serialize = "authenticationCodeTypeFlashCall", deserialize = "authenticationCodeTypeFlashCall"))]
9280 FlashCall(crate::types::AuthenticationCodeTypeFlashCall),
9281 #[serde(rename(serialize = "authenticationCodeTypeMissedCall", deserialize = "authenticationCodeTypeMissedCall"))]
9283 MissedCall(crate::types::AuthenticationCodeTypeMissedCall),
9284 #[serde(rename(serialize = "authenticationCodeTypeFragment", deserialize = "authenticationCodeTypeFragment"))]
9286 Fragment(crate::types::AuthenticationCodeTypeFragment),
9287 #[serde(rename(serialize = "authenticationCodeTypeFirebaseAndroid", deserialize = "authenticationCodeTypeFirebaseAndroid"))]
9289 FirebaseAndroid(crate::types::AuthenticationCodeTypeFirebaseAndroid),
9290 #[serde(rename(serialize = "authenticationCodeTypeFirebaseIos", deserialize = "authenticationCodeTypeFirebaseIos"))]
9292 FirebaseIos(crate::types::AuthenticationCodeTypeFirebaseIos),
9293 }
9294 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9295 #[serde(tag = "@type")]
9296 pub enum AuthenticationCodeInfo {
9297 #[serde(rename(serialize = "authenticationCodeInfo", deserialize = "authenticationCodeInfo"))]
9299 AuthenticationCodeInfo(crate::types::AuthenticationCodeInfo),
9300 }
9301 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9302 #[serde(tag = "@type")]
9303 pub enum EmailAddressAuthenticationCodeInfo {
9304 #[serde(rename(serialize = "emailAddressAuthenticationCodeInfo", deserialize = "emailAddressAuthenticationCodeInfo"))]
9306 EmailAddressAuthenticationCodeInfo(crate::types::EmailAddressAuthenticationCodeInfo),
9307 }
9308 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9309 #[serde(tag = "@type")]
9310 pub enum EmailAddressAuthentication {
9311 #[serde(rename(serialize = "emailAddressAuthenticationCode", deserialize = "emailAddressAuthenticationCode"))]
9313 Code(crate::types::EmailAddressAuthenticationCode),
9314 #[serde(rename(serialize = "emailAddressAuthenticationAppleId", deserialize = "emailAddressAuthenticationAppleId"))]
9316 AppleId(crate::types::EmailAddressAuthenticationAppleId),
9317 #[serde(rename(serialize = "emailAddressAuthenticationGoogleId", deserialize = "emailAddressAuthenticationGoogleId"))]
9319 GoogleId(crate::types::EmailAddressAuthenticationGoogleId),
9320 }
9321 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9322 #[serde(tag = "@type")]
9323 pub enum EmailAddressResetState {
9324 #[serde(rename(serialize = "emailAddressResetStateAvailable", deserialize = "emailAddressResetStateAvailable"))]
9326 Available(crate::types::EmailAddressResetStateAvailable),
9327 #[serde(rename(serialize = "emailAddressResetStatePending", deserialize = "emailAddressResetStatePending"))]
9329 Pending(crate::types::EmailAddressResetStatePending),
9330 }
9331 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9332 #[serde(tag = "@type")]
9333 pub enum TextEntity {
9334 #[serde(rename(serialize = "textEntity", deserialize = "textEntity"))]
9336 TextEntity(crate::types::TextEntity),
9337 }
9338 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9339 #[serde(tag = "@type")]
9340 pub enum TextEntities {
9341 #[serde(rename(serialize = "textEntities", deserialize = "textEntities"))]
9343 TextEntities(crate::types::TextEntities),
9344 }
9345 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9346 #[serde(tag = "@type")]
9347 pub enum FormattedText {
9348 #[serde(rename(serialize = "formattedText", deserialize = "formattedText"))]
9350 FormattedText(crate::types::FormattedText),
9351 }
9352 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9353 #[serde(tag = "@type")]
9354 pub enum TermsOfService {
9355 #[serde(rename(serialize = "termsOfService", deserialize = "termsOfService"))]
9357 TermsOfService(crate::types::TermsOfService),
9358 }
9359 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9360 #[serde(tag = "@type")]
9361 pub enum AuthorizationState {
9362 #[serde(rename(serialize = "authorizationStateWaitTdlibParameters", deserialize = "authorizationStateWaitTdlibParameters"))]
9364 WaitTdlibParameters,
9365 #[serde(rename(serialize = "authorizationStateWaitPhoneNumber", deserialize = "authorizationStateWaitPhoneNumber"))]
9367 WaitPhoneNumber,
9368 #[serde(rename(serialize = "authorizationStateWaitEmailAddress", deserialize = "authorizationStateWaitEmailAddress"))]
9370 WaitEmailAddress(crate::types::AuthorizationStateWaitEmailAddress),
9371 #[serde(rename(serialize = "authorizationStateWaitEmailCode", deserialize = "authorizationStateWaitEmailCode"))]
9373 WaitEmailCode(crate::types::AuthorizationStateWaitEmailCode),
9374 #[serde(rename(serialize = "authorizationStateWaitCode", deserialize = "authorizationStateWaitCode"))]
9376 WaitCode(crate::types::AuthorizationStateWaitCode),
9377 #[serde(rename(serialize = "authorizationStateWaitOtherDeviceConfirmation", deserialize = "authorizationStateWaitOtherDeviceConfirmation"))]
9379 WaitOtherDeviceConfirmation(crate::types::AuthorizationStateWaitOtherDeviceConfirmation),
9380 #[serde(rename(serialize = "authorizationStateWaitRegistration", deserialize = "authorizationStateWaitRegistration"))]
9382 WaitRegistration(crate::types::AuthorizationStateWaitRegistration),
9383 #[serde(rename(serialize = "authorizationStateWaitPassword", deserialize = "authorizationStateWaitPassword"))]
9386 WaitPassword(crate::types::AuthorizationStateWaitPassword),
9387 #[serde(rename(serialize = "authorizationStateReady", deserialize = "authorizationStateReady"))]
9389 Ready,
9390 #[serde(rename(serialize = "authorizationStateLoggingOut", deserialize = "authorizationStateLoggingOut"))]
9392 LoggingOut,
9393 #[serde(rename(serialize = "authorizationStateClosing", deserialize = "authorizationStateClosing"))]
9395 Closing,
9396 #[serde(rename(serialize = "authorizationStateClosed", deserialize = "authorizationStateClosed"))]
9399 Closed,
9400 }
9401 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9402 #[serde(tag = "@type")]
9403 pub enum PasswordState {
9404 #[serde(rename(serialize = "passwordState", deserialize = "passwordState"))]
9406 PasswordState(crate::types::PasswordState),
9407 }
9408 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9409 #[serde(tag = "@type")]
9410 pub enum RecoveryEmailAddress {
9411 #[serde(rename(serialize = "recoveryEmailAddress", deserialize = "recoveryEmailAddress"))]
9413 RecoveryEmailAddress(crate::types::RecoveryEmailAddress),
9414 }
9415 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9416 #[serde(tag = "@type")]
9417 pub enum TemporaryPasswordState {
9418 #[serde(rename(serialize = "temporaryPasswordState", deserialize = "temporaryPasswordState"))]
9420 TemporaryPasswordState(crate::types::TemporaryPasswordState),
9421 }
9422 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9423 #[serde(tag = "@type")]
9424 pub enum LocalFile {
9425 #[serde(rename(serialize = "localFile", deserialize = "localFile"))]
9427 LocalFile(crate::types::LocalFile),
9428 }
9429 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9430 #[serde(tag = "@type")]
9431 pub enum RemoteFile {
9432 #[serde(rename(serialize = "remoteFile", deserialize = "remoteFile"))]
9434 RemoteFile(crate::types::RemoteFile),
9435 }
9436 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9437 #[serde(tag = "@type")]
9438 pub enum File {
9439 #[serde(rename(serialize = "file", deserialize = "file"))]
9441 File(crate::types::File),
9442 }
9443 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9444 #[serde(tag = "@type")]
9445 pub enum InputFile {
9446 #[serde(rename(serialize = "inputFileId", deserialize = "inputFileId"))]
9448 Id(crate::types::InputFileId),
9449 #[serde(rename(serialize = "inputFileRemote", deserialize = "inputFileRemote"))]
9452 Remote(crate::types::InputFileRemote),
9453 #[serde(rename(serialize = "inputFileLocal", deserialize = "inputFileLocal"))]
9455 Local(crate::types::InputFileLocal),
9456 #[serde(rename(serialize = "inputFileGenerated", deserialize = "inputFileGenerated"))]
9458 Generated(crate::types::InputFileGenerated),
9459 }
9460 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9461 #[serde(tag = "@type")]
9462 pub enum PhotoSize {
9463 #[serde(rename(serialize = "photoSize", deserialize = "photoSize"))]
9465 PhotoSize(crate::types::PhotoSize),
9466 }
9467 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9468 #[serde(tag = "@type")]
9469 pub enum Minithumbnail {
9470 #[serde(rename(serialize = "minithumbnail", deserialize = "minithumbnail"))]
9472 Minithumbnail(crate::types::Minithumbnail),
9473 }
9474 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9475 #[serde(tag = "@type")]
9476 pub enum ThumbnailFormat {
9477 #[serde(rename(serialize = "thumbnailFormatJpeg", deserialize = "thumbnailFormatJpeg"))]
9479 Jpeg,
9480 #[serde(rename(serialize = "thumbnailFormatGif", deserialize = "thumbnailFormatGif"))]
9482 Gif,
9483 #[serde(rename(serialize = "thumbnailFormatMpeg4", deserialize = "thumbnailFormatMpeg4"))]
9485 Mpeg4,
9486 #[serde(rename(serialize = "thumbnailFormatPng", deserialize = "thumbnailFormatPng"))]
9488 Png,
9489 #[serde(rename(serialize = "thumbnailFormatTgs", deserialize = "thumbnailFormatTgs"))]
9491 Tgs,
9492 #[serde(rename(serialize = "thumbnailFormatWebm", deserialize = "thumbnailFormatWebm"))]
9494 Webm,
9495 #[serde(rename(serialize = "thumbnailFormatWebp", deserialize = "thumbnailFormatWebp"))]
9497 Webp,
9498 }
9499 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9500 #[serde(tag = "@type")]
9501 pub enum Thumbnail {
9502 #[serde(rename(serialize = "thumbnail", deserialize = "thumbnail"))]
9504 Thumbnail(crate::types::Thumbnail),
9505 }
9506 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9507 #[serde(tag = "@type")]
9508 pub enum MaskPoint {
9509 #[serde(rename(serialize = "maskPointForehead", deserialize = "maskPointForehead"))]
9511 Forehead,
9512 #[serde(rename(serialize = "maskPointEyes", deserialize = "maskPointEyes"))]
9514 Eyes,
9515 #[serde(rename(serialize = "maskPointMouth", deserialize = "maskPointMouth"))]
9517 Mouth,
9518 #[serde(rename(serialize = "maskPointChin", deserialize = "maskPointChin"))]
9520 Chin,
9521 }
9522 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9523 #[serde(tag = "@type")]
9524 pub enum MaskPosition {
9525 #[serde(rename(serialize = "maskPosition", deserialize = "maskPosition"))]
9527 MaskPosition(crate::types::MaskPosition),
9528 }
9529 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9530 #[serde(tag = "@type")]
9531 pub enum StickerFormat {
9532 #[serde(rename(serialize = "stickerFormatWebp", deserialize = "stickerFormatWebp"))]
9534 Webp,
9535 #[serde(rename(serialize = "stickerFormatTgs", deserialize = "stickerFormatTgs"))]
9537 Tgs,
9538 #[serde(rename(serialize = "stickerFormatWebm", deserialize = "stickerFormatWebm"))]
9540 Webm,
9541 }
9542 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9543 #[serde(tag = "@type")]
9544 pub enum StickerType {
9545 #[serde(rename(serialize = "stickerTypeRegular", deserialize = "stickerTypeRegular"))]
9547 Regular,
9548 #[serde(rename(serialize = "stickerTypeMask", deserialize = "stickerTypeMask"))]
9550 Mask,
9551 #[serde(rename(serialize = "stickerTypeCustomEmoji", deserialize = "stickerTypeCustomEmoji"))]
9553 CustomEmoji,
9554 }
9555 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9556 #[serde(tag = "@type")]
9557 pub enum StickerFullType {
9558 #[serde(rename(serialize = "stickerFullTypeRegular", deserialize = "stickerFullTypeRegular"))]
9560 Regular(crate::types::StickerFullTypeRegular),
9561 #[serde(rename(serialize = "stickerFullTypeMask", deserialize = "stickerFullTypeMask"))]
9563 Mask(crate::types::StickerFullTypeMask),
9564 #[serde(rename(serialize = "stickerFullTypeCustomEmoji", deserialize = "stickerFullTypeCustomEmoji"))]
9566 CustomEmoji(crate::types::StickerFullTypeCustomEmoji),
9567 }
9568 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9569 #[serde(tag = "@type")]
9570 pub enum ClosedVectorPath {
9571 #[serde(rename(serialize = "closedVectorPath", deserialize = "closedVectorPath"))]
9573 ClosedVectorPath(crate::types::ClosedVectorPath),
9574 }
9575 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9576 #[serde(tag = "@type")]
9577 pub enum PollOption {
9578 #[serde(rename(serialize = "pollOption", deserialize = "pollOption"))]
9580 PollOption(crate::types::PollOption),
9581 }
9582 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9583 #[serde(tag = "@type")]
9584 pub enum PollType {
9585 #[serde(rename(serialize = "pollTypeRegular", deserialize = "pollTypeRegular"))]
9587 Regular(crate::types::PollTypeRegular),
9588 #[serde(rename(serialize = "pollTypeQuiz", deserialize = "pollTypeQuiz"))]
9590 Quiz(crate::types::PollTypeQuiz),
9591 }
9592 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9593 #[serde(tag = "@type")]
9594 pub enum Animation {
9595 #[serde(rename(serialize = "animation", deserialize = "animation"))]
9597 Animation(crate::types::Animation),
9598 }
9599 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9600 #[serde(tag = "@type")]
9601 pub enum Audio {
9602 #[serde(rename(serialize = "audio", deserialize = "audio"))]
9604 Audio(crate::types::Audio),
9605 }
9606 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9607 #[serde(tag = "@type")]
9608 pub enum Document {
9609 #[serde(rename(serialize = "document", deserialize = "document"))]
9611 Document(crate::types::Document),
9612 }
9613 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9614 #[serde(tag = "@type")]
9615 pub enum Photo {
9616 #[serde(rename(serialize = "photo", deserialize = "photo"))]
9618 Photo(crate::types::Photo),
9619 }
9620 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9621 #[serde(tag = "@type")]
9622 pub enum Sticker {
9623 #[serde(rename(serialize = "sticker", deserialize = "sticker"))]
9625 Sticker(crate::types::Sticker),
9626 }
9627 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9628 #[serde(tag = "@type")]
9629 pub enum Video {
9630 #[serde(rename(serialize = "video", deserialize = "video"))]
9632 Video(crate::types::Video),
9633 }
9634 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9635 #[serde(tag = "@type")]
9636 pub enum VideoNote {
9637 #[serde(rename(serialize = "videoNote", deserialize = "videoNote"))]
9639 VideoNote(crate::types::VideoNote),
9640 }
9641 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9642 #[serde(tag = "@type")]
9643 pub enum VoiceNote {
9644 #[serde(rename(serialize = "voiceNote", deserialize = "voiceNote"))]
9646 VoiceNote(crate::types::VoiceNote),
9647 }
9648 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9649 #[serde(tag = "@type")]
9650 pub enum AnimatedEmoji {
9651 #[serde(rename(serialize = "animatedEmoji", deserialize = "animatedEmoji"))]
9653 AnimatedEmoji(crate::types::AnimatedEmoji),
9654 }
9655 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9656 #[serde(tag = "@type")]
9657 pub enum Contact {
9658 #[serde(rename(serialize = "contact", deserialize = "contact"))]
9660 Contact(crate::types::Contact),
9661 }
9662 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9663 #[serde(tag = "@type")]
9664 pub enum Location {
9665 #[serde(rename(serialize = "location", deserialize = "location"))]
9667 Location(crate::types::Location),
9668 }
9669 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9670 #[serde(tag = "@type")]
9671 pub enum Venue {
9672 #[serde(rename(serialize = "venue", deserialize = "venue"))]
9674 Venue(crate::types::Venue),
9675 }
9676 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9677 #[serde(tag = "@type")]
9678 pub enum Game {
9679 #[serde(rename(serialize = "game", deserialize = "game"))]
9681 Game(crate::types::Game),
9682 }
9683 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9684 #[serde(tag = "@type")]
9685 pub enum WebApp {
9686 #[serde(rename(serialize = "webApp", deserialize = "webApp"))]
9688 WebApp(crate::types::WebApp),
9689 }
9690 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9691 #[serde(tag = "@type")]
9692 pub enum Poll {
9693 #[serde(rename(serialize = "poll", deserialize = "poll"))]
9695 Poll(crate::types::Poll),
9696 }
9697 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9698 #[serde(tag = "@type")]
9699 pub enum Background {
9700 #[serde(rename(serialize = "background", deserialize = "background"))]
9702 Background(crate::types::Background),
9703 }
9704 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9705 #[serde(tag = "@type")]
9706 pub enum Backgrounds {
9707 #[serde(rename(serialize = "backgrounds", deserialize = "backgrounds"))]
9709 Backgrounds(crate::types::Backgrounds),
9710 }
9711 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9712 #[serde(tag = "@type")]
9713 pub enum ChatBackground {
9714 #[serde(rename(serialize = "chatBackground", deserialize = "chatBackground"))]
9716 ChatBackground(crate::types::ChatBackground),
9717 }
9718 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9719 #[serde(tag = "@type")]
9720 pub enum ProfilePhoto {
9721 #[serde(rename(serialize = "profilePhoto", deserialize = "profilePhoto"))]
9723 ProfilePhoto(crate::types::ProfilePhoto),
9724 }
9725 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9726 #[serde(tag = "@type")]
9727 pub enum ChatPhotoInfo {
9728 #[serde(rename(serialize = "chatPhotoInfo", deserialize = "chatPhotoInfo"))]
9730 ChatPhotoInfo(crate::types::ChatPhotoInfo),
9731 }
9732 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9733 #[serde(tag = "@type")]
9734 pub enum UserType {
9735 #[serde(rename(serialize = "userTypeRegular", deserialize = "userTypeRegular"))]
9737 Regular,
9738 #[serde(rename(serialize = "userTypeDeleted", deserialize = "userTypeDeleted"))]
9740 Deleted,
9741 #[serde(rename(serialize = "userTypeBot", deserialize = "userTypeBot"))]
9743 Bot(crate::types::UserTypeBot),
9744 #[serde(rename(serialize = "userTypeUnknown", deserialize = "userTypeUnknown"))]
9746 Unknown,
9747 }
9748 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9749 #[serde(tag = "@type")]
9750 pub enum BotCommand {
9751 #[serde(rename(serialize = "botCommand", deserialize = "botCommand"))]
9753 BotCommand(crate::types::BotCommand),
9754 }
9755 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9756 #[serde(tag = "@type")]
9757 pub enum BotCommands {
9758 #[serde(rename(serialize = "botCommands", deserialize = "botCommands"))]
9760 BotCommands(crate::types::BotCommands),
9761 }
9762 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9763 #[serde(tag = "@type")]
9764 pub enum BotMenuButton {
9765 #[serde(rename(serialize = "botMenuButton", deserialize = "botMenuButton"))]
9767 BotMenuButton(crate::types::BotMenuButton),
9768 }
9769 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9770 #[serde(tag = "@type")]
9771 pub enum ChatLocation {
9772 #[serde(rename(serialize = "chatLocation", deserialize = "chatLocation"))]
9774 ChatLocation(crate::types::ChatLocation),
9775 }
9776 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9777 #[serde(tag = "@type")]
9778 pub enum ChatPhotoStickerType {
9779 #[serde(rename(serialize = "chatPhotoStickerTypeRegularOrMask", deserialize = "chatPhotoStickerTypeRegularOrMask"))]
9781 RegularOrMask(crate::types::ChatPhotoStickerTypeRegularOrMask),
9782 #[serde(rename(serialize = "chatPhotoStickerTypeCustomEmoji", deserialize = "chatPhotoStickerTypeCustomEmoji"))]
9784 CustomEmoji(crate::types::ChatPhotoStickerTypeCustomEmoji),
9785 }
9786 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9787 #[serde(tag = "@type")]
9788 pub enum ChatPhotoSticker {
9789 #[serde(rename(serialize = "chatPhotoSticker", deserialize = "chatPhotoSticker"))]
9791 ChatPhotoSticker(crate::types::ChatPhotoSticker),
9792 }
9793 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9794 #[serde(tag = "@type")]
9795 pub enum AnimatedChatPhoto {
9796 #[serde(rename(serialize = "animatedChatPhoto", deserialize = "animatedChatPhoto"))]
9798 AnimatedChatPhoto(crate::types::AnimatedChatPhoto),
9799 }
9800 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9801 #[serde(tag = "@type")]
9802 pub enum ChatPhoto {
9803 #[serde(rename(serialize = "chatPhoto", deserialize = "chatPhoto"))]
9805 ChatPhoto(crate::types::ChatPhoto),
9806 }
9807 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9808 #[serde(tag = "@type")]
9809 pub enum ChatPhotos {
9810 #[serde(rename(serialize = "chatPhotos", deserialize = "chatPhotos"))]
9812 ChatPhotos(crate::types::ChatPhotos),
9813 }
9814 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9815 #[serde(tag = "@type")]
9816 pub enum InputChatPhoto {
9817 #[serde(rename(serialize = "inputChatPhotoPrevious", deserialize = "inputChatPhotoPrevious"))]
9819 Previous(crate::types::InputChatPhotoPrevious),
9820 #[serde(rename(serialize = "inputChatPhotoStatic", deserialize = "inputChatPhotoStatic"))]
9822 Static(crate::types::InputChatPhotoStatic),
9823 #[serde(rename(serialize = "inputChatPhotoAnimation", deserialize = "inputChatPhotoAnimation"))]
9825 Animation(crate::types::InputChatPhotoAnimation),
9826 #[serde(rename(serialize = "inputChatPhotoSticker", deserialize = "inputChatPhotoSticker"))]
9828 Sticker(crate::types::InputChatPhotoSticker),
9829 }
9830 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9831 #[serde(tag = "@type")]
9832 pub enum ChatPermissions {
9833 #[serde(rename(serialize = "chatPermissions", deserialize = "chatPermissions"))]
9835 ChatPermissions(crate::types::ChatPermissions),
9836 }
9837 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9838 #[serde(tag = "@type")]
9839 pub enum ChatAdministratorRights {
9840 #[serde(rename(serialize = "chatAdministratorRights", deserialize = "chatAdministratorRights"))]
9842 ChatAdministratorRights(crate::types::ChatAdministratorRights),
9843 }
9844 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9845 #[serde(tag = "@type")]
9846 pub enum PremiumPaymentOption {
9847 #[serde(rename(serialize = "premiumPaymentOption", deserialize = "premiumPaymentOption"))]
9849 PremiumPaymentOption(crate::types::PremiumPaymentOption),
9850 }
9851 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9852 #[serde(tag = "@type")]
9853 pub enum PremiumStatePaymentOption {
9854 #[serde(rename(serialize = "premiumStatePaymentOption", deserialize = "premiumStatePaymentOption"))]
9856 PremiumStatePaymentOption(crate::types::PremiumStatePaymentOption),
9857 }
9858 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9859 #[serde(tag = "@type")]
9860 pub enum EmojiStatus {
9861 #[serde(rename(serialize = "emojiStatus", deserialize = "emojiStatus"))]
9863 EmojiStatus(crate::types::EmojiStatus),
9864 }
9865 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9866 #[serde(tag = "@type")]
9867 pub enum EmojiStatuses {
9868 #[serde(rename(serialize = "emojiStatuses", deserialize = "emojiStatuses"))]
9870 EmojiStatuses(crate::types::EmojiStatuses),
9871 }
9872 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9873 #[serde(tag = "@type")]
9874 pub enum Usernames {
9875 #[serde(rename(serialize = "usernames", deserialize = "usernames"))]
9877 Usernames(crate::types::Usernames),
9878 }
9879 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9880 #[serde(tag = "@type")]
9881 pub enum User {
9882 #[serde(rename(serialize = "user", deserialize = "user"))]
9884 User(crate::types::User),
9885 }
9886 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9887 #[serde(tag = "@type")]
9888 pub enum BotInfo {
9889 #[serde(rename(serialize = "botInfo", deserialize = "botInfo"))]
9891 BotInfo(crate::types::BotInfo),
9892 }
9893 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9894 #[serde(tag = "@type")]
9895 pub enum UserFullInfo {
9896 #[serde(rename(serialize = "userFullInfo", deserialize = "userFullInfo"))]
9898 UserFullInfo(crate::types::UserFullInfo),
9899 }
9900 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9901 #[serde(tag = "@type")]
9902 pub enum Users {
9903 #[serde(rename(serialize = "users", deserialize = "users"))]
9905 Users(crate::types::Users),
9906 }
9907 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9908 #[serde(tag = "@type")]
9909 pub enum ChatAdministrator {
9910 #[serde(rename(serialize = "chatAdministrator", deserialize = "chatAdministrator"))]
9912 ChatAdministrator(crate::types::ChatAdministrator),
9913 }
9914 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9915 #[serde(tag = "@type")]
9916 pub enum ChatAdministrators {
9917 #[serde(rename(serialize = "chatAdministrators", deserialize = "chatAdministrators"))]
9919 ChatAdministrators(crate::types::ChatAdministrators),
9920 }
9921 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9922 #[serde(tag = "@type")]
9923 pub enum ChatMemberStatus {
9924 #[serde(rename(serialize = "chatMemberStatusCreator", deserialize = "chatMemberStatusCreator"))]
9926 Creator(crate::types::ChatMemberStatusCreator),
9927 #[serde(rename(serialize = "chatMemberStatusAdministrator", deserialize = "chatMemberStatusAdministrator"))]
9930 Administrator(crate::types::ChatMemberStatusAdministrator),
9931 #[serde(rename(serialize = "chatMemberStatusMember", deserialize = "chatMemberStatusMember"))]
9933 Member,
9934 #[serde(rename(serialize = "chatMemberStatusRestricted", deserialize = "chatMemberStatusRestricted"))]
9936 Restricted(crate::types::ChatMemberStatusRestricted),
9937 #[serde(rename(serialize = "chatMemberStatusLeft", deserialize = "chatMemberStatusLeft"))]
9939 Left,
9940 #[serde(rename(serialize = "chatMemberStatusBanned", deserialize = "chatMemberStatusBanned"))]
9942 Banned(crate::types::ChatMemberStatusBanned),
9943 }
9944 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9945 #[serde(tag = "@type")]
9946 pub enum ChatMember {
9947 #[serde(rename(serialize = "chatMember", deserialize = "chatMember"))]
9949 ChatMember(crate::types::ChatMember),
9950 }
9951 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9952 #[serde(tag = "@type")]
9953 pub enum ChatMembers {
9954 #[serde(rename(serialize = "chatMembers", deserialize = "chatMembers"))]
9956 ChatMembers(crate::types::ChatMembers),
9957 }
9958 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9959 #[serde(tag = "@type")]
9960 pub enum ChatMembersFilter {
9961 #[serde(rename(serialize = "chatMembersFilterContacts", deserialize = "chatMembersFilterContacts"))]
9963 Contacts,
9964 #[serde(rename(serialize = "chatMembersFilterAdministrators", deserialize = "chatMembersFilterAdministrators"))]
9966 Administrators,
9967 #[serde(rename(serialize = "chatMembersFilterMembers", deserialize = "chatMembersFilterMembers"))]
9969 Members,
9970 #[serde(rename(serialize = "chatMembersFilterMention", deserialize = "chatMembersFilterMention"))]
9972 Mention(crate::types::ChatMembersFilterMention),
9973 #[serde(rename(serialize = "chatMembersFilterRestricted", deserialize = "chatMembersFilterRestricted"))]
9975 Restricted,
9976 #[serde(rename(serialize = "chatMembersFilterBanned", deserialize = "chatMembersFilterBanned"))]
9978 Banned,
9979 #[serde(rename(serialize = "chatMembersFilterBots", deserialize = "chatMembersFilterBots"))]
9981 Bots,
9982 }
9983 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
9984 #[serde(tag = "@type")]
9985 pub enum SupergroupMembersFilter {
9986 #[serde(rename(serialize = "supergroupMembersFilterRecent", deserialize = "supergroupMembersFilterRecent"))]
9988 Recent,
9989 #[serde(rename(serialize = "supergroupMembersFilterContacts", deserialize = "supergroupMembersFilterContacts"))]
9991 Contacts(crate::types::SupergroupMembersFilterContacts),
9992 #[serde(rename(serialize = "supergroupMembersFilterAdministrators", deserialize = "supergroupMembersFilterAdministrators"))]
9994 Administrators,
9995 #[serde(rename(serialize = "supergroupMembersFilterSearch", deserialize = "supergroupMembersFilterSearch"))]
9997 Search(crate::types::SupergroupMembersFilterSearch),
9998 #[serde(rename(serialize = "supergroupMembersFilterRestricted", deserialize = "supergroupMembersFilterRestricted"))]
10000 Restricted(crate::types::SupergroupMembersFilterRestricted),
10001 #[serde(rename(serialize = "supergroupMembersFilterBanned", deserialize = "supergroupMembersFilterBanned"))]
10003 Banned(crate::types::SupergroupMembersFilterBanned),
10004 #[serde(rename(serialize = "supergroupMembersFilterMention", deserialize = "supergroupMembersFilterMention"))]
10006 Mention(crate::types::SupergroupMembersFilterMention),
10007 #[serde(rename(serialize = "supergroupMembersFilterBots", deserialize = "supergroupMembersFilterBots"))]
10009 Bots,
10010 }
10011 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10012 #[serde(tag = "@type")]
10013 pub enum ChatInviteLink {
10014 #[serde(rename(serialize = "chatInviteLink", deserialize = "chatInviteLink"))]
10016 ChatInviteLink(crate::types::ChatInviteLink),
10017 }
10018 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10019 #[serde(tag = "@type")]
10020 pub enum ChatInviteLinks {
10021 #[serde(rename(serialize = "chatInviteLinks", deserialize = "chatInviteLinks"))]
10023 ChatInviteLinks(crate::types::ChatInviteLinks),
10024 }
10025 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10026 #[serde(tag = "@type")]
10027 pub enum ChatInviteLinkCount {
10028 #[serde(rename(serialize = "chatInviteLinkCount", deserialize = "chatInviteLinkCount"))]
10030 ChatInviteLinkCount(crate::types::ChatInviteLinkCount),
10031 }
10032 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10033 #[serde(tag = "@type")]
10034 pub enum ChatInviteLinkCounts {
10035 #[serde(rename(serialize = "chatInviteLinkCounts", deserialize = "chatInviteLinkCounts"))]
10037 ChatInviteLinkCounts(crate::types::ChatInviteLinkCounts),
10038 }
10039 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10040 #[serde(tag = "@type")]
10041 pub enum ChatInviteLinkMember {
10042 #[serde(rename(serialize = "chatInviteLinkMember", deserialize = "chatInviteLinkMember"))]
10044 ChatInviteLinkMember(crate::types::ChatInviteLinkMember),
10045 }
10046 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10047 #[serde(tag = "@type")]
10048 pub enum ChatInviteLinkMembers {
10049 #[serde(rename(serialize = "chatInviteLinkMembers", deserialize = "chatInviteLinkMembers"))]
10051 ChatInviteLinkMembers(crate::types::ChatInviteLinkMembers),
10052 }
10053 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10054 #[serde(tag = "@type")]
10055 pub enum InviteLinkChatType {
10056 #[serde(rename(serialize = "inviteLinkChatTypeBasicGroup", deserialize = "inviteLinkChatTypeBasicGroup"))]
10058 BasicGroup,
10059 #[serde(rename(serialize = "inviteLinkChatTypeSupergroup", deserialize = "inviteLinkChatTypeSupergroup"))]
10061 Supergroup,
10062 #[serde(rename(serialize = "inviteLinkChatTypeChannel", deserialize = "inviteLinkChatTypeChannel"))]
10064 Channel,
10065 }
10066 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10067 #[serde(tag = "@type")]
10068 pub enum ChatInviteLinkInfo {
10069 #[serde(rename(serialize = "chatInviteLinkInfo", deserialize = "chatInviteLinkInfo"))]
10071 ChatInviteLinkInfo(crate::types::ChatInviteLinkInfo),
10072 }
10073 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10074 #[serde(tag = "@type")]
10075 pub enum ChatJoinRequest {
10076 #[serde(rename(serialize = "chatJoinRequest", deserialize = "chatJoinRequest"))]
10078 ChatJoinRequest(crate::types::ChatJoinRequest),
10079 }
10080 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10081 #[serde(tag = "@type")]
10082 pub enum ChatJoinRequests {
10083 #[serde(rename(serialize = "chatJoinRequests", deserialize = "chatJoinRequests"))]
10085 ChatJoinRequests(crate::types::ChatJoinRequests),
10086 }
10087 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10088 #[serde(tag = "@type")]
10089 pub enum ChatJoinRequestsInfo {
10090 #[serde(rename(serialize = "chatJoinRequestsInfo", deserialize = "chatJoinRequestsInfo"))]
10092 ChatJoinRequestsInfo(crate::types::ChatJoinRequestsInfo),
10093 }
10094 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10095 #[serde(tag = "@type")]
10096 pub enum BasicGroup {
10097 #[serde(rename(serialize = "basicGroup", deserialize = "basicGroup"))]
10099 BasicGroup(crate::types::BasicGroup),
10100 }
10101 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10102 #[serde(tag = "@type")]
10103 pub enum BasicGroupFullInfo {
10104 #[serde(rename(serialize = "basicGroupFullInfo", deserialize = "basicGroupFullInfo"))]
10106 BasicGroupFullInfo(crate::types::BasicGroupFullInfo),
10107 }
10108 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10109 #[serde(tag = "@type")]
10110 pub enum Supergroup {
10111 #[serde(rename(serialize = "supergroup", deserialize = "supergroup"))]
10115 Supergroup(crate::types::Supergroup),
10116 }
10117 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10118 #[serde(tag = "@type")]
10119 pub enum SupergroupFullInfo {
10120 #[serde(rename(serialize = "supergroupFullInfo", deserialize = "supergroupFullInfo"))]
10122 SupergroupFullInfo(crate::types::SupergroupFullInfo),
10123 }
10124 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10125 #[serde(tag = "@type")]
10126 pub enum SecretChatState {
10127 #[serde(rename(serialize = "secretChatStatePending", deserialize = "secretChatStatePending"))]
10129 Pending,
10130 #[serde(rename(serialize = "secretChatStateReady", deserialize = "secretChatStateReady"))]
10132 Ready,
10133 #[serde(rename(serialize = "secretChatStateClosed", deserialize = "secretChatStateClosed"))]
10135 Closed,
10136 }
10137 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10138 #[serde(tag = "@type")]
10139 pub enum SecretChat {
10140 #[serde(rename(serialize = "secretChat", deserialize = "secretChat"))]
10142 SecretChat(crate::types::SecretChat),
10143 }
10144 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10145 #[serde(tag = "@type")]
10146 pub enum MessageSender {
10147 #[serde(rename(serialize = "messageSenderUser", deserialize = "messageSenderUser"))]
10149 User(crate::types::MessageSenderUser),
10150 #[serde(rename(serialize = "messageSenderChat", deserialize = "messageSenderChat"))]
10152 Chat(crate::types::MessageSenderChat),
10153 }
10154 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10155 #[serde(tag = "@type")]
10156 pub enum MessageSenders {
10157 #[serde(rename(serialize = "messageSenders", deserialize = "messageSenders"))]
10159 MessageSenders(crate::types::MessageSenders),
10160 }
10161 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10162 #[serde(tag = "@type")]
10163 pub enum ChatMessageSender {
10164 #[serde(rename(serialize = "chatMessageSender", deserialize = "chatMessageSender"))]
10166 ChatMessageSender(crate::types::ChatMessageSender),
10167 }
10168 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10169 #[serde(tag = "@type")]
10170 pub enum ChatMessageSenders {
10171 #[serde(rename(serialize = "chatMessageSenders", deserialize = "chatMessageSenders"))]
10173 ChatMessageSenders(crate::types::ChatMessageSenders),
10174 }
10175 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10176 #[serde(tag = "@type")]
10177 pub enum MessageViewer {
10178 #[serde(rename(serialize = "messageViewer", deserialize = "messageViewer"))]
10180 MessageViewer(crate::types::MessageViewer),
10181 }
10182 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10183 #[serde(tag = "@type")]
10184 pub enum MessageViewers {
10185 #[serde(rename(serialize = "messageViewers", deserialize = "messageViewers"))]
10187 MessageViewers(crate::types::MessageViewers),
10188 }
10189 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10190 #[serde(tag = "@type")]
10191 pub enum MessageForwardOrigin {
10192 #[serde(rename(serialize = "messageForwardOriginUser", deserialize = "messageForwardOriginUser"))]
10194 User(crate::types::MessageForwardOriginUser),
10195 #[serde(rename(serialize = "messageForwardOriginChat", deserialize = "messageForwardOriginChat"))]
10197 Chat(crate::types::MessageForwardOriginChat),
10198 #[serde(rename(serialize = "messageForwardOriginHiddenUser", deserialize = "messageForwardOriginHiddenUser"))]
10200 HiddenUser(crate::types::MessageForwardOriginHiddenUser),
10201 #[serde(rename(serialize = "messageForwardOriginChannel", deserialize = "messageForwardOriginChannel"))]
10203 Channel(crate::types::MessageForwardOriginChannel),
10204 #[serde(rename(serialize = "messageForwardOriginMessageImport", deserialize = "messageForwardOriginMessageImport"))]
10206 MessageImport(crate::types::MessageForwardOriginMessageImport),
10207 }
10208 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10209 #[serde(tag = "@type")]
10210 pub enum ReactionType {
10211 #[serde(rename(serialize = "reactionTypeEmoji", deserialize = "reactionTypeEmoji"))]
10213 Emoji(crate::types::ReactionTypeEmoji),
10214 #[serde(rename(serialize = "reactionTypeCustomEmoji", deserialize = "reactionTypeCustomEmoji"))]
10216 CustomEmoji(crate::types::ReactionTypeCustomEmoji),
10217 }
10218 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10219 #[serde(tag = "@type")]
10220 pub enum MessageForwardInfo {
10221 #[serde(rename(serialize = "messageForwardInfo", deserialize = "messageForwardInfo"))]
10223 MessageForwardInfo(crate::types::MessageForwardInfo),
10224 }
10225 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10226 #[serde(tag = "@type")]
10227 pub enum MessageReplyInfo {
10228 #[serde(rename(serialize = "messageReplyInfo", deserialize = "messageReplyInfo"))]
10230 MessageReplyInfo(crate::types::MessageReplyInfo),
10231 }
10232 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10233 #[serde(tag = "@type")]
10234 pub enum MessageReaction {
10235 #[serde(rename(serialize = "messageReaction", deserialize = "messageReaction"))]
10237 MessageReaction(crate::types::MessageReaction),
10238 }
10239 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10240 #[serde(tag = "@type")]
10241 pub enum MessageInteractionInfo {
10242 #[serde(rename(serialize = "messageInteractionInfo", deserialize = "messageInteractionInfo"))]
10244 MessageInteractionInfo(crate::types::MessageInteractionInfo),
10245 }
10246 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10247 #[serde(tag = "@type")]
10248 pub enum UnreadReaction {
10249 #[serde(rename(serialize = "unreadReaction", deserialize = "unreadReaction"))]
10251 UnreadReaction(crate::types::UnreadReaction),
10252 }
10253 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10254 #[serde(tag = "@type")]
10255 pub enum MessageSendingState {
10256 #[serde(rename(serialize = "messageSendingStatePending", deserialize = "messageSendingStatePending"))]
10258 Pending(crate::types::MessageSendingStatePending),
10259 #[serde(rename(serialize = "messageSendingStateFailed", deserialize = "messageSendingStateFailed"))]
10261 Failed(crate::types::MessageSendingStateFailed),
10262 }
10263 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10264 #[serde(tag = "@type")]
10265 pub enum MessageReplyTo {
10266 #[serde(rename(serialize = "messageReplyToMessage", deserialize = "messageReplyToMessage"))]
10268 Message(crate::types::MessageReplyToMessage),
10269 #[serde(rename(serialize = "messageReplyToStory", deserialize = "messageReplyToStory"))]
10271 Story(crate::types::MessageReplyToStory),
10272 }
10273 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10274 #[serde(tag = "@type")]
10275 pub enum Message {
10276 #[serde(rename(serialize = "message", deserialize = "message"))]
10278 Message(crate::types::Message),
10279 }
10280 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10281 #[serde(tag = "@type")]
10282 pub enum Messages {
10283 #[serde(rename(serialize = "messages", deserialize = "messages"))]
10285 Messages(crate::types::Messages),
10286 }
10287 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10288 #[serde(tag = "@type")]
10289 pub enum FoundMessages {
10290 #[serde(rename(serialize = "foundMessages", deserialize = "foundMessages"))]
10292 FoundMessages(crate::types::FoundMessages),
10293 }
10294 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10295 #[serde(tag = "@type")]
10296 pub enum FoundChatMessages {
10297 #[serde(rename(serialize = "foundChatMessages", deserialize = "foundChatMessages"))]
10299 FoundChatMessages(crate::types::FoundChatMessages),
10300 }
10301 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10302 #[serde(tag = "@type")]
10303 pub enum MessagePosition {
10304 #[serde(rename(serialize = "messagePosition", deserialize = "messagePosition"))]
10306 MessagePosition(crate::types::MessagePosition),
10307 }
10308 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10309 #[serde(tag = "@type")]
10310 pub enum MessagePositions {
10311 #[serde(rename(serialize = "messagePositions", deserialize = "messagePositions"))]
10313 MessagePositions(crate::types::MessagePositions),
10314 }
10315 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10316 #[serde(tag = "@type")]
10317 pub enum MessageCalendarDay {
10318 #[serde(rename(serialize = "messageCalendarDay", deserialize = "messageCalendarDay"))]
10320 MessageCalendarDay(crate::types::MessageCalendarDay),
10321 }
10322 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10323 #[serde(tag = "@type")]
10324 pub enum MessageCalendar {
10325 #[serde(rename(serialize = "messageCalendar", deserialize = "messageCalendar"))]
10327 MessageCalendar(crate::types::MessageCalendar),
10328 }
10329 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10330 #[serde(tag = "@type")]
10331 pub enum MessageSource {
10332 #[serde(rename(serialize = "messageSourceChatHistory", deserialize = "messageSourceChatHistory"))]
10334 ChatHistory,
10335 #[serde(rename(serialize = "messageSourceMessageThreadHistory", deserialize = "messageSourceMessageThreadHistory"))]
10337 MessageThreadHistory,
10338 #[serde(rename(serialize = "messageSourceForumTopicHistory", deserialize = "messageSourceForumTopicHistory"))]
10340 ForumTopicHistory,
10341 #[serde(rename(serialize = "messageSourceHistoryPreview", deserialize = "messageSourceHistoryPreview"))]
10343 HistoryPreview,
10344 #[serde(rename(serialize = "messageSourceChatList", deserialize = "messageSourceChatList"))]
10346 ChatList,
10347 #[serde(rename(serialize = "messageSourceSearch", deserialize = "messageSourceSearch"))]
10349 Search,
10350 #[serde(rename(serialize = "messageSourceChatEventLog", deserialize = "messageSourceChatEventLog"))]
10352 ChatEventLog,
10353 #[serde(rename(serialize = "messageSourceNotification", deserialize = "messageSourceNotification"))]
10355 Notification,
10356 #[serde(rename(serialize = "messageSourceScreenshot", deserialize = "messageSourceScreenshot"))]
10358 Screenshot,
10359 #[serde(rename(serialize = "messageSourceOther", deserialize = "messageSourceOther"))]
10361 Other,
10362 }
10363 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10364 #[serde(tag = "@type")]
10365 pub enum MessageSponsorType {
10366 #[serde(rename(serialize = "messageSponsorTypeBot", deserialize = "messageSponsorTypeBot"))]
10368 Bot(crate::types::MessageSponsorTypeBot),
10369 #[serde(rename(serialize = "messageSponsorTypePublicChannel", deserialize = "messageSponsorTypePublicChannel"))]
10371 PublicChannel(crate::types::MessageSponsorTypePublicChannel),
10372 #[serde(rename(serialize = "messageSponsorTypePrivateChannel", deserialize = "messageSponsorTypePrivateChannel"))]
10374 PrivateChannel(crate::types::MessageSponsorTypePrivateChannel),
10375 #[serde(rename(serialize = "messageSponsorTypeWebsite", deserialize = "messageSponsorTypeWebsite"))]
10377 Website(crate::types::MessageSponsorTypeWebsite),
10378 }
10379 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10380 #[serde(tag = "@type")]
10381 pub enum MessageSponsor {
10382 #[serde(rename(serialize = "messageSponsor", deserialize = "messageSponsor"))]
10384 MessageSponsor(crate::types::MessageSponsor),
10385 }
10386 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10387 #[serde(tag = "@type")]
10388 pub enum SponsoredMessage {
10389 #[serde(rename(serialize = "sponsoredMessage", deserialize = "sponsoredMessage"))]
10391 SponsoredMessage(crate::types::SponsoredMessage),
10392 }
10393 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10394 #[serde(tag = "@type")]
10395 pub enum SponsoredMessages {
10396 #[serde(rename(serialize = "sponsoredMessages", deserialize = "sponsoredMessages"))]
10398 SponsoredMessages(crate::types::SponsoredMessages),
10399 }
10400 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10401 #[serde(tag = "@type")]
10402 pub enum FileDownload {
10403 #[serde(rename(serialize = "fileDownload", deserialize = "fileDownload"))]
10405 FileDownload(crate::types::FileDownload),
10406 }
10407 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10408 #[serde(tag = "@type")]
10409 pub enum DownloadedFileCounts {
10410 #[serde(rename(serialize = "downloadedFileCounts", deserialize = "downloadedFileCounts"))]
10412 DownloadedFileCounts(crate::types::DownloadedFileCounts),
10413 }
10414 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10415 #[serde(tag = "@type")]
10416 pub enum FoundFileDownloads {
10417 #[serde(rename(serialize = "foundFileDownloads", deserialize = "foundFileDownloads"))]
10419 FoundFileDownloads(crate::types::FoundFileDownloads),
10420 }
10421 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10422 #[serde(tag = "@type")]
10423 pub enum NotificationSettingsScope {
10424 #[serde(rename(serialize = "notificationSettingsScopePrivateChats", deserialize = "notificationSettingsScopePrivateChats"))]
10426 PrivateChats,
10427 #[serde(rename(serialize = "notificationSettingsScopeGroupChats", deserialize = "notificationSettingsScopeGroupChats"))]
10429 GroupChats,
10430 #[serde(rename(serialize = "notificationSettingsScopeChannelChats", deserialize = "notificationSettingsScopeChannelChats"))]
10432 ChannelChats,
10433 }
10434 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10435 #[serde(tag = "@type")]
10436 pub enum ChatNotificationSettings {
10437 #[serde(rename(serialize = "chatNotificationSettings", deserialize = "chatNotificationSettings"))]
10439 ChatNotificationSettings(crate::types::ChatNotificationSettings),
10440 }
10441 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10442 #[serde(tag = "@type")]
10443 pub enum ScopeNotificationSettings {
10444 #[serde(rename(serialize = "scopeNotificationSettings", deserialize = "scopeNotificationSettings"))]
10446 ScopeNotificationSettings(crate::types::ScopeNotificationSettings),
10447 }
10448 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10449 #[serde(tag = "@type")]
10450 pub enum DraftMessage {
10451 #[serde(rename(serialize = "draftMessage", deserialize = "draftMessage"))]
10453 DraftMessage(crate::types::DraftMessage),
10454 }
10455 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10456 #[serde(tag = "@type")]
10457 pub enum ChatType {
10458 #[serde(rename(serialize = "chatTypePrivate", deserialize = "chatTypePrivate"))]
10460 Private(crate::types::ChatTypePrivate),
10461 #[serde(rename(serialize = "chatTypeBasicGroup", deserialize = "chatTypeBasicGroup"))]
10463 BasicGroup(crate::types::ChatTypeBasicGroup),
10464 #[serde(rename(serialize = "chatTypeSupergroup", deserialize = "chatTypeSupergroup"))]
10466 Supergroup(crate::types::ChatTypeSupergroup),
10467 #[serde(rename(serialize = "chatTypeSecret", deserialize = "chatTypeSecret"))]
10469 Secret(crate::types::ChatTypeSecret),
10470 }
10471 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10472 #[serde(tag = "@type")]
10473 pub enum ChatFolderIcon {
10474 #[serde(rename(serialize = "chatFolderIcon", deserialize = "chatFolderIcon"))]
10476 ChatFolderIcon(crate::types::ChatFolderIcon),
10477 }
10478 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10479 #[serde(tag = "@type")]
10480 pub enum ChatFolder {
10481 #[serde(rename(serialize = "chatFolder", deserialize = "chatFolder"))]
10483 ChatFolder(crate::types::ChatFolder),
10484 }
10485 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10486 #[serde(tag = "@type")]
10487 pub enum ChatFolderInfo {
10488 #[serde(rename(serialize = "chatFolderInfo", deserialize = "chatFolderInfo"))]
10490 ChatFolderInfo(crate::types::ChatFolderInfo),
10491 }
10492 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10493 #[serde(tag = "@type")]
10494 pub enum ChatFolderInviteLink {
10495 #[serde(rename(serialize = "chatFolderInviteLink", deserialize = "chatFolderInviteLink"))]
10497 ChatFolderInviteLink(crate::types::ChatFolderInviteLink),
10498 }
10499 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10500 #[serde(tag = "@type")]
10501 pub enum ChatFolderInviteLinks {
10502 #[serde(rename(serialize = "chatFolderInviteLinks", deserialize = "chatFolderInviteLinks"))]
10504 ChatFolderInviteLinks(crate::types::ChatFolderInviteLinks),
10505 }
10506 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10507 #[serde(tag = "@type")]
10508 pub enum ChatFolderInviteLinkInfo {
10509 #[serde(rename(serialize = "chatFolderInviteLinkInfo", deserialize = "chatFolderInviteLinkInfo"))]
10511 ChatFolderInviteLinkInfo(crate::types::ChatFolderInviteLinkInfo),
10512 }
10513 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10514 #[serde(tag = "@type")]
10515 pub enum RecommendedChatFolder {
10516 #[serde(rename(serialize = "recommendedChatFolder", deserialize = "recommendedChatFolder"))]
10518 RecommendedChatFolder(crate::types::RecommendedChatFolder),
10519 }
10520 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10521 #[serde(tag = "@type")]
10522 pub enum RecommendedChatFolders {
10523 #[serde(rename(serialize = "recommendedChatFolders", deserialize = "recommendedChatFolders"))]
10525 RecommendedChatFolders(crate::types::RecommendedChatFolders),
10526 }
10527 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10528 #[serde(tag = "@type")]
10529 pub enum ArchiveChatListSettings {
10530 #[serde(rename(serialize = "archiveChatListSettings", deserialize = "archiveChatListSettings"))]
10532 ArchiveChatListSettings(crate::types::ArchiveChatListSettings),
10533 }
10534 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10535 #[serde(tag = "@type")]
10536 pub enum ChatList {
10537 #[serde(rename(serialize = "chatListMain", deserialize = "chatListMain"))]
10539 Main,
10540 #[serde(rename(serialize = "chatListArchive", deserialize = "chatListArchive"))]
10542 Archive,
10543 #[serde(rename(serialize = "chatListFolder", deserialize = "chatListFolder"))]
10545 Folder(crate::types::ChatListFolder),
10546 }
10547 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10548 #[serde(tag = "@type")]
10549 pub enum ChatLists {
10550 #[serde(rename(serialize = "chatLists", deserialize = "chatLists"))]
10552 ChatLists(crate::types::ChatLists),
10553 }
10554 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10555 #[serde(tag = "@type")]
10556 pub enum ChatSource {
10557 #[serde(rename(serialize = "chatSourceMtprotoProxy", deserialize = "chatSourceMtprotoProxy"))]
10559 MtprotoProxy,
10560 #[serde(rename(serialize = "chatSourcePublicServiceAnnouncement", deserialize = "chatSourcePublicServiceAnnouncement"))]
10562 PublicServiceAnnouncement(crate::types::ChatSourcePublicServiceAnnouncement),
10563 }
10564 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10565 #[serde(tag = "@type")]
10566 pub enum ChatPosition {
10567 #[serde(rename(serialize = "chatPosition", deserialize = "chatPosition"))]
10569 ChatPosition(crate::types::ChatPosition),
10570 }
10571 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10572 #[serde(tag = "@type")]
10573 pub enum ChatAvailableReactions {
10574 #[serde(rename(serialize = "chatAvailableReactionsAll", deserialize = "chatAvailableReactionsAll"))]
10576 All,
10577 #[serde(rename(serialize = "chatAvailableReactionsSome", deserialize = "chatAvailableReactionsSome"))]
10579 Some(crate::types::ChatAvailableReactionsSome),
10580 }
10581 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10582 #[serde(tag = "@type")]
10583 pub enum VideoChat {
10584 #[serde(rename(serialize = "videoChat", deserialize = "videoChat"))]
10586 VideoChat(crate::types::VideoChat),
10587 }
10588 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10589 #[serde(tag = "@type")]
10590 pub enum Chat {
10591 #[serde(rename(serialize = "chat", deserialize = "chat"))]
10593 Chat(crate::types::Chat),
10594 }
10595 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10596 #[serde(tag = "@type")]
10597 pub enum Chats {
10598 #[serde(rename(serialize = "chats", deserialize = "chats"))]
10600 Chats(crate::types::Chats),
10601 }
10602 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10603 #[serde(tag = "@type")]
10604 pub enum ChatNearby {
10605 #[serde(rename(serialize = "chatNearby", deserialize = "chatNearby"))]
10607 ChatNearby(crate::types::ChatNearby),
10608 }
10609 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10610 #[serde(tag = "@type")]
10611 pub enum ChatsNearby {
10612 #[serde(rename(serialize = "chatsNearby", deserialize = "chatsNearby"))]
10614 ChatsNearby(crate::types::ChatsNearby),
10615 }
10616 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10617 #[serde(tag = "@type")]
10618 pub enum PublicChatType {
10619 #[serde(rename(serialize = "publicChatTypeHasUsername", deserialize = "publicChatTypeHasUsername"))]
10621 HasUsername,
10622 #[serde(rename(serialize = "publicChatTypeIsLocationBased", deserialize = "publicChatTypeIsLocationBased"))]
10624 IsLocationBased,
10625 }
10626 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10627 #[serde(tag = "@type")]
10628 pub enum ChatActionBar {
10629 #[serde(rename(serialize = "chatActionBarReportSpam", deserialize = "chatActionBarReportSpam"))]
10631 ReportSpam(crate::types::ChatActionBarReportSpam),
10632 #[serde(rename(serialize = "chatActionBarReportUnrelatedLocation", deserialize = "chatActionBarReportUnrelatedLocation"))]
10634 ReportUnrelatedLocation,
10635 #[serde(rename(serialize = "chatActionBarInviteMembers", deserialize = "chatActionBarInviteMembers"))]
10637 InviteMembers,
10638 #[serde(rename(serialize = "chatActionBarReportAddBlock", deserialize = "chatActionBarReportAddBlock"))]
10641 ReportAddBlock(crate::types::ChatActionBarReportAddBlock),
10642 #[serde(rename(serialize = "chatActionBarAddContact", deserialize = "chatActionBarAddContact"))]
10644 AddContact,
10645 #[serde(rename(serialize = "chatActionBarSharePhoneNumber", deserialize = "chatActionBarSharePhoneNumber"))]
10647 SharePhoneNumber,
10648 #[serde(rename(serialize = "chatActionBarJoinRequest", deserialize = "chatActionBarJoinRequest"))]
10650 JoinRequest(crate::types::ChatActionBarJoinRequest),
10651 }
10652 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10653 #[serde(tag = "@type")]
10654 pub enum KeyboardButtonType {
10655 #[serde(rename(serialize = "keyboardButtonTypeText", deserialize = "keyboardButtonTypeText"))]
10657 Text,
10658 #[serde(rename(serialize = "keyboardButtonTypeRequestPhoneNumber", deserialize = "keyboardButtonTypeRequestPhoneNumber"))]
10660 RequestPhoneNumber,
10661 #[serde(rename(serialize = "keyboardButtonTypeRequestLocation", deserialize = "keyboardButtonTypeRequestLocation"))]
10663 RequestLocation,
10664 #[serde(rename(serialize = "keyboardButtonTypeRequestPoll", deserialize = "keyboardButtonTypeRequestPoll"))]
10666 RequestPoll(crate::types::KeyboardButtonTypeRequestPoll),
10667 #[serde(rename(serialize = "keyboardButtonTypeRequestUser", deserialize = "keyboardButtonTypeRequestUser"))]
10669 RequestUser(crate::types::KeyboardButtonTypeRequestUser),
10670 #[serde(rename(serialize = "keyboardButtonTypeRequestChat", deserialize = "keyboardButtonTypeRequestChat"))]
10672 RequestChat(crate::types::KeyboardButtonTypeRequestChat),
10673 #[serde(rename(serialize = "keyboardButtonTypeWebApp", deserialize = "keyboardButtonTypeWebApp"))]
10675 WebApp(crate::types::KeyboardButtonTypeWebApp),
10676 }
10677 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10678 #[serde(tag = "@type")]
10679 pub enum KeyboardButton {
10680 #[serde(rename(serialize = "keyboardButton", deserialize = "keyboardButton"))]
10682 KeyboardButton(crate::types::KeyboardButton),
10683 }
10684 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10685 #[serde(tag = "@type")]
10686 pub enum InlineKeyboardButtonType {
10687 #[serde(rename(serialize = "inlineKeyboardButtonTypeUrl", deserialize = "inlineKeyboardButtonTypeUrl"))]
10689 Url(crate::types::InlineKeyboardButtonTypeUrl),
10690 #[serde(rename(serialize = "inlineKeyboardButtonTypeLoginUrl", deserialize = "inlineKeyboardButtonTypeLoginUrl"))]
10692 LoginUrl(crate::types::InlineKeyboardButtonTypeLoginUrl),
10693 #[serde(rename(serialize = "inlineKeyboardButtonTypeWebApp", deserialize = "inlineKeyboardButtonTypeWebApp"))]
10695 WebApp(crate::types::InlineKeyboardButtonTypeWebApp),
10696 #[serde(rename(serialize = "inlineKeyboardButtonTypeCallback", deserialize = "inlineKeyboardButtonTypeCallback"))]
10698 Callback(crate::types::InlineKeyboardButtonTypeCallback),
10699 #[serde(rename(serialize = "inlineKeyboardButtonTypeCallbackWithPassword", deserialize = "inlineKeyboardButtonTypeCallbackWithPassword"))]
10701 CallbackWithPassword(crate::types::InlineKeyboardButtonTypeCallbackWithPassword),
10702 #[serde(rename(serialize = "inlineKeyboardButtonTypeCallbackGame", deserialize = "inlineKeyboardButtonTypeCallbackGame"))]
10704 CallbackGame,
10705 #[serde(rename(serialize = "inlineKeyboardButtonTypeSwitchInline", deserialize = "inlineKeyboardButtonTypeSwitchInline"))]
10707 SwitchInline(crate::types::InlineKeyboardButtonTypeSwitchInline),
10708 #[serde(rename(serialize = "inlineKeyboardButtonTypeBuy", deserialize = "inlineKeyboardButtonTypeBuy"))]
10710 Buy,
10711 #[serde(rename(serialize = "inlineKeyboardButtonTypeUser", deserialize = "inlineKeyboardButtonTypeUser"))]
10713 User(crate::types::InlineKeyboardButtonTypeUser),
10714 }
10715 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10716 #[serde(tag = "@type")]
10717 pub enum InlineKeyboardButton {
10718 #[serde(rename(serialize = "inlineKeyboardButton", deserialize = "inlineKeyboardButton"))]
10720 InlineKeyboardButton(crate::types::InlineKeyboardButton),
10721 }
10722 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10723 #[serde(tag = "@type")]
10724 pub enum ReplyMarkup {
10725 #[serde(rename(serialize = "replyMarkupRemoveKeyboard", deserialize = "replyMarkupRemoveKeyboard"))]
10727 RemoveKeyboard(crate::types::ReplyMarkupRemoveKeyboard),
10728 #[serde(rename(serialize = "replyMarkupForceReply", deserialize = "replyMarkupForceReply"))]
10730 ForceReply(crate::types::ReplyMarkupForceReply),
10731 #[serde(rename(serialize = "replyMarkupShowKeyboard", deserialize = "replyMarkupShowKeyboard"))]
10733 ShowKeyboard(crate::types::ReplyMarkupShowKeyboard),
10734 #[serde(rename(serialize = "replyMarkupInlineKeyboard", deserialize = "replyMarkupInlineKeyboard"))]
10736 InlineKeyboard(crate::types::ReplyMarkupInlineKeyboard),
10737 }
10738 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10739 #[serde(tag = "@type")]
10740 pub enum LoginUrlInfo {
10741 #[serde(rename(serialize = "loginUrlInfoOpen", deserialize = "loginUrlInfoOpen"))]
10743 Open(crate::types::LoginUrlInfoOpen),
10744 #[serde(rename(serialize = "loginUrlInfoRequestConfirmation", deserialize = "loginUrlInfoRequestConfirmation"))]
10746 RequestConfirmation(crate::types::LoginUrlInfoRequestConfirmation),
10747 }
10748 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10749 #[serde(tag = "@type")]
10750 pub enum FoundWebApp {
10751 #[serde(rename(serialize = "foundWebApp", deserialize = "foundWebApp"))]
10753 FoundWebApp(crate::types::FoundWebApp),
10754 }
10755 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10756 #[serde(tag = "@type")]
10757 pub enum WebAppInfo {
10758 #[serde(rename(serialize = "webAppInfo", deserialize = "webAppInfo"))]
10760 WebAppInfo(crate::types::WebAppInfo),
10761 }
10762 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10763 #[serde(tag = "@type")]
10764 pub enum MessageThreadInfo {
10765 #[serde(rename(serialize = "messageThreadInfo", deserialize = "messageThreadInfo"))]
10767 MessageThreadInfo(crate::types::MessageThreadInfo),
10768 }
10769 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10770 #[serde(tag = "@type")]
10771 pub enum ForumTopicIcon {
10772 #[serde(rename(serialize = "forumTopicIcon", deserialize = "forumTopicIcon"))]
10774 ForumTopicIcon(crate::types::ForumTopicIcon),
10775 }
10776 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10777 #[serde(tag = "@type")]
10778 pub enum ForumTopicInfo {
10779 #[serde(rename(serialize = "forumTopicInfo", deserialize = "forumTopicInfo"))]
10781 ForumTopicInfo(crate::types::ForumTopicInfo),
10782 }
10783 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10784 #[serde(tag = "@type")]
10785 pub enum ForumTopic {
10786 #[serde(rename(serialize = "forumTopic", deserialize = "forumTopic"))]
10788 ForumTopic(crate::types::ForumTopic),
10789 }
10790 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10791 #[serde(tag = "@type")]
10792 pub enum ForumTopics {
10793 #[serde(rename(serialize = "forumTopics", deserialize = "forumTopics"))]
10795 ForumTopics(crate::types::ForumTopics),
10796 }
10797 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10798 #[serde(tag = "@type")]
10799 pub enum RichText {
10800 #[serde(rename(serialize = "richTextPlain", deserialize = "richTextPlain"))]
10802 Plain(crate::types::RichTextPlain),
10803 #[serde(rename(serialize = "richTextBold", deserialize = "richTextBold"))]
10805 Bold(Box<crate::types::RichTextBold>),
10806 #[serde(rename(serialize = "richTextItalic", deserialize = "richTextItalic"))]
10808 Italic(Box<crate::types::RichTextItalic>),
10809 #[serde(rename(serialize = "richTextUnderline", deserialize = "richTextUnderline"))]
10811 Underline(Box<crate::types::RichTextUnderline>),
10812 #[serde(rename(serialize = "richTextStrikethrough", deserialize = "richTextStrikethrough"))]
10814 Strikethrough(Box<crate::types::RichTextStrikethrough>),
10815 #[serde(rename(serialize = "richTextFixed", deserialize = "richTextFixed"))]
10817 Fixed(Box<crate::types::RichTextFixed>),
10818 #[serde(rename(serialize = "richTextUrl", deserialize = "richTextUrl"))]
10820 Url(Box<crate::types::RichTextUrl>),
10821 #[serde(rename(serialize = "richTextEmailAddress", deserialize = "richTextEmailAddress"))]
10823 EmailAddress(Box<crate::types::RichTextEmailAddress>),
10824 #[serde(rename(serialize = "richTextSubscript", deserialize = "richTextSubscript"))]
10826 Subscript(Box<crate::types::RichTextSubscript>),
10827 #[serde(rename(serialize = "richTextSuperscript", deserialize = "richTextSuperscript"))]
10829 Superscript(Box<crate::types::RichTextSuperscript>),
10830 #[serde(rename(serialize = "richTextMarked", deserialize = "richTextMarked"))]
10832 Marked(Box<crate::types::RichTextMarked>),
10833 #[serde(rename(serialize = "richTextPhoneNumber", deserialize = "richTextPhoneNumber"))]
10835 PhoneNumber(Box<crate::types::RichTextPhoneNumber>),
10836 #[serde(rename(serialize = "richTextIcon", deserialize = "richTextIcon"))]
10838 Icon(crate::types::RichTextIcon),
10839 #[serde(rename(serialize = "richTextReference", deserialize = "richTextReference"))]
10841 Reference(Box<crate::types::RichTextReference>),
10842 #[serde(rename(serialize = "richTextAnchor", deserialize = "richTextAnchor"))]
10844 Anchor(crate::types::RichTextAnchor),
10845 #[serde(rename(serialize = "richTextAnchorLink", deserialize = "richTextAnchorLink"))]
10847 AnchorLink(Box<crate::types::RichTextAnchorLink>),
10848 #[serde(rename(serialize = "richTexts", deserialize = "richTexts"))]
10850 RichTexts(crate::types::RichTexts),
10851 }
10852 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10853 #[serde(tag = "@type")]
10854 pub enum PageBlockCaption {
10855 #[serde(rename(serialize = "pageBlockCaption", deserialize = "pageBlockCaption"))]
10857 PageBlockCaption(crate::types::PageBlockCaption),
10858 }
10859 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10860 #[serde(tag = "@type")]
10861 pub enum PageBlockListItem {
10862 #[serde(rename(serialize = "pageBlockListItem", deserialize = "pageBlockListItem"))]
10864 PageBlockListItem(crate::types::PageBlockListItem),
10865 }
10866 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10867 #[serde(tag = "@type")]
10868 pub enum PageBlockHorizontalAlignment {
10869 #[serde(rename(serialize = "pageBlockHorizontalAlignmentLeft", deserialize = "pageBlockHorizontalAlignmentLeft"))]
10871 Left,
10872 #[serde(rename(serialize = "pageBlockHorizontalAlignmentCenter", deserialize = "pageBlockHorizontalAlignmentCenter"))]
10874 Center,
10875 #[serde(rename(serialize = "pageBlockHorizontalAlignmentRight", deserialize = "pageBlockHorizontalAlignmentRight"))]
10877 Right,
10878 }
10879 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10880 #[serde(tag = "@type")]
10881 pub enum PageBlockVerticalAlignment {
10882 #[serde(rename(serialize = "pageBlockVerticalAlignmentTop", deserialize = "pageBlockVerticalAlignmentTop"))]
10884 Top,
10885 #[serde(rename(serialize = "pageBlockVerticalAlignmentMiddle", deserialize = "pageBlockVerticalAlignmentMiddle"))]
10887 Middle,
10888 #[serde(rename(serialize = "pageBlockVerticalAlignmentBottom", deserialize = "pageBlockVerticalAlignmentBottom"))]
10890 Bottom,
10891 }
10892 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10893 #[serde(tag = "@type")]
10894 pub enum PageBlockTableCell {
10895 #[serde(rename(serialize = "pageBlockTableCell", deserialize = "pageBlockTableCell"))]
10897 PageBlockTableCell(crate::types::PageBlockTableCell),
10898 }
10899 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10900 #[serde(tag = "@type")]
10901 pub enum PageBlockRelatedArticle {
10902 #[serde(rename(serialize = "pageBlockRelatedArticle", deserialize = "pageBlockRelatedArticle"))]
10904 PageBlockRelatedArticle(crate::types::PageBlockRelatedArticle),
10905 }
10906 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10907 #[serde(tag = "@type")]
10908 pub enum PageBlock {
10909 #[serde(rename(serialize = "pageBlockTitle", deserialize = "pageBlockTitle"))]
10911 Title(crate::types::PageBlockTitle),
10912 #[serde(rename(serialize = "pageBlockSubtitle", deserialize = "pageBlockSubtitle"))]
10914 Subtitle(crate::types::PageBlockSubtitle),
10915 #[serde(rename(serialize = "pageBlockAuthorDate", deserialize = "pageBlockAuthorDate"))]
10917 AuthorDate(crate::types::PageBlockAuthorDate),
10918 #[serde(rename(serialize = "pageBlockHeader", deserialize = "pageBlockHeader"))]
10920 Header(crate::types::PageBlockHeader),
10921 #[serde(rename(serialize = "pageBlockSubheader", deserialize = "pageBlockSubheader"))]
10923 Subheader(crate::types::PageBlockSubheader),
10924 #[serde(rename(serialize = "pageBlockKicker", deserialize = "pageBlockKicker"))]
10926 Kicker(crate::types::PageBlockKicker),
10927 #[serde(rename(serialize = "pageBlockParagraph", deserialize = "pageBlockParagraph"))]
10929 Paragraph(crate::types::PageBlockParagraph),
10930 #[serde(rename(serialize = "pageBlockPreformatted", deserialize = "pageBlockPreformatted"))]
10932 Preformatted(crate::types::PageBlockPreformatted),
10933 #[serde(rename(serialize = "pageBlockFooter", deserialize = "pageBlockFooter"))]
10935 Footer(crate::types::PageBlockFooter),
10936 #[serde(rename(serialize = "pageBlockDivider", deserialize = "pageBlockDivider"))]
10938 Divider,
10939 #[serde(rename(serialize = "pageBlockAnchor", deserialize = "pageBlockAnchor"))]
10941 Anchor(crate::types::PageBlockAnchor),
10942 #[serde(rename(serialize = "pageBlockList", deserialize = "pageBlockList"))]
10944 List(crate::types::PageBlockList),
10945 #[serde(rename(serialize = "pageBlockBlockQuote", deserialize = "pageBlockBlockQuote"))]
10947 BlockQuote(crate::types::PageBlockBlockQuote),
10948 #[serde(rename(serialize = "pageBlockPullQuote", deserialize = "pageBlockPullQuote"))]
10950 PullQuote(crate::types::PageBlockPullQuote),
10951 #[serde(rename(serialize = "pageBlockAnimation", deserialize = "pageBlockAnimation"))]
10953 Animation(crate::types::PageBlockAnimation),
10954 #[serde(rename(serialize = "pageBlockAudio", deserialize = "pageBlockAudio"))]
10956 Audio(crate::types::PageBlockAudio),
10957 #[serde(rename(serialize = "pageBlockPhoto", deserialize = "pageBlockPhoto"))]
10959 Photo(crate::types::PageBlockPhoto),
10960 #[serde(rename(serialize = "pageBlockVideo", deserialize = "pageBlockVideo"))]
10962 Video(crate::types::PageBlockVideo),
10963 #[serde(rename(serialize = "pageBlockVoiceNote", deserialize = "pageBlockVoiceNote"))]
10965 VoiceNote(crate::types::PageBlockVoiceNote),
10966 #[serde(rename(serialize = "pageBlockCover", deserialize = "pageBlockCover"))]
10968 Cover(Box<crate::types::PageBlockCover>),
10969 #[serde(rename(serialize = "pageBlockEmbedded", deserialize = "pageBlockEmbedded"))]
10971 Embedded(crate::types::PageBlockEmbedded),
10972 #[serde(rename(serialize = "pageBlockEmbeddedPost", deserialize = "pageBlockEmbeddedPost"))]
10974 EmbeddedPost(crate::types::PageBlockEmbeddedPost),
10975 #[serde(rename(serialize = "pageBlockCollage", deserialize = "pageBlockCollage"))]
10977 Collage(crate::types::PageBlockCollage),
10978 #[serde(rename(serialize = "pageBlockSlideshow", deserialize = "pageBlockSlideshow"))]
10980 Slideshow(crate::types::PageBlockSlideshow),
10981 #[serde(rename(serialize = "pageBlockChatLink", deserialize = "pageBlockChatLink"))]
10983 ChatLink(crate::types::PageBlockChatLink),
10984 #[serde(rename(serialize = "pageBlockTable", deserialize = "pageBlockTable"))]
10986 Table(crate::types::PageBlockTable),
10987 #[serde(rename(serialize = "pageBlockDetails", deserialize = "pageBlockDetails"))]
10989 Details(crate::types::PageBlockDetails),
10990 #[serde(rename(serialize = "pageBlockRelatedArticles", deserialize = "pageBlockRelatedArticles"))]
10992 RelatedArticles(crate::types::PageBlockRelatedArticles),
10993 #[serde(rename(serialize = "pageBlockMap", deserialize = "pageBlockMap"))]
10995 Map(crate::types::PageBlockMap),
10996 }
10997 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
10998 #[serde(tag = "@type")]
10999 pub enum WebPageInstantView {
11000 #[serde(rename(serialize = "webPageInstantView", deserialize = "webPageInstantView"))]
11002 WebPageInstantView(crate::types::WebPageInstantView),
11003 }
11004 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11005 #[serde(tag = "@type")]
11006 pub enum WebPage {
11007 #[serde(rename(serialize = "webPage", deserialize = "webPage"))]
11009 WebPage(crate::types::WebPage),
11010 }
11011 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11012 #[serde(tag = "@type")]
11013 pub enum CountryInfo {
11014 #[serde(rename(serialize = "countryInfo", deserialize = "countryInfo"))]
11016 CountryInfo(crate::types::CountryInfo),
11017 }
11018 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11019 #[serde(tag = "@type")]
11020 pub enum Countries {
11021 #[serde(rename(serialize = "countries", deserialize = "countries"))]
11023 Countries(crate::types::Countries),
11024 }
11025 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11026 #[serde(tag = "@type")]
11027 pub enum PhoneNumberInfo {
11028 #[serde(rename(serialize = "phoneNumberInfo", deserialize = "phoneNumberInfo"))]
11030 PhoneNumberInfo(crate::types::PhoneNumberInfo),
11031 }
11032 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11033 #[serde(tag = "@type")]
11034 pub enum BankCardActionOpenUrl {
11035 #[serde(rename(serialize = "bankCardActionOpenUrl", deserialize = "bankCardActionOpenUrl"))]
11037 BankCardActionOpenUrl(crate::types::BankCardActionOpenUrl),
11038 }
11039 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11040 #[serde(tag = "@type")]
11041 pub enum BankCardInfo {
11042 #[serde(rename(serialize = "bankCardInfo", deserialize = "bankCardInfo"))]
11044 BankCardInfo(crate::types::BankCardInfo),
11045 }
11046 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11047 #[serde(tag = "@type")]
11048 pub enum Address {
11049 #[serde(rename(serialize = "address", deserialize = "address"))]
11051 Address(crate::types::Address),
11052 }
11053 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11054 #[serde(tag = "@type")]
11055 pub enum ThemeParameters {
11056 #[serde(rename(serialize = "themeParameters", deserialize = "themeParameters"))]
11058 ThemeParameters(crate::types::ThemeParameters),
11059 }
11060 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11061 #[serde(tag = "@type")]
11062 pub enum LabeledPricePart {
11063 #[serde(rename(serialize = "labeledPricePart", deserialize = "labeledPricePart"))]
11065 LabeledPricePart(crate::types::LabeledPricePart),
11066 }
11067 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11068 #[serde(tag = "@type")]
11069 pub enum Invoice {
11070 #[serde(rename(serialize = "invoice", deserialize = "invoice"))]
11072 Invoice(crate::types::Invoice),
11073 }
11074 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11075 #[serde(tag = "@type")]
11076 pub enum OrderInfo {
11077 #[serde(rename(serialize = "orderInfo", deserialize = "orderInfo"))]
11079 OrderInfo(crate::types::OrderInfo),
11080 }
11081 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11082 #[serde(tag = "@type")]
11083 pub enum ShippingOption {
11084 #[serde(rename(serialize = "shippingOption", deserialize = "shippingOption"))]
11086 ShippingOption(crate::types::ShippingOption),
11087 }
11088 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11089 #[serde(tag = "@type")]
11090 pub enum SavedCredentials {
11091 #[serde(rename(serialize = "savedCredentials", deserialize = "savedCredentials"))]
11093 SavedCredentials(crate::types::SavedCredentials),
11094 }
11095 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11096 #[serde(tag = "@type")]
11097 pub enum InputCredentials {
11098 #[serde(rename(serialize = "inputCredentialsSaved", deserialize = "inputCredentialsSaved"))]
11100 Saved(crate::types::InputCredentialsSaved),
11101 #[serde(rename(serialize = "inputCredentialsNew", deserialize = "inputCredentialsNew"))]
11103 New(crate::types::InputCredentialsNew),
11104 #[serde(rename(serialize = "inputCredentialsApplePay", deserialize = "inputCredentialsApplePay"))]
11106 ApplePay(crate::types::InputCredentialsApplePay),
11107 #[serde(rename(serialize = "inputCredentialsGooglePay", deserialize = "inputCredentialsGooglePay"))]
11109 GooglePay(crate::types::InputCredentialsGooglePay),
11110 }
11111 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11112 #[serde(tag = "@type")]
11113 pub enum PaymentProvider {
11114 #[serde(rename(serialize = "paymentProviderSmartGlocal", deserialize = "paymentProviderSmartGlocal"))]
11116 SmartGlocal(crate::types::PaymentProviderSmartGlocal),
11117 #[serde(rename(serialize = "paymentProviderStripe", deserialize = "paymentProviderStripe"))]
11119 Stripe(crate::types::PaymentProviderStripe),
11120 #[serde(rename(serialize = "paymentProviderOther", deserialize = "paymentProviderOther"))]
11122 Other(crate::types::PaymentProviderOther),
11123 }
11124 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11125 #[serde(tag = "@type")]
11126 pub enum PaymentOption {
11127 #[serde(rename(serialize = "paymentOption", deserialize = "paymentOption"))]
11129 PaymentOption(crate::types::PaymentOption),
11130 }
11131 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11132 #[serde(tag = "@type")]
11133 pub enum PaymentForm {
11134 #[serde(rename(serialize = "paymentForm", deserialize = "paymentForm"))]
11136 PaymentForm(crate::types::PaymentForm),
11137 }
11138 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11139 #[serde(tag = "@type")]
11140 pub enum ValidatedOrderInfo {
11141 #[serde(rename(serialize = "validatedOrderInfo", deserialize = "validatedOrderInfo"))]
11143 ValidatedOrderInfo(crate::types::ValidatedOrderInfo),
11144 }
11145 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11146 #[serde(tag = "@type")]
11147 pub enum PaymentResult {
11148 #[serde(rename(serialize = "paymentResult", deserialize = "paymentResult"))]
11150 PaymentResult(crate::types::PaymentResult),
11151 }
11152 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11153 #[serde(tag = "@type")]
11154 pub enum PaymentReceipt {
11155 #[serde(rename(serialize = "paymentReceipt", deserialize = "paymentReceipt"))]
11157 PaymentReceipt(crate::types::PaymentReceipt),
11158 }
11159 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11160 #[serde(tag = "@type")]
11161 pub enum InputInvoice {
11162 #[serde(rename(serialize = "inputInvoiceMessage", deserialize = "inputInvoiceMessage"))]
11164 Message(crate::types::InputInvoiceMessage),
11165 #[serde(rename(serialize = "inputInvoiceName", deserialize = "inputInvoiceName"))]
11167 Name(crate::types::InputInvoiceName),
11168 }
11169 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11170 #[serde(tag = "@type")]
11171 pub enum MessageExtendedMedia {
11172 #[serde(rename(serialize = "messageExtendedMediaPreview", deserialize = "messageExtendedMediaPreview"))]
11174 Preview(crate::types::MessageExtendedMediaPreview),
11175 #[serde(rename(serialize = "messageExtendedMediaPhoto", deserialize = "messageExtendedMediaPhoto"))]
11177 Photo(crate::types::MessageExtendedMediaPhoto),
11178 #[serde(rename(serialize = "messageExtendedMediaVideo", deserialize = "messageExtendedMediaVideo"))]
11180 Video(crate::types::MessageExtendedMediaVideo),
11181 #[serde(rename(serialize = "messageExtendedMediaUnsupported", deserialize = "messageExtendedMediaUnsupported"))]
11183 Unsupported(crate::types::MessageExtendedMediaUnsupported),
11184 }
11185 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11186 #[serde(tag = "@type")]
11187 pub enum DatedFile {
11188 #[serde(rename(serialize = "datedFile", deserialize = "datedFile"))]
11190 DatedFile(crate::types::DatedFile),
11191 }
11192 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11193 #[serde(tag = "@type")]
11194 pub enum PassportElementType {
11195 #[serde(rename(serialize = "passportElementTypePersonalDetails", deserialize = "passportElementTypePersonalDetails"))]
11197 PersonalDetails,
11198 #[serde(rename(serialize = "passportElementTypePassport", deserialize = "passportElementTypePassport"))]
11200 Passport,
11201 #[serde(rename(serialize = "passportElementTypeDriverLicense", deserialize = "passportElementTypeDriverLicense"))]
11203 DriverLicense,
11204 #[serde(rename(serialize = "passportElementTypeIdentityCard", deserialize = "passportElementTypeIdentityCard"))]
11206 IdentityCard,
11207 #[serde(rename(serialize = "passportElementTypeInternalPassport", deserialize = "passportElementTypeInternalPassport"))]
11209 InternalPassport,
11210 #[serde(rename(serialize = "passportElementTypeAddress", deserialize = "passportElementTypeAddress"))]
11212 Address,
11213 #[serde(rename(serialize = "passportElementTypeUtilityBill", deserialize = "passportElementTypeUtilityBill"))]
11215 UtilityBill,
11216 #[serde(rename(serialize = "passportElementTypeBankStatement", deserialize = "passportElementTypeBankStatement"))]
11218 BankStatement,
11219 #[serde(rename(serialize = "passportElementTypeRentalAgreement", deserialize = "passportElementTypeRentalAgreement"))]
11221 RentalAgreement,
11222 #[serde(rename(serialize = "passportElementTypePassportRegistration", deserialize = "passportElementTypePassportRegistration"))]
11224 PassportRegistration,
11225 #[serde(rename(serialize = "passportElementTypeTemporaryRegistration", deserialize = "passportElementTypeTemporaryRegistration"))]
11227 TemporaryRegistration,
11228 #[serde(rename(serialize = "passportElementTypePhoneNumber", deserialize = "passportElementTypePhoneNumber"))]
11230 PhoneNumber,
11231 #[serde(rename(serialize = "passportElementTypeEmailAddress", deserialize = "passportElementTypeEmailAddress"))]
11233 EmailAddress,
11234 }
11235 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11236 #[serde(tag = "@type")]
11237 pub enum Date {
11238 #[serde(rename(serialize = "date", deserialize = "date"))]
11240 Date(crate::types::Date),
11241 }
11242 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11243 #[serde(tag = "@type")]
11244 pub enum PersonalDetails {
11245 #[serde(rename(serialize = "personalDetails", deserialize = "personalDetails"))]
11247 PersonalDetails(crate::types::PersonalDetails),
11248 }
11249 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11250 #[serde(tag = "@type")]
11251 pub enum IdentityDocument {
11252 #[serde(rename(serialize = "identityDocument", deserialize = "identityDocument"))]
11254 IdentityDocument(crate::types::IdentityDocument),
11255 }
11256 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11257 #[serde(tag = "@type")]
11258 pub enum InputIdentityDocument {
11259 #[serde(rename(serialize = "inputIdentityDocument", deserialize = "inputIdentityDocument"))]
11261 InputIdentityDocument(crate::types::InputIdentityDocument),
11262 }
11263 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11264 #[serde(tag = "@type")]
11265 pub enum PersonalDocument {
11266 #[serde(rename(serialize = "personalDocument", deserialize = "personalDocument"))]
11268 PersonalDocument(crate::types::PersonalDocument),
11269 }
11270 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11271 #[serde(tag = "@type")]
11272 pub enum InputPersonalDocument {
11273 #[serde(rename(serialize = "inputPersonalDocument", deserialize = "inputPersonalDocument"))]
11275 InputPersonalDocument(crate::types::InputPersonalDocument),
11276 }
11277 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11278 #[serde(tag = "@type")]
11279 pub enum PassportElement {
11280 #[serde(rename(serialize = "passportElementPersonalDetails", deserialize = "passportElementPersonalDetails"))]
11282 PersonalDetails(crate::types::PassportElementPersonalDetails),
11283 #[serde(rename(serialize = "passportElementPassport", deserialize = "passportElementPassport"))]
11285 Passport(crate::types::PassportElementPassport),
11286 #[serde(rename(serialize = "passportElementDriverLicense", deserialize = "passportElementDriverLicense"))]
11288 DriverLicense(crate::types::PassportElementDriverLicense),
11289 #[serde(rename(serialize = "passportElementIdentityCard", deserialize = "passportElementIdentityCard"))]
11291 IdentityCard(crate::types::PassportElementIdentityCard),
11292 #[serde(rename(serialize = "passportElementInternalPassport", deserialize = "passportElementInternalPassport"))]
11294 InternalPassport(crate::types::PassportElementInternalPassport),
11295 #[serde(rename(serialize = "passportElementAddress", deserialize = "passportElementAddress"))]
11297 Address(crate::types::PassportElementAddress),
11298 #[serde(rename(serialize = "passportElementUtilityBill", deserialize = "passportElementUtilityBill"))]
11300 UtilityBill(crate::types::PassportElementUtilityBill),
11301 #[serde(rename(serialize = "passportElementBankStatement", deserialize = "passportElementBankStatement"))]
11303 BankStatement(crate::types::PassportElementBankStatement),
11304 #[serde(rename(serialize = "passportElementRentalAgreement", deserialize = "passportElementRentalAgreement"))]
11306 RentalAgreement(crate::types::PassportElementRentalAgreement),
11307 #[serde(rename(serialize = "passportElementPassportRegistration", deserialize = "passportElementPassportRegistration"))]
11309 PassportRegistration(crate::types::PassportElementPassportRegistration),
11310 #[serde(rename(serialize = "passportElementTemporaryRegistration", deserialize = "passportElementTemporaryRegistration"))]
11312 TemporaryRegistration(crate::types::PassportElementTemporaryRegistration),
11313 #[serde(rename(serialize = "passportElementPhoneNumber", deserialize = "passportElementPhoneNumber"))]
11315 PhoneNumber(crate::types::PassportElementPhoneNumber),
11316 #[serde(rename(serialize = "passportElementEmailAddress", deserialize = "passportElementEmailAddress"))]
11318 EmailAddress(crate::types::PassportElementEmailAddress),
11319 }
11320 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11321 #[serde(tag = "@type")]
11322 pub enum InputPassportElement {
11323 #[serde(rename(serialize = "inputPassportElementPersonalDetails", deserialize = "inputPassportElementPersonalDetails"))]
11325 PersonalDetails(crate::types::InputPassportElementPersonalDetails),
11326 #[serde(rename(serialize = "inputPassportElementPassport", deserialize = "inputPassportElementPassport"))]
11328 Passport(crate::types::InputPassportElementPassport),
11329 #[serde(rename(serialize = "inputPassportElementDriverLicense", deserialize = "inputPassportElementDriverLicense"))]
11331 DriverLicense(crate::types::InputPassportElementDriverLicense),
11332 #[serde(rename(serialize = "inputPassportElementIdentityCard", deserialize = "inputPassportElementIdentityCard"))]
11334 IdentityCard(crate::types::InputPassportElementIdentityCard),
11335 #[serde(rename(serialize = "inputPassportElementInternalPassport", deserialize = "inputPassportElementInternalPassport"))]
11337 InternalPassport(crate::types::InputPassportElementInternalPassport),
11338 #[serde(rename(serialize = "inputPassportElementAddress", deserialize = "inputPassportElementAddress"))]
11340 Address(crate::types::InputPassportElementAddress),
11341 #[serde(rename(serialize = "inputPassportElementUtilityBill", deserialize = "inputPassportElementUtilityBill"))]
11343 UtilityBill(crate::types::InputPassportElementUtilityBill),
11344 #[serde(rename(serialize = "inputPassportElementBankStatement", deserialize = "inputPassportElementBankStatement"))]
11346 BankStatement(crate::types::InputPassportElementBankStatement),
11347 #[serde(rename(serialize = "inputPassportElementRentalAgreement", deserialize = "inputPassportElementRentalAgreement"))]
11349 RentalAgreement(crate::types::InputPassportElementRentalAgreement),
11350 #[serde(rename(serialize = "inputPassportElementPassportRegistration", deserialize = "inputPassportElementPassportRegistration"))]
11352 PassportRegistration(crate::types::InputPassportElementPassportRegistration),
11353 #[serde(rename(serialize = "inputPassportElementTemporaryRegistration", deserialize = "inputPassportElementTemporaryRegistration"))]
11355 TemporaryRegistration(crate::types::InputPassportElementTemporaryRegistration),
11356 #[serde(rename(serialize = "inputPassportElementPhoneNumber", deserialize = "inputPassportElementPhoneNumber"))]
11358 PhoneNumber(crate::types::InputPassportElementPhoneNumber),
11359 #[serde(rename(serialize = "inputPassportElementEmailAddress", deserialize = "inputPassportElementEmailAddress"))]
11361 EmailAddress(crate::types::InputPassportElementEmailAddress),
11362 }
11363 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11364 #[serde(tag = "@type")]
11365 pub enum PassportElements {
11366 #[serde(rename(serialize = "passportElements", deserialize = "passportElements"))]
11368 PassportElements(crate::types::PassportElements),
11369 }
11370 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11371 #[serde(tag = "@type")]
11372 pub enum PassportElementErrorSource {
11373 #[serde(rename(serialize = "passportElementErrorSourceUnspecified", deserialize = "passportElementErrorSourceUnspecified"))]
11375 Unspecified,
11376 #[serde(rename(serialize = "passportElementErrorSourceDataField", deserialize = "passportElementErrorSourceDataField"))]
11378 DataField(crate::types::PassportElementErrorSourceDataField),
11379 #[serde(rename(serialize = "passportElementErrorSourceFrontSide", deserialize = "passportElementErrorSourceFrontSide"))]
11381 FrontSide,
11382 #[serde(rename(serialize = "passportElementErrorSourceReverseSide", deserialize = "passportElementErrorSourceReverseSide"))]
11384 ReverseSide,
11385 #[serde(rename(serialize = "passportElementErrorSourceSelfie", deserialize = "passportElementErrorSourceSelfie"))]
11387 Selfie,
11388 #[serde(rename(serialize = "passportElementErrorSourceTranslationFile", deserialize = "passportElementErrorSourceTranslationFile"))]
11390 TranslationFile(crate::types::PassportElementErrorSourceTranslationFile),
11391 #[serde(rename(serialize = "passportElementErrorSourceTranslationFiles", deserialize = "passportElementErrorSourceTranslationFiles"))]
11393 TranslationFiles,
11394 #[serde(rename(serialize = "passportElementErrorSourceFile", deserialize = "passportElementErrorSourceFile"))]
11396 File(crate::types::PassportElementErrorSourceFile),
11397 #[serde(rename(serialize = "passportElementErrorSourceFiles", deserialize = "passportElementErrorSourceFiles"))]
11399 Files,
11400 }
11401 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11402 #[serde(tag = "@type")]
11403 pub enum PassportElementError {
11404 #[serde(rename(serialize = "passportElementError", deserialize = "passportElementError"))]
11406 PassportElementError(crate::types::PassportElementError),
11407 }
11408 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11409 #[serde(tag = "@type")]
11410 pub enum PassportSuitableElement {
11411 #[serde(rename(serialize = "passportSuitableElement", deserialize = "passportSuitableElement"))]
11413 PassportSuitableElement(crate::types::PassportSuitableElement),
11414 }
11415 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11416 #[serde(tag = "@type")]
11417 pub enum PassportRequiredElement {
11418 #[serde(rename(serialize = "passportRequiredElement", deserialize = "passportRequiredElement"))]
11420 PassportRequiredElement(crate::types::PassportRequiredElement),
11421 }
11422 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11423 #[serde(tag = "@type")]
11424 pub enum PassportAuthorizationForm {
11425 #[serde(rename(serialize = "passportAuthorizationForm", deserialize = "passportAuthorizationForm"))]
11427 PassportAuthorizationForm(crate::types::PassportAuthorizationForm),
11428 }
11429 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11430 #[serde(tag = "@type")]
11431 pub enum PassportElementsWithErrors {
11432 #[serde(rename(serialize = "passportElementsWithErrors", deserialize = "passportElementsWithErrors"))]
11434 PassportElementsWithErrors(crate::types::PassportElementsWithErrors),
11435 }
11436 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11437 #[serde(tag = "@type")]
11438 pub enum EncryptedCredentials {
11439 #[serde(rename(serialize = "encryptedCredentials", deserialize = "encryptedCredentials"))]
11441 EncryptedCredentials(crate::types::EncryptedCredentials),
11442 }
11443 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11444 #[serde(tag = "@type")]
11445 pub enum EncryptedPassportElement {
11446 #[serde(rename(serialize = "encryptedPassportElement", deserialize = "encryptedPassportElement"))]
11448 EncryptedPassportElement(crate::types::EncryptedPassportElement),
11449 }
11450 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11451 #[serde(tag = "@type")]
11452 pub enum InputPassportElementErrorSource {
11453 #[serde(rename(serialize = "inputPassportElementErrorSourceUnspecified", deserialize = "inputPassportElementErrorSourceUnspecified"))]
11455 Unspecified(crate::types::InputPassportElementErrorSourceUnspecified),
11456 #[serde(rename(serialize = "inputPassportElementErrorSourceDataField", deserialize = "inputPassportElementErrorSourceDataField"))]
11458 DataField(crate::types::InputPassportElementErrorSourceDataField),
11459 #[serde(rename(serialize = "inputPassportElementErrorSourceFrontSide", deserialize = "inputPassportElementErrorSourceFrontSide"))]
11461 FrontSide(crate::types::InputPassportElementErrorSourceFrontSide),
11462 #[serde(rename(serialize = "inputPassportElementErrorSourceReverseSide", deserialize = "inputPassportElementErrorSourceReverseSide"))]
11464 ReverseSide(crate::types::InputPassportElementErrorSourceReverseSide),
11465 #[serde(rename(serialize = "inputPassportElementErrorSourceSelfie", deserialize = "inputPassportElementErrorSourceSelfie"))]
11467 Selfie(crate::types::InputPassportElementErrorSourceSelfie),
11468 #[serde(rename(serialize = "inputPassportElementErrorSourceTranslationFile", deserialize = "inputPassportElementErrorSourceTranslationFile"))]
11470 TranslationFile(crate::types::InputPassportElementErrorSourceTranslationFile),
11471 #[serde(rename(serialize = "inputPassportElementErrorSourceTranslationFiles", deserialize = "inputPassportElementErrorSourceTranslationFiles"))]
11473 TranslationFiles(crate::types::InputPassportElementErrorSourceTranslationFiles),
11474 #[serde(rename(serialize = "inputPassportElementErrorSourceFile", deserialize = "inputPassportElementErrorSourceFile"))]
11476 File(crate::types::InputPassportElementErrorSourceFile),
11477 #[serde(rename(serialize = "inputPassportElementErrorSourceFiles", deserialize = "inputPassportElementErrorSourceFiles"))]
11479 Files(crate::types::InputPassportElementErrorSourceFiles),
11480 }
11481 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11482 #[serde(tag = "@type")]
11483 pub enum InputPassportElementError {
11484 #[serde(rename(serialize = "inputPassportElementError", deserialize = "inputPassportElementError"))]
11486 InputPassportElementError(crate::types::InputPassportElementError),
11487 }
11488 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11489 #[serde(tag = "@type")]
11490 pub enum MessageContent {
11491 #[serde(rename(serialize = "messageText", deserialize = "messageText"))]
11493 MessageText(crate::types::MessageText),
11494 #[serde(rename(serialize = "messageAnimation", deserialize = "messageAnimation"))]
11496 MessageAnimation(crate::types::MessageAnimation),
11497 #[serde(rename(serialize = "messageAudio", deserialize = "messageAudio"))]
11499 MessageAudio(crate::types::MessageAudio),
11500 #[serde(rename(serialize = "messageDocument", deserialize = "messageDocument"))]
11502 MessageDocument(crate::types::MessageDocument),
11503 #[serde(rename(serialize = "messagePhoto", deserialize = "messagePhoto"))]
11505 MessagePhoto(crate::types::MessagePhoto),
11506 #[serde(rename(serialize = "messageExpiredPhoto", deserialize = "messageExpiredPhoto"))]
11508 MessageExpiredPhoto,
11509 #[serde(rename(serialize = "messageSticker", deserialize = "messageSticker"))]
11511 MessageSticker(crate::types::MessageSticker),
11512 #[serde(rename(serialize = "messageVideo", deserialize = "messageVideo"))]
11514 MessageVideo(crate::types::MessageVideo),
11515 #[serde(rename(serialize = "messageExpiredVideo", deserialize = "messageExpiredVideo"))]
11517 MessageExpiredVideo,
11518 #[serde(rename(serialize = "messageVideoNote", deserialize = "messageVideoNote"))]
11520 MessageVideoNote(crate::types::MessageVideoNote),
11521 #[serde(rename(serialize = "messageVoiceNote", deserialize = "messageVoiceNote"))]
11523 MessageVoiceNote(crate::types::MessageVoiceNote),
11524 #[serde(rename(serialize = "messageLocation", deserialize = "messageLocation"))]
11526 MessageLocation(crate::types::MessageLocation),
11527 #[serde(rename(serialize = "messageVenue", deserialize = "messageVenue"))]
11529 MessageVenue(crate::types::MessageVenue),
11530 #[serde(rename(serialize = "messageContact", deserialize = "messageContact"))]
11532 MessageContact(crate::types::MessageContact),
11533 #[serde(rename(serialize = "messageAnimatedEmoji", deserialize = "messageAnimatedEmoji"))]
11535 MessageAnimatedEmoji(crate::types::MessageAnimatedEmoji),
11536 #[serde(rename(serialize = "messageDice", deserialize = "messageDice"))]
11538 MessageDice(crate::types::MessageDice),
11539 #[serde(rename(serialize = "messageGame", deserialize = "messageGame"))]
11541 MessageGame(crate::types::MessageGame),
11542 #[serde(rename(serialize = "messagePoll", deserialize = "messagePoll"))]
11544 MessagePoll(crate::types::MessagePoll),
11545 #[serde(rename(serialize = "messageStory", deserialize = "messageStory"))]
11547 MessageStory(crate::types::MessageStory),
11548 #[serde(rename(serialize = "messageInvoice", deserialize = "messageInvoice"))]
11550 MessageInvoice(crate::types::MessageInvoice),
11551 #[serde(rename(serialize = "messageCall", deserialize = "messageCall"))]
11553 MessageCall(crate::types::MessageCall),
11554 #[serde(rename(serialize = "messageVideoChatScheduled", deserialize = "messageVideoChatScheduled"))]
11556 MessageVideoChatScheduled(crate::types::MessageVideoChatScheduled),
11557 #[serde(rename(serialize = "messageVideoChatStarted", deserialize = "messageVideoChatStarted"))]
11559 MessageVideoChatStarted(crate::types::MessageVideoChatStarted),
11560 #[serde(rename(serialize = "messageVideoChatEnded", deserialize = "messageVideoChatEnded"))]
11562 MessageVideoChatEnded(crate::types::MessageVideoChatEnded),
11563 #[serde(rename(serialize = "messageInviteVideoChatParticipants", deserialize = "messageInviteVideoChatParticipants"))]
11565 MessageInviteVideoChatParticipants(crate::types::MessageInviteVideoChatParticipants),
11566 #[serde(rename(serialize = "messageBasicGroupChatCreate", deserialize = "messageBasicGroupChatCreate"))]
11568 MessageBasicGroupChatCreate(crate::types::MessageBasicGroupChatCreate),
11569 #[serde(rename(serialize = "messageSupergroupChatCreate", deserialize = "messageSupergroupChatCreate"))]
11571 MessageSupergroupChatCreate(crate::types::MessageSupergroupChatCreate),
11572 #[serde(rename(serialize = "messageChatChangeTitle", deserialize = "messageChatChangeTitle"))]
11574 MessageChatChangeTitle(crate::types::MessageChatChangeTitle),
11575 #[serde(rename(serialize = "messageChatChangePhoto", deserialize = "messageChatChangePhoto"))]
11577 MessageChatChangePhoto(crate::types::MessageChatChangePhoto),
11578 #[serde(rename(serialize = "messageChatDeletePhoto", deserialize = "messageChatDeletePhoto"))]
11580 MessageChatDeletePhoto,
11581 #[serde(rename(serialize = "messageChatAddMembers", deserialize = "messageChatAddMembers"))]
11583 MessageChatAddMembers(crate::types::MessageChatAddMembers),
11584 #[serde(rename(serialize = "messageChatJoinByLink", deserialize = "messageChatJoinByLink"))]
11586 MessageChatJoinByLink,
11587 #[serde(rename(serialize = "messageChatJoinByRequest", deserialize = "messageChatJoinByRequest"))]
11589 MessageChatJoinByRequest,
11590 #[serde(rename(serialize = "messageChatDeleteMember", deserialize = "messageChatDeleteMember"))]
11592 MessageChatDeleteMember(crate::types::MessageChatDeleteMember),
11593 #[serde(rename(serialize = "messageChatUpgradeTo", deserialize = "messageChatUpgradeTo"))]
11595 MessageChatUpgradeTo(crate::types::MessageChatUpgradeTo),
11596 #[serde(rename(serialize = "messageChatUpgradeFrom", deserialize = "messageChatUpgradeFrom"))]
11598 MessageChatUpgradeFrom(crate::types::MessageChatUpgradeFrom),
11599 #[serde(rename(serialize = "messagePinMessage", deserialize = "messagePinMessage"))]
11601 MessagePinMessage(crate::types::MessagePinMessage),
11602 #[serde(rename(serialize = "messageScreenshotTaken", deserialize = "messageScreenshotTaken"))]
11604 MessageScreenshotTaken,
11605 #[serde(rename(serialize = "messageChatSetBackground", deserialize = "messageChatSetBackground"))]
11607 MessageChatSetBackground(crate::types::MessageChatSetBackground),
11608 #[serde(rename(serialize = "messageChatSetTheme", deserialize = "messageChatSetTheme"))]
11610 MessageChatSetTheme(crate::types::MessageChatSetTheme),
11611 #[serde(rename(serialize = "messageChatSetMessageAutoDeleteTime", deserialize = "messageChatSetMessageAutoDeleteTime"))]
11613 MessageChatSetMessageAutoDeleteTime(crate::types::MessageChatSetMessageAutoDeleteTime),
11614 #[serde(rename(serialize = "messageForumTopicCreated", deserialize = "messageForumTopicCreated"))]
11616 MessageForumTopicCreated(crate::types::MessageForumTopicCreated),
11617 #[serde(rename(serialize = "messageForumTopicEdited", deserialize = "messageForumTopicEdited"))]
11619 MessageForumTopicEdited(crate::types::MessageForumTopicEdited),
11620 #[serde(rename(serialize = "messageForumTopicIsClosedToggled", deserialize = "messageForumTopicIsClosedToggled"))]
11622 MessageForumTopicIsClosedToggled(crate::types::MessageForumTopicIsClosedToggled),
11623 #[serde(rename(serialize = "messageForumTopicIsHiddenToggled", deserialize = "messageForumTopicIsHiddenToggled"))]
11625 MessageForumTopicIsHiddenToggled(crate::types::MessageForumTopicIsHiddenToggled),
11626 #[serde(rename(serialize = "messageSuggestProfilePhoto", deserialize = "messageSuggestProfilePhoto"))]
11628 MessageSuggestProfilePhoto(crate::types::MessageSuggestProfilePhoto),
11629 #[serde(rename(serialize = "messageCustomServiceAction", deserialize = "messageCustomServiceAction"))]
11631 MessageCustomServiceAction(crate::types::MessageCustomServiceAction),
11632 #[serde(rename(serialize = "messageGameScore", deserialize = "messageGameScore"))]
11634 MessageGameScore(crate::types::MessageGameScore),
11635 #[serde(rename(serialize = "messagePaymentSuccessful", deserialize = "messagePaymentSuccessful"))]
11637 MessagePaymentSuccessful(crate::types::MessagePaymentSuccessful),
11638 #[serde(rename(serialize = "messagePaymentSuccessfulBot", deserialize = "messagePaymentSuccessfulBot"))]
11640 MessagePaymentSuccessfulBot(crate::types::MessagePaymentSuccessfulBot),
11641 #[serde(rename(serialize = "messageGiftedPremium", deserialize = "messageGiftedPremium"))]
11643 MessageGiftedPremium(crate::types::MessageGiftedPremium),
11644 #[serde(rename(serialize = "messageContactRegistered", deserialize = "messageContactRegistered"))]
11646 MessageContactRegistered,
11647 #[serde(rename(serialize = "messageUserShared", deserialize = "messageUserShared"))]
11649 MessageUserShared(crate::types::MessageUserShared),
11650 #[serde(rename(serialize = "messageChatShared", deserialize = "messageChatShared"))]
11652 MessageChatShared(crate::types::MessageChatShared),
11653 #[serde(rename(serialize = "messageWebsiteConnected", deserialize = "messageWebsiteConnected"))]
11655 MessageWebsiteConnected(crate::types::MessageWebsiteConnected),
11656 #[serde(rename(serialize = "messageBotWriteAccessAllowed", deserialize = "messageBotWriteAccessAllowed"))]
11658 MessageBotWriteAccessAllowed(crate::types::MessageBotWriteAccessAllowed),
11659 #[serde(rename(serialize = "messageWebAppDataSent", deserialize = "messageWebAppDataSent"))]
11661 MessageWebAppDataSent(crate::types::MessageWebAppDataSent),
11662 #[serde(rename(serialize = "messageWebAppDataReceived", deserialize = "messageWebAppDataReceived"))]
11664 MessageWebAppDataReceived(crate::types::MessageWebAppDataReceived),
11665 #[serde(rename(serialize = "messagePassportDataSent", deserialize = "messagePassportDataSent"))]
11667 MessagePassportDataSent(crate::types::MessagePassportDataSent),
11668 #[serde(rename(serialize = "messagePassportDataReceived", deserialize = "messagePassportDataReceived"))]
11670 MessagePassportDataReceived(crate::types::MessagePassportDataReceived),
11671 #[serde(rename(serialize = "messageProximityAlertTriggered", deserialize = "messageProximityAlertTriggered"))]
11673 MessageProximityAlertTriggered(crate::types::MessageProximityAlertTriggered),
11674 #[serde(rename(serialize = "messageUnsupported", deserialize = "messageUnsupported"))]
11676 MessageUnsupported,
11677 }
11678 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11679 #[serde(tag = "@type")]
11680 pub enum TextEntityType {
11681 #[serde(rename(serialize = "textEntityTypeMention", deserialize = "textEntityTypeMention"))]
11683 Mention,
11684 #[serde(rename(serialize = "textEntityTypeHashtag", deserialize = "textEntityTypeHashtag"))]
11686 Hashtag,
11687 #[serde(rename(serialize = "textEntityTypeCashtag", deserialize = "textEntityTypeCashtag"))]
11689 Cashtag,
11690 #[serde(rename(serialize = "textEntityTypeBotCommand", deserialize = "textEntityTypeBotCommand"))]
11692 BotCommand,
11693 #[serde(rename(serialize = "textEntityTypeUrl", deserialize = "textEntityTypeUrl"))]
11695 Url,
11696 #[serde(rename(serialize = "textEntityTypeEmailAddress", deserialize = "textEntityTypeEmailAddress"))]
11698 EmailAddress,
11699 #[serde(rename(serialize = "textEntityTypePhoneNumber", deserialize = "textEntityTypePhoneNumber"))]
11701 PhoneNumber,
11702 #[serde(rename(serialize = "textEntityTypeBankCardNumber", deserialize = "textEntityTypeBankCardNumber"))]
11704 BankCardNumber,
11705 #[serde(rename(serialize = "textEntityTypeBold", deserialize = "textEntityTypeBold"))]
11707 Bold,
11708 #[serde(rename(serialize = "textEntityTypeItalic", deserialize = "textEntityTypeItalic"))]
11710 Italic,
11711 #[serde(rename(serialize = "textEntityTypeUnderline", deserialize = "textEntityTypeUnderline"))]
11713 Underline,
11714 #[serde(rename(serialize = "textEntityTypeStrikethrough", deserialize = "textEntityTypeStrikethrough"))]
11716 Strikethrough,
11717 #[serde(rename(serialize = "textEntityTypeSpoiler", deserialize = "textEntityTypeSpoiler"))]
11719 Spoiler,
11720 #[serde(rename(serialize = "textEntityTypeCode", deserialize = "textEntityTypeCode"))]
11722 Code,
11723 #[serde(rename(serialize = "textEntityTypePre", deserialize = "textEntityTypePre"))]
11725 Pre,
11726 #[serde(rename(serialize = "textEntityTypePreCode", deserialize = "textEntityTypePreCode"))]
11728 PreCode(crate::types::TextEntityTypePreCode),
11729 #[serde(rename(serialize = "textEntityTypeTextUrl", deserialize = "textEntityTypeTextUrl"))]
11731 TextUrl(crate::types::TextEntityTypeTextUrl),
11732 #[serde(rename(serialize = "textEntityTypeMentionName", deserialize = "textEntityTypeMentionName"))]
11734 MentionName(crate::types::TextEntityTypeMentionName),
11735 #[serde(rename(serialize = "textEntityTypeCustomEmoji", deserialize = "textEntityTypeCustomEmoji"))]
11737 CustomEmoji(crate::types::TextEntityTypeCustomEmoji),
11738 #[serde(rename(serialize = "textEntityTypeMediaTimestamp", deserialize = "textEntityTypeMediaTimestamp"))]
11740 MediaTimestamp(crate::types::TextEntityTypeMediaTimestamp),
11741 }
11742 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11743 #[serde(tag = "@type")]
11744 pub enum InputThumbnail {
11745 #[serde(rename(serialize = "inputThumbnail", deserialize = "inputThumbnail"))]
11747 InputThumbnail(crate::types::InputThumbnail),
11748 }
11749 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11750 #[serde(tag = "@type")]
11751 pub enum MessageSchedulingState {
11752 #[serde(rename(serialize = "messageSchedulingStateSendAtDate", deserialize = "messageSchedulingStateSendAtDate"))]
11754 SendAtDate(crate::types::MessageSchedulingStateSendAtDate),
11755 #[serde(rename(serialize = "messageSchedulingStateSendWhenOnline", deserialize = "messageSchedulingStateSendWhenOnline"))]
11757 SendWhenOnline,
11758 }
11759 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11760 #[serde(tag = "@type")]
11761 pub enum MessageSelfDestructType {
11762 #[serde(rename(serialize = "messageSelfDestructTypeTimer", deserialize = "messageSelfDestructTypeTimer"))]
11764 Timer(crate::types::MessageSelfDestructTypeTimer),
11765 #[serde(rename(serialize = "messageSelfDestructTypeImmediately", deserialize = "messageSelfDestructTypeImmediately"))]
11767 Immediately,
11768 }
11769 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11770 #[serde(tag = "@type")]
11771 pub enum MessageSendOptions {
11772 #[serde(rename(serialize = "messageSendOptions", deserialize = "messageSendOptions"))]
11774 MessageSendOptions(crate::types::MessageSendOptions),
11775 }
11776 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11777 #[serde(tag = "@type")]
11778 pub enum MessageCopyOptions {
11779 #[serde(rename(serialize = "messageCopyOptions", deserialize = "messageCopyOptions"))]
11781 MessageCopyOptions(crate::types::MessageCopyOptions),
11782 }
11783 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11784 #[serde(tag = "@type")]
11785 pub enum InputMessageContent {
11786 #[serde(rename(serialize = "inputMessageText", deserialize = "inputMessageText"))]
11788 InputMessageText(crate::types::InputMessageText),
11789 #[serde(rename(serialize = "inputMessageAnimation", deserialize = "inputMessageAnimation"))]
11791 InputMessageAnimation(crate::types::InputMessageAnimation),
11792 #[serde(rename(serialize = "inputMessageAudio", deserialize = "inputMessageAudio"))]
11794 InputMessageAudio(crate::types::InputMessageAudio),
11795 #[serde(rename(serialize = "inputMessageDocument", deserialize = "inputMessageDocument"))]
11797 InputMessageDocument(crate::types::InputMessageDocument),
11798 #[serde(rename(serialize = "inputMessagePhoto", deserialize = "inputMessagePhoto"))]
11800 InputMessagePhoto(crate::types::InputMessagePhoto),
11801 #[serde(rename(serialize = "inputMessageSticker", deserialize = "inputMessageSticker"))]
11803 InputMessageSticker(crate::types::InputMessageSticker),
11804 #[serde(rename(serialize = "inputMessageVideo", deserialize = "inputMessageVideo"))]
11806 InputMessageVideo(crate::types::InputMessageVideo),
11807 #[serde(rename(serialize = "inputMessageVideoNote", deserialize = "inputMessageVideoNote"))]
11809 InputMessageVideoNote(crate::types::InputMessageVideoNote),
11810 #[serde(rename(serialize = "inputMessageVoiceNote", deserialize = "inputMessageVoiceNote"))]
11812 InputMessageVoiceNote(crate::types::InputMessageVoiceNote),
11813 #[serde(rename(serialize = "inputMessageLocation", deserialize = "inputMessageLocation"))]
11815 InputMessageLocation(crate::types::InputMessageLocation),
11816 #[serde(rename(serialize = "inputMessageVenue", deserialize = "inputMessageVenue"))]
11818 InputMessageVenue(crate::types::InputMessageVenue),
11819 #[serde(rename(serialize = "inputMessageContact", deserialize = "inputMessageContact"))]
11821 InputMessageContact(crate::types::InputMessageContact),
11822 #[serde(rename(serialize = "inputMessageDice", deserialize = "inputMessageDice"))]
11824 InputMessageDice(crate::types::InputMessageDice),
11825 #[serde(rename(serialize = "inputMessageGame", deserialize = "inputMessageGame"))]
11827 InputMessageGame(crate::types::InputMessageGame),
11828 #[serde(rename(serialize = "inputMessageInvoice", deserialize = "inputMessageInvoice"))]
11830 InputMessageInvoice(Box<crate::types::InputMessageInvoice>),
11831 #[serde(rename(serialize = "inputMessagePoll", deserialize = "inputMessagePoll"))]
11833 InputMessagePoll(crate::types::InputMessagePoll),
11834 #[serde(rename(serialize = "inputMessageStory", deserialize = "inputMessageStory"))]
11836 InputMessageStory(crate::types::InputMessageStory),
11837 #[serde(rename(serialize = "inputMessageForwarded", deserialize = "inputMessageForwarded"))]
11839 InputMessageForwarded(crate::types::InputMessageForwarded),
11840 }
11841 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11842 #[serde(tag = "@type")]
11843 pub enum SearchMessagesFilter {
11844 #[serde(rename(serialize = "searchMessagesFilterEmpty", deserialize = "searchMessagesFilterEmpty"))]
11846 Empty,
11847 #[serde(rename(serialize = "searchMessagesFilterAnimation", deserialize = "searchMessagesFilterAnimation"))]
11849 Animation,
11850 #[serde(rename(serialize = "searchMessagesFilterAudio", deserialize = "searchMessagesFilterAudio"))]
11852 Audio,
11853 #[serde(rename(serialize = "searchMessagesFilterDocument", deserialize = "searchMessagesFilterDocument"))]
11855 Document,
11856 #[serde(rename(serialize = "searchMessagesFilterPhoto", deserialize = "searchMessagesFilterPhoto"))]
11858 Photo,
11859 #[serde(rename(serialize = "searchMessagesFilterVideo", deserialize = "searchMessagesFilterVideo"))]
11861 Video,
11862 #[serde(rename(serialize = "searchMessagesFilterVoiceNote", deserialize = "searchMessagesFilterVoiceNote"))]
11864 VoiceNote,
11865 #[serde(rename(serialize = "searchMessagesFilterPhotoAndVideo", deserialize = "searchMessagesFilterPhotoAndVideo"))]
11867 PhotoAndVideo,
11868 #[serde(rename(serialize = "searchMessagesFilterUrl", deserialize = "searchMessagesFilterUrl"))]
11870 Url,
11871 #[serde(rename(serialize = "searchMessagesFilterChatPhoto", deserialize = "searchMessagesFilterChatPhoto"))]
11873 ChatPhoto,
11874 #[serde(rename(serialize = "searchMessagesFilterVideoNote", deserialize = "searchMessagesFilterVideoNote"))]
11876 VideoNote,
11877 #[serde(rename(serialize = "searchMessagesFilterVoiceAndVideoNote", deserialize = "searchMessagesFilterVoiceAndVideoNote"))]
11879 VoiceAndVideoNote,
11880 #[serde(rename(serialize = "searchMessagesFilterMention", deserialize = "searchMessagesFilterMention"))]
11882 Mention,
11883 #[serde(rename(serialize = "searchMessagesFilterUnreadMention", deserialize = "searchMessagesFilterUnreadMention"))]
11885 UnreadMention,
11886 #[serde(rename(serialize = "searchMessagesFilterUnreadReaction", deserialize = "searchMessagesFilterUnreadReaction"))]
11888 UnreadReaction,
11889 #[serde(rename(serialize = "searchMessagesFilterFailedToSend", deserialize = "searchMessagesFilterFailedToSend"))]
11891 FailedToSend,
11892 #[serde(rename(serialize = "searchMessagesFilterPinned", deserialize = "searchMessagesFilterPinned"))]
11894 Pinned,
11895 }
11896 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11897 #[serde(tag = "@type")]
11898 pub enum ChatAction {
11899 #[serde(rename(serialize = "chatActionTyping", deserialize = "chatActionTyping"))]
11901 Typing,
11902 #[serde(rename(serialize = "chatActionRecordingVideo", deserialize = "chatActionRecordingVideo"))]
11904 RecordingVideo,
11905 #[serde(rename(serialize = "chatActionUploadingVideo", deserialize = "chatActionUploadingVideo"))]
11907 UploadingVideo(crate::types::ChatActionUploadingVideo),
11908 #[serde(rename(serialize = "chatActionRecordingVoiceNote", deserialize = "chatActionRecordingVoiceNote"))]
11910 RecordingVoiceNote,
11911 #[serde(rename(serialize = "chatActionUploadingVoiceNote", deserialize = "chatActionUploadingVoiceNote"))]
11913 UploadingVoiceNote(crate::types::ChatActionUploadingVoiceNote),
11914 #[serde(rename(serialize = "chatActionUploadingPhoto", deserialize = "chatActionUploadingPhoto"))]
11916 UploadingPhoto(crate::types::ChatActionUploadingPhoto),
11917 #[serde(rename(serialize = "chatActionUploadingDocument", deserialize = "chatActionUploadingDocument"))]
11919 UploadingDocument(crate::types::ChatActionUploadingDocument),
11920 #[serde(rename(serialize = "chatActionChoosingSticker", deserialize = "chatActionChoosingSticker"))]
11922 ChoosingSticker,
11923 #[serde(rename(serialize = "chatActionChoosingLocation", deserialize = "chatActionChoosingLocation"))]
11925 ChoosingLocation,
11926 #[serde(rename(serialize = "chatActionChoosingContact", deserialize = "chatActionChoosingContact"))]
11928 ChoosingContact,
11929 #[serde(rename(serialize = "chatActionStartPlayingGame", deserialize = "chatActionStartPlayingGame"))]
11931 StartPlayingGame,
11932 #[serde(rename(serialize = "chatActionRecordingVideoNote", deserialize = "chatActionRecordingVideoNote"))]
11934 RecordingVideoNote,
11935 #[serde(rename(serialize = "chatActionUploadingVideoNote", deserialize = "chatActionUploadingVideoNote"))]
11937 UploadingVideoNote(crate::types::ChatActionUploadingVideoNote),
11938 #[serde(rename(serialize = "chatActionWatchingAnimations", deserialize = "chatActionWatchingAnimations"))]
11940 WatchingAnimations(crate::types::ChatActionWatchingAnimations),
11941 #[serde(rename(serialize = "chatActionCancel", deserialize = "chatActionCancel"))]
11943 Cancel,
11944 }
11945 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11946 #[serde(tag = "@type")]
11947 pub enum UserStatus {
11948 #[serde(rename(serialize = "userStatusEmpty", deserialize = "userStatusEmpty"))]
11950 Empty,
11951 #[serde(rename(serialize = "userStatusOnline", deserialize = "userStatusOnline"))]
11953 Online(crate::types::UserStatusOnline),
11954 #[serde(rename(serialize = "userStatusOffline", deserialize = "userStatusOffline"))]
11956 Offline(crate::types::UserStatusOffline),
11957 #[serde(rename(serialize = "userStatusRecently", deserialize = "userStatusRecently"))]
11959 Recently,
11960 #[serde(rename(serialize = "userStatusLastWeek", deserialize = "userStatusLastWeek"))]
11962 LastWeek,
11963 #[serde(rename(serialize = "userStatusLastMonth", deserialize = "userStatusLastMonth"))]
11965 LastMonth,
11966 }
11967 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11968 #[serde(tag = "@type")]
11969 pub enum Stickers {
11970 #[serde(rename(serialize = "stickers", deserialize = "stickers"))]
11972 Stickers(crate::types::Stickers),
11973 }
11974 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11975 #[serde(tag = "@type")]
11976 pub enum Emojis {
11977 #[serde(rename(serialize = "emojis", deserialize = "emojis"))]
11979 Emojis(crate::types::Emojis),
11980 }
11981 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11982 #[serde(tag = "@type")]
11983 pub enum StickerSet {
11984 #[serde(rename(serialize = "stickerSet", deserialize = "stickerSet"))]
11986 StickerSet(crate::types::StickerSet),
11987 }
11988 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11989 #[serde(tag = "@type")]
11990 pub enum StickerSetInfo {
11991 #[serde(rename(serialize = "stickerSetInfo", deserialize = "stickerSetInfo"))]
11993 StickerSetInfo(crate::types::StickerSetInfo),
11994 }
11995 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
11996 #[serde(tag = "@type")]
11997 pub enum StickerSets {
11998 #[serde(rename(serialize = "stickerSets", deserialize = "stickerSets"))]
12000 StickerSets(crate::types::StickerSets),
12001 }
12002 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12003 #[serde(tag = "@type")]
12004 pub enum TrendingStickerSets {
12005 #[serde(rename(serialize = "trendingStickerSets", deserialize = "trendingStickerSets"))]
12007 TrendingStickerSets(crate::types::TrendingStickerSets),
12008 }
12009 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12010 #[serde(tag = "@type")]
12011 pub enum EmojiCategory {
12012 #[serde(rename(serialize = "emojiCategory", deserialize = "emojiCategory"))]
12014 EmojiCategory(crate::types::EmojiCategory),
12015 }
12016 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12017 #[serde(tag = "@type")]
12018 pub enum EmojiCategories {
12019 #[serde(rename(serialize = "emojiCategories", deserialize = "emojiCategories"))]
12021 EmojiCategories(crate::types::EmojiCategories),
12022 }
12023 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12024 #[serde(tag = "@type")]
12025 pub enum EmojiCategoryType {
12026 #[serde(rename(serialize = "emojiCategoryTypeDefault", deserialize = "emojiCategoryTypeDefault"))]
12028 Default,
12029 #[serde(rename(serialize = "emojiCategoryTypeEmojiStatus", deserialize = "emojiCategoryTypeEmojiStatus"))]
12031 EmojiStatus,
12032 #[serde(rename(serialize = "emojiCategoryTypeChatPhoto", deserialize = "emojiCategoryTypeChatPhoto"))]
12034 ChatPhoto,
12035 }
12036 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12037 #[serde(tag = "@type")]
12038 pub enum StoryViewer {
12039 #[serde(rename(serialize = "storyViewer", deserialize = "storyViewer"))]
12041 StoryViewer(crate::types::StoryViewer),
12042 }
12043 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12044 #[serde(tag = "@type")]
12045 pub enum StoryViewers {
12046 #[serde(rename(serialize = "storyViewers", deserialize = "storyViewers"))]
12048 StoryViewers(crate::types::StoryViewers),
12049 }
12050 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12051 #[serde(tag = "@type")]
12052 pub enum StoryAreaPosition {
12053 #[serde(rename(serialize = "storyAreaPosition", deserialize = "storyAreaPosition"))]
12055 StoryAreaPosition(crate::types::StoryAreaPosition),
12056 }
12057 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12058 #[serde(tag = "@type")]
12059 pub enum StoryAreaType {
12060 #[serde(rename(serialize = "storyAreaTypeLocation", deserialize = "storyAreaTypeLocation"))]
12062 Location(crate::types::StoryAreaTypeLocation),
12063 #[serde(rename(serialize = "storyAreaTypeVenue", deserialize = "storyAreaTypeVenue"))]
12065 Venue(crate::types::StoryAreaTypeVenue),
12066 #[serde(rename(serialize = "storyAreaTypeSuggestedReaction", deserialize = "storyAreaTypeSuggestedReaction"))]
12068 SuggestedReaction(crate::types::StoryAreaTypeSuggestedReaction),
12069 }
12070 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12071 #[serde(tag = "@type")]
12072 pub enum StoryArea {
12073 #[serde(rename(serialize = "storyArea", deserialize = "storyArea"))]
12075 StoryArea(crate::types::StoryArea),
12076 }
12077 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12078 #[serde(tag = "@type")]
12079 pub enum InputStoryAreaType {
12080 #[serde(rename(serialize = "inputStoryAreaTypeLocation", deserialize = "inputStoryAreaTypeLocation"))]
12082 Location(crate::types::InputStoryAreaTypeLocation),
12083 #[serde(rename(serialize = "inputStoryAreaTypeFoundVenue", deserialize = "inputStoryAreaTypeFoundVenue"))]
12085 FoundVenue(crate::types::InputStoryAreaTypeFoundVenue),
12086 #[serde(rename(serialize = "inputStoryAreaTypePreviousVenue", deserialize = "inputStoryAreaTypePreviousVenue"))]
12088 PreviousVenue(crate::types::InputStoryAreaTypePreviousVenue),
12089 #[serde(rename(serialize = "inputStoryAreaTypeSuggestedReaction", deserialize = "inputStoryAreaTypeSuggestedReaction"))]
12091 SuggestedReaction(crate::types::InputStoryAreaTypeSuggestedReaction),
12092 }
12093 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12094 #[serde(tag = "@type")]
12095 pub enum InputStoryArea {
12096 #[serde(rename(serialize = "inputStoryArea", deserialize = "inputStoryArea"))]
12098 InputStoryArea(crate::types::InputStoryArea),
12099 }
12100 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12101 #[serde(tag = "@type")]
12102 pub enum InputStoryAreas {
12103 #[serde(rename(serialize = "inputStoryAreas", deserialize = "inputStoryAreas"))]
12105 InputStoryAreas(crate::types::InputStoryAreas),
12106 }
12107 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12108 #[serde(tag = "@type")]
12109 pub enum StoryVideo {
12110 #[serde(rename(serialize = "storyVideo", deserialize = "storyVideo"))]
12112 StoryVideo(crate::types::StoryVideo),
12113 }
12114 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12115 #[serde(tag = "@type")]
12116 pub enum StoryContent {
12117 #[serde(rename(serialize = "storyContentPhoto", deserialize = "storyContentPhoto"))]
12119 Photo(crate::types::StoryContentPhoto),
12120 #[serde(rename(serialize = "storyContentVideo", deserialize = "storyContentVideo"))]
12122 Video(crate::types::StoryContentVideo),
12123 #[serde(rename(serialize = "storyContentUnsupported", deserialize = "storyContentUnsupported"))]
12125 Unsupported,
12126 }
12127 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12128 #[serde(tag = "@type")]
12129 pub enum InputStoryContent {
12130 #[serde(rename(serialize = "inputStoryContentPhoto", deserialize = "inputStoryContentPhoto"))]
12132 Photo(crate::types::InputStoryContentPhoto),
12133 #[serde(rename(serialize = "inputStoryContentVideo", deserialize = "inputStoryContentVideo"))]
12135 Video(crate::types::InputStoryContentVideo),
12136 }
12137 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12138 #[serde(tag = "@type")]
12139 pub enum StoryList {
12140 #[serde(rename(serialize = "storyListMain", deserialize = "storyListMain"))]
12142 Main,
12143 #[serde(rename(serialize = "storyListArchive", deserialize = "storyListArchive"))]
12145 Archive,
12146 }
12147 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12148 #[serde(tag = "@type")]
12149 pub enum StoryInteractionInfo {
12150 #[serde(rename(serialize = "storyInteractionInfo", deserialize = "storyInteractionInfo"))]
12152 StoryInteractionInfo(crate::types::StoryInteractionInfo),
12153 }
12154 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12155 #[serde(tag = "@type")]
12156 pub enum Story {
12157 #[serde(rename(serialize = "story", deserialize = "story"))]
12159 Story(crate::types::Story),
12160 }
12161 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12162 #[serde(tag = "@type")]
12163 pub enum Stories {
12164 #[serde(rename(serialize = "stories", deserialize = "stories"))]
12166 Stories(crate::types::Stories),
12167 }
12168 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12169 #[serde(tag = "@type")]
12170 pub enum StoryInfo {
12171 #[serde(rename(serialize = "storyInfo", deserialize = "storyInfo"))]
12173 StoryInfo(crate::types::StoryInfo),
12174 }
12175 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12176 #[serde(tag = "@type")]
12177 pub enum ChatActiveStories {
12178 #[serde(rename(serialize = "chatActiveStories", deserialize = "chatActiveStories"))]
12180 ChatActiveStories(crate::types::ChatActiveStories),
12181 }
12182 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12183 #[serde(tag = "@type")]
12184 pub enum ChatBoostStatus {
12185 #[serde(rename(serialize = "chatBoostStatus", deserialize = "chatBoostStatus"))]
12187 ChatBoostStatus(crate::types::ChatBoostStatus),
12188 }
12189 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12190 #[serde(tag = "@type")]
12191 pub enum ChatBoost {
12192 #[serde(rename(serialize = "chatBoost", deserialize = "chatBoost"))]
12194 ChatBoost(crate::types::ChatBoost),
12195 }
12196 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12197 #[serde(tag = "@type")]
12198 pub enum FoundChatBoosts {
12199 #[serde(rename(serialize = "foundChatBoosts", deserialize = "foundChatBoosts"))]
12201 FoundChatBoosts(crate::types::FoundChatBoosts),
12202 }
12203 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12204 #[serde(tag = "@type")]
12205 pub enum CallDiscardReason {
12206 #[serde(rename(serialize = "callDiscardReasonEmpty", deserialize = "callDiscardReasonEmpty"))]
12208 Empty,
12209 #[serde(rename(serialize = "callDiscardReasonMissed", deserialize = "callDiscardReasonMissed"))]
12211 Missed,
12212 #[serde(rename(serialize = "callDiscardReasonDeclined", deserialize = "callDiscardReasonDeclined"))]
12214 Declined,
12215 #[serde(rename(serialize = "callDiscardReasonDisconnected", deserialize = "callDiscardReasonDisconnected"))]
12217 Disconnected,
12218 #[serde(rename(serialize = "callDiscardReasonHungUp", deserialize = "callDiscardReasonHungUp"))]
12220 HungUp,
12221 }
12222 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12223 #[serde(tag = "@type")]
12224 pub enum CallProtocol {
12225 #[serde(rename(serialize = "callProtocol", deserialize = "callProtocol"))]
12227 CallProtocol(crate::types::CallProtocol),
12228 }
12229 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12230 #[serde(tag = "@type")]
12231 pub enum CallServerType {
12232 #[serde(rename(serialize = "callServerTypeTelegramReflector", deserialize = "callServerTypeTelegramReflector"))]
12234 TelegramReflector(crate::types::CallServerTypeTelegramReflector),
12235 #[serde(rename(serialize = "callServerTypeWebrtc", deserialize = "callServerTypeWebrtc"))]
12237 Webrtc(crate::types::CallServerTypeWebrtc),
12238 }
12239 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12240 #[serde(tag = "@type")]
12241 pub enum CallServer {
12242 #[serde(rename(serialize = "callServer", deserialize = "callServer"))]
12244 CallServer(crate::types::CallServer),
12245 }
12246 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12247 #[serde(tag = "@type")]
12248 pub enum CallId {
12249 #[serde(rename(serialize = "callId", deserialize = "callId"))]
12251 CallId(crate::types::CallId),
12252 }
12253 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12254 #[serde(tag = "@type")]
12255 pub enum GroupCallId {
12256 #[serde(rename(serialize = "groupCallId", deserialize = "groupCallId"))]
12258 GroupCallId(crate::types::GroupCallId),
12259 }
12260 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12261 #[serde(tag = "@type")]
12262 pub enum CallState {
12263 #[serde(rename(serialize = "callStatePending", deserialize = "callStatePending"))]
12265 Pending(crate::types::CallStatePending),
12266 #[serde(rename(serialize = "callStateExchangingKeys", deserialize = "callStateExchangingKeys"))]
12268 ExchangingKeys,
12269 #[serde(rename(serialize = "callStateReady", deserialize = "callStateReady"))]
12271 Ready(crate::types::CallStateReady),
12272 #[serde(rename(serialize = "callStateHangingUp", deserialize = "callStateHangingUp"))]
12274 HangingUp,
12275 #[serde(rename(serialize = "callStateDiscarded", deserialize = "callStateDiscarded"))]
12277 Discarded(crate::types::CallStateDiscarded),
12278 #[serde(rename(serialize = "callStateError", deserialize = "callStateError"))]
12280 Error(crate::types::CallStateError),
12281 }
12282 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12283 #[serde(tag = "@type")]
12284 pub enum GroupCallVideoQuality {
12285 #[serde(rename(serialize = "groupCallVideoQualityThumbnail", deserialize = "groupCallVideoQualityThumbnail"))]
12287 Thumbnail,
12288 #[serde(rename(serialize = "groupCallVideoQualityMedium", deserialize = "groupCallVideoQualityMedium"))]
12290 Medium,
12291 #[serde(rename(serialize = "groupCallVideoQualityFull", deserialize = "groupCallVideoQualityFull"))]
12293 Full,
12294 }
12295 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12296 #[serde(tag = "@type")]
12297 pub enum GroupCallStream {
12298 #[serde(rename(serialize = "groupCallStream", deserialize = "groupCallStream"))]
12300 GroupCallStream(crate::types::GroupCallStream),
12301 }
12302 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12303 #[serde(tag = "@type")]
12304 pub enum GroupCallStreams {
12305 #[serde(rename(serialize = "groupCallStreams", deserialize = "groupCallStreams"))]
12307 GroupCallStreams(crate::types::GroupCallStreams),
12308 }
12309 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12310 #[serde(tag = "@type")]
12311 pub enum RtmpUrl {
12312 #[serde(rename(serialize = "rtmpUrl", deserialize = "rtmpUrl"))]
12314 RtmpUrl(crate::types::RtmpUrl),
12315 }
12316 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12317 #[serde(tag = "@type")]
12318 pub enum GroupCallRecentSpeaker {
12319 #[serde(rename(serialize = "groupCallRecentSpeaker", deserialize = "groupCallRecentSpeaker"))]
12321 GroupCallRecentSpeaker(crate::types::GroupCallRecentSpeaker),
12322 }
12323 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12324 #[serde(tag = "@type")]
12325 pub enum GroupCall {
12326 #[serde(rename(serialize = "groupCall", deserialize = "groupCall"))]
12328 GroupCall(crate::types::GroupCall),
12329 }
12330 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12331 #[serde(tag = "@type")]
12332 pub enum GroupCallVideoSourceGroup {
12333 #[serde(rename(serialize = "groupCallVideoSourceGroup", deserialize = "groupCallVideoSourceGroup"))]
12335 GroupCallVideoSourceGroup(crate::types::GroupCallVideoSourceGroup),
12336 }
12337 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12338 #[serde(tag = "@type")]
12339 pub enum GroupCallParticipantVideoInfo {
12340 #[serde(rename(serialize = "groupCallParticipantVideoInfo", deserialize = "groupCallParticipantVideoInfo"))]
12342 GroupCallParticipantVideoInfo(crate::types::GroupCallParticipantVideoInfo),
12343 }
12344 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12345 #[serde(tag = "@type")]
12346 pub enum GroupCallParticipant {
12347 #[serde(rename(serialize = "groupCallParticipant", deserialize = "groupCallParticipant"))]
12349 GroupCallParticipant(crate::types::GroupCallParticipant),
12350 }
12351 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12352 #[serde(tag = "@type")]
12353 pub enum CallProblem {
12354 #[serde(rename(serialize = "callProblemEcho", deserialize = "callProblemEcho"))]
12356 Echo,
12357 #[serde(rename(serialize = "callProblemNoise", deserialize = "callProblemNoise"))]
12359 Noise,
12360 #[serde(rename(serialize = "callProblemInterruptions", deserialize = "callProblemInterruptions"))]
12362 Interruptions,
12363 #[serde(rename(serialize = "callProblemDistortedSpeech", deserialize = "callProblemDistortedSpeech"))]
12365 DistortedSpeech,
12366 #[serde(rename(serialize = "callProblemSilentLocal", deserialize = "callProblemSilentLocal"))]
12368 SilentLocal,
12369 #[serde(rename(serialize = "callProblemSilentRemote", deserialize = "callProblemSilentRemote"))]
12371 SilentRemote,
12372 #[serde(rename(serialize = "callProblemDropped", deserialize = "callProblemDropped"))]
12374 Dropped,
12375 #[serde(rename(serialize = "callProblemDistortedVideo", deserialize = "callProblemDistortedVideo"))]
12377 DistortedVideo,
12378 #[serde(rename(serialize = "callProblemPixelatedVideo", deserialize = "callProblemPixelatedVideo"))]
12380 PixelatedVideo,
12381 }
12382 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12383 #[serde(tag = "@type")]
12384 pub enum Call {
12385 #[serde(rename(serialize = "call", deserialize = "call"))]
12387 Call(crate::types::Call),
12388 }
12389 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12390 #[serde(tag = "@type")]
12391 pub enum FirebaseAuthenticationSettings {
12392 #[serde(rename(serialize = "firebaseAuthenticationSettingsAndroid", deserialize = "firebaseAuthenticationSettingsAndroid"))]
12394 Android,
12395 #[serde(rename(serialize = "firebaseAuthenticationSettingsIos", deserialize = "firebaseAuthenticationSettingsIos"))]
12397 Ios(crate::types::FirebaseAuthenticationSettingsIos),
12398 }
12399 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12400 #[serde(tag = "@type")]
12401 pub enum PhoneNumberAuthenticationSettings {
12402 #[serde(rename(serialize = "phoneNumberAuthenticationSettings", deserialize = "phoneNumberAuthenticationSettings"))]
12404 PhoneNumberAuthenticationSettings(crate::types::PhoneNumberAuthenticationSettings),
12405 }
12406 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12407 #[serde(tag = "@type")]
12408 pub enum AddedReaction {
12409 #[serde(rename(serialize = "addedReaction", deserialize = "addedReaction"))]
12411 AddedReaction(crate::types::AddedReaction),
12412 }
12413 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12414 #[serde(tag = "@type")]
12415 pub enum AddedReactions {
12416 #[serde(rename(serialize = "addedReactions", deserialize = "addedReactions"))]
12418 AddedReactions(crate::types::AddedReactions),
12419 }
12420 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12421 #[serde(tag = "@type")]
12422 pub enum AvailableReaction {
12423 #[serde(rename(serialize = "availableReaction", deserialize = "availableReaction"))]
12425 AvailableReaction(crate::types::AvailableReaction),
12426 }
12427 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12428 #[serde(tag = "@type")]
12429 pub enum AvailableReactions {
12430 #[serde(rename(serialize = "availableReactions", deserialize = "availableReactions"))]
12432 AvailableReactions(crate::types::AvailableReactions),
12433 }
12434 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12435 #[serde(tag = "@type")]
12436 pub enum EmojiReaction {
12437 #[serde(rename(serialize = "emojiReaction", deserialize = "emojiReaction"))]
12439 EmojiReaction(crate::types::EmojiReaction),
12440 }
12441 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12442 #[serde(tag = "@type")]
12443 pub enum Animations {
12444 #[serde(rename(serialize = "animations", deserialize = "animations"))]
12446 Animations(crate::types::Animations),
12447 }
12448 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12449 #[serde(tag = "@type")]
12450 pub enum DiceStickers {
12451 #[serde(rename(serialize = "diceStickersRegular", deserialize = "diceStickersRegular"))]
12453 Regular(crate::types::DiceStickersRegular),
12454 #[serde(rename(serialize = "diceStickersSlotMachine", deserialize = "diceStickersSlotMachine"))]
12456 SlotMachine(crate::types::DiceStickersSlotMachine),
12457 }
12458 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12459 #[serde(tag = "@type")]
12460 pub enum ImportedContacts {
12461 #[serde(rename(serialize = "importedContacts", deserialize = "importedContacts"))]
12463 ImportedContacts(crate::types::ImportedContacts),
12464 }
12465 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12466 #[serde(tag = "@type")]
12467 pub enum SpeechRecognitionResult {
12468 #[serde(rename(serialize = "speechRecognitionResultPending", deserialize = "speechRecognitionResultPending"))]
12470 Pending(crate::types::SpeechRecognitionResultPending),
12471 #[serde(rename(serialize = "speechRecognitionResultText", deserialize = "speechRecognitionResultText"))]
12473 Text(crate::types::SpeechRecognitionResultText),
12474 #[serde(rename(serialize = "speechRecognitionResultError", deserialize = "speechRecognitionResultError"))]
12476 Error(crate::types::SpeechRecognitionResultError),
12477 }
12478 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12479 #[serde(tag = "@type")]
12480 pub enum AttachmentMenuBotColor {
12481 #[serde(rename(serialize = "attachmentMenuBotColor", deserialize = "attachmentMenuBotColor"))]
12483 AttachmentMenuBotColor(crate::types::AttachmentMenuBotColor),
12484 }
12485 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12486 #[serde(tag = "@type")]
12487 pub enum AttachmentMenuBot {
12488 #[serde(rename(serialize = "attachmentMenuBot", deserialize = "attachmentMenuBot"))]
12490 AttachmentMenuBot(crate::types::AttachmentMenuBot),
12491 }
12492 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12493 #[serde(tag = "@type")]
12494 pub enum SentWebAppMessage {
12495 #[serde(rename(serialize = "sentWebAppMessage", deserialize = "sentWebAppMessage"))]
12497 SentWebAppMessage(crate::types::SentWebAppMessage),
12498 }
12499 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12500 #[serde(tag = "@type")]
12501 pub enum HttpUrl {
12502 #[serde(rename(serialize = "httpUrl", deserialize = "httpUrl"))]
12504 HttpUrl(crate::types::HttpUrl),
12505 }
12506 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12507 #[serde(tag = "@type")]
12508 pub enum UserLink {
12509 #[serde(rename(serialize = "userLink", deserialize = "userLink"))]
12511 UserLink(crate::types::UserLink),
12512 }
12513 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12514 #[serde(tag = "@type")]
12515 pub enum InputInlineQueryResult {
12516 #[serde(rename(serialize = "inputInlineQueryResultAnimation", deserialize = "inputInlineQueryResultAnimation"))]
12518 Animation(crate::types::InputInlineQueryResultAnimation),
12519 #[serde(rename(serialize = "inputInlineQueryResultArticle", deserialize = "inputInlineQueryResultArticle"))]
12521 Article(crate::types::InputInlineQueryResultArticle),
12522 #[serde(rename(serialize = "inputInlineQueryResultAudio", deserialize = "inputInlineQueryResultAudio"))]
12524 Audio(crate::types::InputInlineQueryResultAudio),
12525 #[serde(rename(serialize = "inputInlineQueryResultContact", deserialize = "inputInlineQueryResultContact"))]
12527 Contact(crate::types::InputInlineQueryResultContact),
12528 #[serde(rename(serialize = "inputInlineQueryResultDocument", deserialize = "inputInlineQueryResultDocument"))]
12530 Document(crate::types::InputInlineQueryResultDocument),
12531 #[serde(rename(serialize = "inputInlineQueryResultGame", deserialize = "inputInlineQueryResultGame"))]
12533 Game(crate::types::InputInlineQueryResultGame),
12534 #[serde(rename(serialize = "inputInlineQueryResultLocation", deserialize = "inputInlineQueryResultLocation"))]
12536 Location(crate::types::InputInlineQueryResultLocation),
12537 #[serde(rename(serialize = "inputInlineQueryResultPhoto", deserialize = "inputInlineQueryResultPhoto"))]
12539 Photo(crate::types::InputInlineQueryResultPhoto),
12540 #[serde(rename(serialize = "inputInlineQueryResultSticker", deserialize = "inputInlineQueryResultSticker"))]
12542 Sticker(crate::types::InputInlineQueryResultSticker),
12543 #[serde(rename(serialize = "inputInlineQueryResultVenue", deserialize = "inputInlineQueryResultVenue"))]
12545 Venue(crate::types::InputInlineQueryResultVenue),
12546 #[serde(rename(serialize = "inputInlineQueryResultVideo", deserialize = "inputInlineQueryResultVideo"))]
12548 Video(crate::types::InputInlineQueryResultVideo),
12549 #[serde(rename(serialize = "inputInlineQueryResultVoiceNote", deserialize = "inputInlineQueryResultVoiceNote"))]
12551 VoiceNote(crate::types::InputInlineQueryResultVoiceNote),
12552 }
12553 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12554 #[serde(tag = "@type")]
12555 pub enum InlineQueryResult {
12556 #[serde(rename(serialize = "inlineQueryResultArticle", deserialize = "inlineQueryResultArticle"))]
12558 Article(crate::types::InlineQueryResultArticle),
12559 #[serde(rename(serialize = "inlineQueryResultContact", deserialize = "inlineQueryResultContact"))]
12561 Contact(crate::types::InlineQueryResultContact),
12562 #[serde(rename(serialize = "inlineQueryResultLocation", deserialize = "inlineQueryResultLocation"))]
12564 Location(crate::types::InlineQueryResultLocation),
12565 #[serde(rename(serialize = "inlineQueryResultVenue", deserialize = "inlineQueryResultVenue"))]
12567 Venue(crate::types::InlineQueryResultVenue),
12568 #[serde(rename(serialize = "inlineQueryResultGame", deserialize = "inlineQueryResultGame"))]
12570 Game(crate::types::InlineQueryResultGame),
12571 #[serde(rename(serialize = "inlineQueryResultAnimation", deserialize = "inlineQueryResultAnimation"))]
12573 Animation(crate::types::InlineQueryResultAnimation),
12574 #[serde(rename(serialize = "inlineQueryResultAudio", deserialize = "inlineQueryResultAudio"))]
12576 Audio(crate::types::InlineQueryResultAudio),
12577 #[serde(rename(serialize = "inlineQueryResultDocument", deserialize = "inlineQueryResultDocument"))]
12579 Document(crate::types::InlineQueryResultDocument),
12580 #[serde(rename(serialize = "inlineQueryResultPhoto", deserialize = "inlineQueryResultPhoto"))]
12582 Photo(crate::types::InlineQueryResultPhoto),
12583 #[serde(rename(serialize = "inlineQueryResultSticker", deserialize = "inlineQueryResultSticker"))]
12585 Sticker(crate::types::InlineQueryResultSticker),
12586 #[serde(rename(serialize = "inlineQueryResultVideo", deserialize = "inlineQueryResultVideo"))]
12588 Video(crate::types::InlineQueryResultVideo),
12589 #[serde(rename(serialize = "inlineQueryResultVoiceNote", deserialize = "inlineQueryResultVoiceNote"))]
12591 VoiceNote(crate::types::InlineQueryResultVoiceNote),
12592 }
12593 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12594 #[serde(tag = "@type")]
12595 pub enum InlineQueryResultsButtonType {
12596 #[serde(rename(serialize = "inlineQueryResultsButtonTypeStartBot", deserialize = "inlineQueryResultsButtonTypeStartBot"))]
12598 StartBot(crate::types::InlineQueryResultsButtonTypeStartBot),
12599 #[serde(rename(serialize = "inlineQueryResultsButtonTypeWebApp", deserialize = "inlineQueryResultsButtonTypeWebApp"))]
12601 WebApp(crate::types::InlineQueryResultsButtonTypeWebApp),
12602 }
12603 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12604 #[serde(tag = "@type")]
12605 pub enum InlineQueryResultsButton {
12606 #[serde(rename(serialize = "inlineQueryResultsButton", deserialize = "inlineQueryResultsButton"))]
12608 InlineQueryResultsButton(crate::types::InlineQueryResultsButton),
12609 }
12610 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12611 #[serde(tag = "@type")]
12612 pub enum InlineQueryResults {
12613 #[serde(rename(serialize = "inlineQueryResults", deserialize = "inlineQueryResults"))]
12615 InlineQueryResults(crate::types::InlineQueryResults),
12616 }
12617 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12618 #[serde(tag = "@type")]
12619 pub enum CallbackQueryPayload {
12620 #[serde(rename(serialize = "callbackQueryPayloadData", deserialize = "callbackQueryPayloadData"))]
12622 Data(crate::types::CallbackQueryPayloadData),
12623 #[serde(rename(serialize = "callbackQueryPayloadDataWithPassword", deserialize = "callbackQueryPayloadDataWithPassword"))]
12625 DataWithPassword(crate::types::CallbackQueryPayloadDataWithPassword),
12626 #[serde(rename(serialize = "callbackQueryPayloadGame", deserialize = "callbackQueryPayloadGame"))]
12628 Game(crate::types::CallbackQueryPayloadGame),
12629 }
12630 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12631 #[serde(tag = "@type")]
12632 pub enum CallbackQueryAnswer {
12633 #[serde(rename(serialize = "callbackQueryAnswer", deserialize = "callbackQueryAnswer"))]
12635 CallbackQueryAnswer(crate::types::CallbackQueryAnswer),
12636 }
12637 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12638 #[serde(tag = "@type")]
12639 pub enum CustomRequestResult {
12640 #[serde(rename(serialize = "customRequestResult", deserialize = "customRequestResult"))]
12642 CustomRequestResult(crate::types::CustomRequestResult),
12643 }
12644 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12645 #[serde(tag = "@type")]
12646 pub enum GameHighScore {
12647 #[serde(rename(serialize = "gameHighScore", deserialize = "gameHighScore"))]
12649 GameHighScore(crate::types::GameHighScore),
12650 }
12651 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12652 #[serde(tag = "@type")]
12653 pub enum GameHighScores {
12654 #[serde(rename(serialize = "gameHighScores", deserialize = "gameHighScores"))]
12656 GameHighScores(crate::types::GameHighScores),
12657 }
12658 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12659 #[serde(tag = "@type")]
12660 pub enum ChatEventAction {
12661 #[serde(rename(serialize = "chatEventMessageEdited", deserialize = "chatEventMessageEdited"))]
12663 ChatEventMessageEdited(crate::types::ChatEventMessageEdited),
12664 #[serde(rename(serialize = "chatEventMessageDeleted", deserialize = "chatEventMessageDeleted"))]
12666 ChatEventMessageDeleted(crate::types::ChatEventMessageDeleted),
12667 #[serde(rename(serialize = "chatEventMessagePinned", deserialize = "chatEventMessagePinned"))]
12669 ChatEventMessagePinned(crate::types::ChatEventMessagePinned),
12670 #[serde(rename(serialize = "chatEventMessageUnpinned", deserialize = "chatEventMessageUnpinned"))]
12672 ChatEventMessageUnpinned(crate::types::ChatEventMessageUnpinned),
12673 #[serde(rename(serialize = "chatEventPollStopped", deserialize = "chatEventPollStopped"))]
12675 ChatEventPollStopped(crate::types::ChatEventPollStopped),
12676 #[serde(rename(serialize = "chatEventMemberJoined", deserialize = "chatEventMemberJoined"))]
12678 ChatEventMemberJoined,
12679 #[serde(rename(serialize = "chatEventMemberJoinedByInviteLink", deserialize = "chatEventMemberJoinedByInviteLink"))]
12681 ChatEventMemberJoinedByInviteLink(crate::types::ChatEventMemberJoinedByInviteLink),
12682 #[serde(rename(serialize = "chatEventMemberJoinedByRequest", deserialize = "chatEventMemberJoinedByRequest"))]
12684 ChatEventMemberJoinedByRequest(crate::types::ChatEventMemberJoinedByRequest),
12685 #[serde(rename(serialize = "chatEventMemberInvited", deserialize = "chatEventMemberInvited"))]
12687 ChatEventMemberInvited(crate::types::ChatEventMemberInvited),
12688 #[serde(rename(serialize = "chatEventMemberLeft", deserialize = "chatEventMemberLeft"))]
12690 ChatEventMemberLeft,
12691 #[serde(rename(serialize = "chatEventMemberPromoted", deserialize = "chatEventMemberPromoted"))]
12693 ChatEventMemberPromoted(crate::types::ChatEventMemberPromoted),
12694 #[serde(rename(serialize = "chatEventMemberRestricted", deserialize = "chatEventMemberRestricted"))]
12696 ChatEventMemberRestricted(crate::types::ChatEventMemberRestricted),
12697 #[serde(rename(serialize = "chatEventAvailableReactionsChanged", deserialize = "chatEventAvailableReactionsChanged"))]
12699 ChatEventAvailableReactionsChanged(crate::types::ChatEventAvailableReactionsChanged),
12700 #[serde(rename(serialize = "chatEventDescriptionChanged", deserialize = "chatEventDescriptionChanged"))]
12702 ChatEventDescriptionChanged(crate::types::ChatEventDescriptionChanged),
12703 #[serde(rename(serialize = "chatEventLinkedChatChanged", deserialize = "chatEventLinkedChatChanged"))]
12705 ChatEventLinkedChatChanged(crate::types::ChatEventLinkedChatChanged),
12706 #[serde(rename(serialize = "chatEventLocationChanged", deserialize = "chatEventLocationChanged"))]
12708 ChatEventLocationChanged(crate::types::ChatEventLocationChanged),
12709 #[serde(rename(serialize = "chatEventMessageAutoDeleteTimeChanged", deserialize = "chatEventMessageAutoDeleteTimeChanged"))]
12711 ChatEventMessageAutoDeleteTimeChanged(crate::types::ChatEventMessageAutoDeleteTimeChanged),
12712 #[serde(rename(serialize = "chatEventPermissionsChanged", deserialize = "chatEventPermissionsChanged"))]
12714 ChatEventPermissionsChanged(crate::types::ChatEventPermissionsChanged),
12715 #[serde(rename(serialize = "chatEventPhotoChanged", deserialize = "chatEventPhotoChanged"))]
12717 ChatEventPhotoChanged(crate::types::ChatEventPhotoChanged),
12718 #[serde(rename(serialize = "chatEventSlowModeDelayChanged", deserialize = "chatEventSlowModeDelayChanged"))]
12720 ChatEventSlowModeDelayChanged(crate::types::ChatEventSlowModeDelayChanged),
12721 #[serde(rename(serialize = "chatEventStickerSetChanged", deserialize = "chatEventStickerSetChanged"))]
12723 ChatEventStickerSetChanged(crate::types::ChatEventStickerSetChanged),
12724 #[serde(rename(serialize = "chatEventTitleChanged", deserialize = "chatEventTitleChanged"))]
12726 ChatEventTitleChanged(crate::types::ChatEventTitleChanged),
12727 #[serde(rename(serialize = "chatEventUsernameChanged", deserialize = "chatEventUsernameChanged"))]
12729 ChatEventUsernameChanged(crate::types::ChatEventUsernameChanged),
12730 #[serde(rename(serialize = "chatEventActiveUsernamesChanged", deserialize = "chatEventActiveUsernamesChanged"))]
12732 ChatEventActiveUsernamesChanged(crate::types::ChatEventActiveUsernamesChanged),
12733 #[serde(rename(serialize = "chatEventHasProtectedContentToggled", deserialize = "chatEventHasProtectedContentToggled"))]
12735 ChatEventHasProtectedContentToggled(crate::types::ChatEventHasProtectedContentToggled),
12736 #[serde(rename(serialize = "chatEventInvitesToggled", deserialize = "chatEventInvitesToggled"))]
12738 ChatEventInvitesToggled(crate::types::ChatEventInvitesToggled),
12739 #[serde(rename(serialize = "chatEventIsAllHistoryAvailableToggled", deserialize = "chatEventIsAllHistoryAvailableToggled"))]
12741 ChatEventIsAllHistoryAvailableToggled(crate::types::ChatEventIsAllHistoryAvailableToggled),
12742 #[serde(rename(serialize = "chatEventHasAggressiveAntiSpamEnabledToggled", deserialize = "chatEventHasAggressiveAntiSpamEnabledToggled"))]
12744 ChatEventHasAggressiveAntiSpamEnabledToggled(crate::types::ChatEventHasAggressiveAntiSpamEnabledToggled),
12745 #[serde(rename(serialize = "chatEventSignMessagesToggled", deserialize = "chatEventSignMessagesToggled"))]
12747 ChatEventSignMessagesToggled(crate::types::ChatEventSignMessagesToggled),
12748 #[serde(rename(serialize = "chatEventInviteLinkEdited", deserialize = "chatEventInviteLinkEdited"))]
12750 ChatEventInviteLinkEdited(crate::types::ChatEventInviteLinkEdited),
12751 #[serde(rename(serialize = "chatEventInviteLinkRevoked", deserialize = "chatEventInviteLinkRevoked"))]
12753 ChatEventInviteLinkRevoked(crate::types::ChatEventInviteLinkRevoked),
12754 #[serde(rename(serialize = "chatEventInviteLinkDeleted", deserialize = "chatEventInviteLinkDeleted"))]
12756 ChatEventInviteLinkDeleted(crate::types::ChatEventInviteLinkDeleted),
12757 #[serde(rename(serialize = "chatEventVideoChatCreated", deserialize = "chatEventVideoChatCreated"))]
12759 ChatEventVideoChatCreated(crate::types::ChatEventVideoChatCreated),
12760 #[serde(rename(serialize = "chatEventVideoChatEnded", deserialize = "chatEventVideoChatEnded"))]
12762 ChatEventVideoChatEnded(crate::types::ChatEventVideoChatEnded),
12763 #[serde(rename(serialize = "chatEventVideoChatMuteNewParticipantsToggled", deserialize = "chatEventVideoChatMuteNewParticipantsToggled"))]
12765 ChatEventVideoChatMuteNewParticipantsToggled(crate::types::ChatEventVideoChatMuteNewParticipantsToggled),
12766 #[serde(rename(serialize = "chatEventVideoChatParticipantIsMutedToggled", deserialize = "chatEventVideoChatParticipantIsMutedToggled"))]
12768 ChatEventVideoChatParticipantIsMutedToggled(crate::types::ChatEventVideoChatParticipantIsMutedToggled),
12769 #[serde(rename(serialize = "chatEventVideoChatParticipantVolumeLevelChanged", deserialize = "chatEventVideoChatParticipantVolumeLevelChanged"))]
12771 ChatEventVideoChatParticipantVolumeLevelChanged(crate::types::ChatEventVideoChatParticipantVolumeLevelChanged),
12772 #[serde(rename(serialize = "chatEventIsForumToggled", deserialize = "chatEventIsForumToggled"))]
12774 ChatEventIsForumToggled(crate::types::ChatEventIsForumToggled),
12775 #[serde(rename(serialize = "chatEventForumTopicCreated", deserialize = "chatEventForumTopicCreated"))]
12777 ChatEventForumTopicCreated(crate::types::ChatEventForumTopicCreated),
12778 #[serde(rename(serialize = "chatEventForumTopicEdited", deserialize = "chatEventForumTopicEdited"))]
12780 ChatEventForumTopicEdited(crate::types::ChatEventForumTopicEdited),
12781 #[serde(rename(serialize = "chatEventForumTopicToggleIsClosed", deserialize = "chatEventForumTopicToggleIsClosed"))]
12783 ChatEventForumTopicToggleIsClosed(crate::types::ChatEventForumTopicToggleIsClosed),
12784 #[serde(rename(serialize = "chatEventForumTopicToggleIsHidden", deserialize = "chatEventForumTopicToggleIsHidden"))]
12786 ChatEventForumTopicToggleIsHidden(crate::types::ChatEventForumTopicToggleIsHidden),
12787 #[serde(rename(serialize = "chatEventForumTopicDeleted", deserialize = "chatEventForumTopicDeleted"))]
12789 ChatEventForumTopicDeleted(crate::types::ChatEventForumTopicDeleted),
12790 #[serde(rename(serialize = "chatEventForumTopicPinned", deserialize = "chatEventForumTopicPinned"))]
12792 ChatEventForumTopicPinned(crate::types::ChatEventForumTopicPinned),
12793 }
12794 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12795 #[serde(tag = "@type")]
12796 pub enum ChatEvent {
12797 #[serde(rename(serialize = "chatEvent", deserialize = "chatEvent"))]
12799 ChatEvent(crate::types::ChatEvent),
12800 }
12801 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12802 #[serde(tag = "@type")]
12803 pub enum ChatEvents {
12804 #[serde(rename(serialize = "chatEvents", deserialize = "chatEvents"))]
12806 ChatEvents(crate::types::ChatEvents),
12807 }
12808 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12809 #[serde(tag = "@type")]
12810 pub enum ChatEventLogFilters {
12811 #[serde(rename(serialize = "chatEventLogFilters", deserialize = "chatEventLogFilters"))]
12813 ChatEventLogFilters(crate::types::ChatEventLogFilters),
12814 }
12815 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12816 #[serde(tag = "@type")]
12817 pub enum LanguagePackStringValue {
12818 #[serde(rename(serialize = "languagePackStringValueOrdinary", deserialize = "languagePackStringValueOrdinary"))]
12820 Ordinary(crate::types::LanguagePackStringValueOrdinary),
12821 #[serde(rename(serialize = "languagePackStringValuePluralized", deserialize = "languagePackStringValuePluralized"))]
12823 Pluralized(crate::types::LanguagePackStringValuePluralized),
12824 #[serde(rename(serialize = "languagePackStringValueDeleted", deserialize = "languagePackStringValueDeleted"))]
12826 Deleted,
12827 }
12828 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12829 #[serde(tag = "@type")]
12830 pub enum LanguagePackString {
12831 #[serde(rename(serialize = "languagePackString", deserialize = "languagePackString"))]
12833 LanguagePackString(crate::types::LanguagePackString),
12834 }
12835 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12836 #[serde(tag = "@type")]
12837 pub enum LanguagePackStrings {
12838 #[serde(rename(serialize = "languagePackStrings", deserialize = "languagePackStrings"))]
12840 LanguagePackStrings(crate::types::LanguagePackStrings),
12841 }
12842 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12843 #[serde(tag = "@type")]
12844 pub enum LanguagePackInfo {
12845 #[serde(rename(serialize = "languagePackInfo", deserialize = "languagePackInfo"))]
12847 LanguagePackInfo(crate::types::LanguagePackInfo),
12848 }
12849 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12850 #[serde(tag = "@type")]
12851 pub enum LocalizationTargetInfo {
12852 #[serde(rename(serialize = "localizationTargetInfo", deserialize = "localizationTargetInfo"))]
12854 LocalizationTargetInfo(crate::types::LocalizationTargetInfo),
12855 }
12856 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12857 #[serde(tag = "@type")]
12858 pub enum PremiumLimitType {
12859 #[serde(rename(serialize = "premiumLimitTypeSupergroupCount", deserialize = "premiumLimitTypeSupergroupCount"))]
12861 SupergroupCount,
12862 #[serde(rename(serialize = "premiumLimitTypePinnedChatCount", deserialize = "premiumLimitTypePinnedChatCount"))]
12864 PinnedChatCount,
12865 #[serde(rename(serialize = "premiumLimitTypeCreatedPublicChatCount", deserialize = "premiumLimitTypeCreatedPublicChatCount"))]
12867 CreatedPublicChatCount,
12868 #[serde(rename(serialize = "premiumLimitTypeSavedAnimationCount", deserialize = "premiumLimitTypeSavedAnimationCount"))]
12870 SavedAnimationCount,
12871 #[serde(rename(serialize = "premiumLimitTypeFavoriteStickerCount", deserialize = "premiumLimitTypeFavoriteStickerCount"))]
12873 FavoriteStickerCount,
12874 #[serde(rename(serialize = "premiumLimitTypeChatFolderCount", deserialize = "premiumLimitTypeChatFolderCount"))]
12876 ChatFolderCount,
12877 #[serde(rename(serialize = "premiumLimitTypeChatFolderChosenChatCount", deserialize = "premiumLimitTypeChatFolderChosenChatCount"))]
12879 ChatFolderChosenChatCount,
12880 #[serde(rename(serialize = "premiumLimitTypePinnedArchivedChatCount", deserialize = "premiumLimitTypePinnedArchivedChatCount"))]
12882 PinnedArchivedChatCount,
12883 #[serde(rename(serialize = "premiumLimitTypeCaptionLength", deserialize = "premiumLimitTypeCaptionLength"))]
12885 CaptionLength,
12886 #[serde(rename(serialize = "premiumLimitTypeBioLength", deserialize = "premiumLimitTypeBioLength"))]
12888 BioLength,
12889 #[serde(rename(serialize = "premiumLimitTypeChatFolderInviteLinkCount", deserialize = "premiumLimitTypeChatFolderInviteLinkCount"))]
12891 ChatFolderInviteLinkCount,
12892 #[serde(rename(serialize = "premiumLimitTypeShareableChatFolderCount", deserialize = "premiumLimitTypeShareableChatFolderCount"))]
12894 ShareableChatFolderCount,
12895 #[serde(rename(serialize = "premiumLimitTypeActiveStoryCount", deserialize = "premiumLimitTypeActiveStoryCount"))]
12897 ActiveStoryCount,
12898 #[serde(rename(serialize = "premiumLimitTypeWeeklySentStoryCount", deserialize = "premiumLimitTypeWeeklySentStoryCount"))]
12900 WeeklySentStoryCount,
12901 #[serde(rename(serialize = "premiumLimitTypeMonthlySentStoryCount", deserialize = "premiumLimitTypeMonthlySentStoryCount"))]
12903 MonthlySentStoryCount,
12904 #[serde(rename(serialize = "premiumLimitTypeStoryCaptionLength", deserialize = "premiumLimitTypeStoryCaptionLength"))]
12906 StoryCaptionLength,
12907 #[serde(rename(serialize = "premiumLimitTypeStorySuggestedReactionAreaCount", deserialize = "premiumLimitTypeStorySuggestedReactionAreaCount"))]
12909 StorySuggestedReactionAreaCount,
12910 }
12911 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12912 #[serde(tag = "@type")]
12913 pub enum PremiumFeature {
12914 #[serde(rename(serialize = "premiumFeatureIncreasedLimits", deserialize = "premiumFeatureIncreasedLimits"))]
12916 IncreasedLimits,
12917 #[serde(rename(serialize = "premiumFeatureIncreasedUploadFileSize", deserialize = "premiumFeatureIncreasedUploadFileSize"))]
12919 IncreasedUploadFileSize,
12920 #[serde(rename(serialize = "premiumFeatureImprovedDownloadSpeed", deserialize = "premiumFeatureImprovedDownloadSpeed"))]
12922 ImprovedDownloadSpeed,
12923 #[serde(rename(serialize = "premiumFeatureVoiceRecognition", deserialize = "premiumFeatureVoiceRecognition"))]
12925 VoiceRecognition,
12926 #[serde(rename(serialize = "premiumFeatureDisabledAds", deserialize = "premiumFeatureDisabledAds"))]
12928 DisabledAds,
12929 #[serde(rename(serialize = "premiumFeatureUniqueReactions", deserialize = "premiumFeatureUniqueReactions"))]
12931 UniqueReactions,
12932 #[serde(rename(serialize = "premiumFeatureUniqueStickers", deserialize = "premiumFeatureUniqueStickers"))]
12934 UniqueStickers,
12935 #[serde(rename(serialize = "premiumFeatureCustomEmoji", deserialize = "premiumFeatureCustomEmoji"))]
12937 CustomEmoji,
12938 #[serde(rename(serialize = "premiumFeatureAdvancedChatManagement", deserialize = "premiumFeatureAdvancedChatManagement"))]
12940 AdvancedChatManagement,
12941 #[serde(rename(serialize = "premiumFeatureProfileBadge", deserialize = "premiumFeatureProfileBadge"))]
12943 ProfileBadge,
12944 #[serde(rename(serialize = "premiumFeatureEmojiStatus", deserialize = "premiumFeatureEmojiStatus"))]
12946 EmojiStatus,
12947 #[serde(rename(serialize = "premiumFeatureAnimatedProfilePhoto", deserialize = "premiumFeatureAnimatedProfilePhoto"))]
12949 AnimatedProfilePhoto,
12950 #[serde(rename(serialize = "premiumFeatureForumTopicIcon", deserialize = "premiumFeatureForumTopicIcon"))]
12952 ForumTopicIcon,
12953 #[serde(rename(serialize = "premiumFeatureAppIcons", deserialize = "premiumFeatureAppIcons"))]
12955 AppIcons,
12956 #[serde(rename(serialize = "premiumFeatureRealTimeChatTranslation", deserialize = "premiumFeatureRealTimeChatTranslation"))]
12958 RealTimeChatTranslation,
12959 #[serde(rename(serialize = "premiumFeatureUpgradedStories", deserialize = "premiumFeatureUpgradedStories"))]
12961 UpgradedStories,
12962 #[serde(rename(serialize = "premiumFeatureChatBoost", deserialize = "premiumFeatureChatBoost"))]
12964 ChatBoost,
12965 }
12966 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12967 #[serde(tag = "@type")]
12968 pub enum PremiumStoryFeature {
12969 #[serde(rename(serialize = "premiumStoryFeaturePriorityOrder", deserialize = "premiumStoryFeaturePriorityOrder"))]
12971 PriorityOrder,
12972 #[serde(rename(serialize = "premiumStoryFeatureStealthMode", deserialize = "premiumStoryFeatureStealthMode"))]
12974 StealthMode,
12975 #[serde(rename(serialize = "premiumStoryFeaturePermanentViewsHistory", deserialize = "premiumStoryFeaturePermanentViewsHistory"))]
12977 PermanentViewsHistory,
12978 #[serde(rename(serialize = "premiumStoryFeatureCustomExpirationDuration", deserialize = "premiumStoryFeatureCustomExpirationDuration"))]
12980 CustomExpirationDuration,
12981 #[serde(rename(serialize = "premiumStoryFeatureSaveStories", deserialize = "premiumStoryFeatureSaveStories"))]
12983 SaveStories,
12984 #[serde(rename(serialize = "premiumStoryFeatureLinksAndFormatting", deserialize = "premiumStoryFeatureLinksAndFormatting"))]
12986 LinksAndFormatting,
12987 }
12988 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12989 #[serde(tag = "@type")]
12990 pub enum PremiumLimit {
12991 #[serde(rename(serialize = "premiumLimit", deserialize = "premiumLimit"))]
12993 PremiumLimit(crate::types::PremiumLimit),
12994 }
12995 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
12996 #[serde(tag = "@type")]
12997 pub enum PremiumFeatures {
12998 #[serde(rename(serialize = "premiumFeatures", deserialize = "premiumFeatures"))]
13000 PremiumFeatures(crate::types::PremiumFeatures),
13001 }
13002 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13003 #[serde(tag = "@type")]
13004 pub enum PremiumSource {
13005 #[serde(rename(serialize = "premiumSourceLimitExceeded", deserialize = "premiumSourceLimitExceeded"))]
13007 LimitExceeded(crate::types::PremiumSourceLimitExceeded),
13008 #[serde(rename(serialize = "premiumSourceFeature", deserialize = "premiumSourceFeature"))]
13010 Feature(crate::types::PremiumSourceFeature),
13011 #[serde(rename(serialize = "premiumSourceStoryFeature", deserialize = "premiumSourceStoryFeature"))]
13013 StoryFeature(crate::types::PremiumSourceStoryFeature),
13014 #[serde(rename(serialize = "premiumSourceLink", deserialize = "premiumSourceLink"))]
13016 Link(crate::types::PremiumSourceLink),
13017 #[serde(rename(serialize = "premiumSourceSettings", deserialize = "premiumSourceSettings"))]
13019 Settings,
13020 }
13021 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13022 #[serde(tag = "@type")]
13023 pub enum PremiumFeaturePromotionAnimation {
13024 #[serde(rename(serialize = "premiumFeaturePromotionAnimation", deserialize = "premiumFeaturePromotionAnimation"))]
13026 PremiumFeaturePromotionAnimation(crate::types::PremiumFeaturePromotionAnimation),
13027 }
13028 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13029 #[serde(tag = "@type")]
13030 pub enum PremiumState {
13031 #[serde(rename(serialize = "premiumState", deserialize = "premiumState"))]
13033 PremiumState(crate::types::PremiumState),
13034 }
13035 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13036 #[serde(tag = "@type")]
13037 pub enum StorePaymentPurpose {
13038 #[serde(rename(serialize = "storePaymentPurposePremiumSubscription", deserialize = "storePaymentPurposePremiumSubscription"))]
13040 PremiumSubscription(crate::types::StorePaymentPurposePremiumSubscription),
13041 #[serde(rename(serialize = "storePaymentPurposeGiftedPremium", deserialize = "storePaymentPurposeGiftedPremium"))]
13043 GiftedPremium(crate::types::StorePaymentPurposeGiftedPremium),
13044 }
13045 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13046 #[serde(tag = "@type")]
13047 pub enum DeviceToken {
13048 #[serde(rename(serialize = "deviceTokenFirebaseCloudMessaging", deserialize = "deviceTokenFirebaseCloudMessaging"))]
13050 FirebaseCloudMessaging(crate::types::DeviceTokenFirebaseCloudMessaging),
13051 #[serde(rename(serialize = "deviceTokenApplePush", deserialize = "deviceTokenApplePush"))]
13053 ApplePush(crate::types::DeviceTokenApplePush),
13054 #[serde(rename(serialize = "deviceTokenApplePushVoIP", deserialize = "deviceTokenApplePushVoIP"))]
13056 ApplePushVoIp(crate::types::DeviceTokenApplePushVoIp),
13057 #[serde(rename(serialize = "deviceTokenWindowsPush", deserialize = "deviceTokenWindowsPush"))]
13059 WindowsPush(crate::types::DeviceTokenWindowsPush),
13060 #[serde(rename(serialize = "deviceTokenMicrosoftPush", deserialize = "deviceTokenMicrosoftPush"))]
13062 MicrosoftPush(crate::types::DeviceTokenMicrosoftPush),
13063 #[serde(rename(serialize = "deviceTokenMicrosoftPushVoIP", deserialize = "deviceTokenMicrosoftPushVoIP"))]
13065 MicrosoftPushVoIp(crate::types::DeviceTokenMicrosoftPushVoIp),
13066 #[serde(rename(serialize = "deviceTokenWebPush", deserialize = "deviceTokenWebPush"))]
13068 WebPush(crate::types::DeviceTokenWebPush),
13069 #[serde(rename(serialize = "deviceTokenSimplePush", deserialize = "deviceTokenSimplePush"))]
13071 SimplePush(crate::types::DeviceTokenSimplePush),
13072 #[serde(rename(serialize = "deviceTokenUbuntuPush", deserialize = "deviceTokenUbuntuPush"))]
13074 UbuntuPush(crate::types::DeviceTokenUbuntuPush),
13075 #[serde(rename(serialize = "deviceTokenBlackBerryPush", deserialize = "deviceTokenBlackBerryPush"))]
13077 BlackBerryPush(crate::types::DeviceTokenBlackBerryPush),
13078 #[serde(rename(serialize = "deviceTokenTizenPush", deserialize = "deviceTokenTizenPush"))]
13080 TizenPush(crate::types::DeviceTokenTizenPush),
13081 #[serde(rename(serialize = "deviceTokenHuaweiPush", deserialize = "deviceTokenHuaweiPush"))]
13083 HuaweiPush(crate::types::DeviceTokenHuaweiPush),
13084 }
13085 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13086 #[serde(tag = "@type")]
13087 pub enum PushReceiverId {
13088 #[serde(rename(serialize = "pushReceiverId", deserialize = "pushReceiverId"))]
13090 PushReceiverId(crate::types::PushReceiverId),
13091 }
13092 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13093 #[serde(tag = "@type")]
13094 pub enum BackgroundFill {
13095 #[serde(rename(serialize = "backgroundFillSolid", deserialize = "backgroundFillSolid"))]
13097 Solid(crate::types::BackgroundFillSolid),
13098 #[serde(rename(serialize = "backgroundFillGradient", deserialize = "backgroundFillGradient"))]
13100 Gradient(crate::types::BackgroundFillGradient),
13101 #[serde(rename(serialize = "backgroundFillFreeformGradient", deserialize = "backgroundFillFreeformGradient"))]
13103 FreeformGradient(crate::types::BackgroundFillFreeformGradient),
13104 }
13105 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13106 #[serde(tag = "@type")]
13107 pub enum BackgroundType {
13108 #[serde(rename(serialize = "backgroundTypeWallpaper", deserialize = "backgroundTypeWallpaper"))]
13110 Wallpaper(crate::types::BackgroundTypeWallpaper),
13111 #[serde(rename(serialize = "backgroundTypePattern", deserialize = "backgroundTypePattern"))]
13113 Pattern(crate::types::BackgroundTypePattern),
13114 #[serde(rename(serialize = "backgroundTypeFill", deserialize = "backgroundTypeFill"))]
13116 Fill(crate::types::BackgroundTypeFill),
13117 }
13118 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13119 #[serde(tag = "@type")]
13120 pub enum InputBackground {
13121 #[serde(rename(serialize = "inputBackgroundLocal", deserialize = "inputBackgroundLocal"))]
13123 Local(crate::types::InputBackgroundLocal),
13124 #[serde(rename(serialize = "inputBackgroundRemote", deserialize = "inputBackgroundRemote"))]
13126 Remote(crate::types::InputBackgroundRemote),
13127 #[serde(rename(serialize = "inputBackgroundPrevious", deserialize = "inputBackgroundPrevious"))]
13129 Previous(crate::types::InputBackgroundPrevious),
13130 }
13131 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13132 #[serde(tag = "@type")]
13133 pub enum ThemeSettings {
13134 #[serde(rename(serialize = "themeSettings", deserialize = "themeSettings"))]
13136 ThemeSettings(crate::types::ThemeSettings),
13137 }
13138 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13139 #[serde(tag = "@type")]
13140 pub enum ChatTheme {
13141 #[serde(rename(serialize = "chatTheme", deserialize = "chatTheme"))]
13143 ChatTheme(crate::types::ChatTheme),
13144 }
13145 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13146 #[serde(tag = "@type")]
13147 pub enum Hashtags {
13148 #[serde(rename(serialize = "hashtags", deserialize = "hashtags"))]
13150 Hashtags(crate::types::Hashtags),
13151 }
13152 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13153 #[serde(tag = "@type")]
13154 pub enum CanSendStoryResult {
13155 #[serde(rename(serialize = "canSendStoryResultOk", deserialize = "canSendStoryResultOk"))]
13157 Ok,
13158 #[serde(rename(serialize = "canSendStoryResultPremiumNeeded", deserialize = "canSendStoryResultPremiumNeeded"))]
13160 PremiumNeeded,
13161 #[serde(rename(serialize = "canSendStoryResultBoostNeeded", deserialize = "canSendStoryResultBoostNeeded"))]
13163 BoostNeeded,
13164 #[serde(rename(serialize = "canSendStoryResultActiveStoryLimitExceeded", deserialize = "canSendStoryResultActiveStoryLimitExceeded"))]
13166 ActiveStoryLimitExceeded,
13167 #[serde(rename(serialize = "canSendStoryResultWeeklyLimitExceeded", deserialize = "canSendStoryResultWeeklyLimitExceeded"))]
13169 WeeklyLimitExceeded(crate::types::CanSendStoryResultWeeklyLimitExceeded),
13170 #[serde(rename(serialize = "canSendStoryResultMonthlyLimitExceeded", deserialize = "canSendStoryResultMonthlyLimitExceeded"))]
13172 MonthlyLimitExceeded(crate::types::CanSendStoryResultMonthlyLimitExceeded),
13173 }
13174 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13175 #[serde(tag = "@type")]
13176 pub enum CanBoostChatResult {
13177 #[serde(rename(serialize = "canBoostChatResultOk", deserialize = "canBoostChatResultOk"))]
13179 Ok(crate::types::CanBoostChatResultOk),
13180 #[serde(rename(serialize = "canBoostChatResultInvalidChat", deserialize = "canBoostChatResultInvalidChat"))]
13182 InvalidChat,
13183 #[serde(rename(serialize = "canBoostChatResultAlreadyBoosted", deserialize = "canBoostChatResultAlreadyBoosted"))]
13185 AlreadyBoosted,
13186 #[serde(rename(serialize = "canBoostChatResultPremiumNeeded", deserialize = "canBoostChatResultPremiumNeeded"))]
13188 PremiumNeeded,
13189 #[serde(rename(serialize = "canBoostChatResultPremiumSubscriptionNeeded", deserialize = "canBoostChatResultPremiumSubscriptionNeeded"))]
13191 PremiumSubscriptionNeeded,
13192 #[serde(rename(serialize = "canBoostChatResultWaitNeeded", deserialize = "canBoostChatResultWaitNeeded"))]
13194 WaitNeeded(crate::types::CanBoostChatResultWaitNeeded),
13195 }
13196 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13197 #[serde(tag = "@type")]
13198 pub enum CanTransferOwnershipResult {
13199 #[serde(rename(serialize = "canTransferOwnershipResultOk", deserialize = "canTransferOwnershipResultOk"))]
13201 Ok,
13202 #[serde(rename(serialize = "canTransferOwnershipResultPasswordNeeded", deserialize = "canTransferOwnershipResultPasswordNeeded"))]
13204 PasswordNeeded,
13205 #[serde(rename(serialize = "canTransferOwnershipResultPasswordTooFresh", deserialize = "canTransferOwnershipResultPasswordTooFresh"))]
13207 PasswordTooFresh(crate::types::CanTransferOwnershipResultPasswordTooFresh),
13208 #[serde(rename(serialize = "canTransferOwnershipResultSessionTooFresh", deserialize = "canTransferOwnershipResultSessionTooFresh"))]
13210 SessionTooFresh(crate::types::CanTransferOwnershipResultSessionTooFresh),
13211 }
13212 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13213 #[serde(tag = "@type")]
13214 pub enum CheckChatUsernameResult {
13215 #[serde(rename(serialize = "checkChatUsernameResultOk", deserialize = "checkChatUsernameResultOk"))]
13217 Ok,
13218 #[serde(rename(serialize = "checkChatUsernameResultUsernameInvalid", deserialize = "checkChatUsernameResultUsernameInvalid"))]
13220 UsernameInvalid,
13221 #[serde(rename(serialize = "checkChatUsernameResultUsernameOccupied", deserialize = "checkChatUsernameResultUsernameOccupied"))]
13223 UsernameOccupied,
13224 #[serde(rename(serialize = "checkChatUsernameResultUsernamePurchasable", deserialize = "checkChatUsernameResultUsernamePurchasable"))]
13226 UsernamePurchasable,
13227 #[serde(rename(serialize = "checkChatUsernameResultPublicChatsTooMany", deserialize = "checkChatUsernameResultPublicChatsTooMany"))]
13229 PublicChatsTooMany,
13230 #[serde(rename(serialize = "checkChatUsernameResultPublicGroupsUnavailable", deserialize = "checkChatUsernameResultPublicGroupsUnavailable"))]
13232 PublicGroupsUnavailable,
13233 }
13234 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13235 #[serde(tag = "@type")]
13236 pub enum CheckStickerSetNameResult {
13237 #[serde(rename(serialize = "checkStickerSetNameResultOk", deserialize = "checkStickerSetNameResultOk"))]
13239 Ok,
13240 #[serde(rename(serialize = "checkStickerSetNameResultNameInvalid", deserialize = "checkStickerSetNameResultNameInvalid"))]
13242 NameInvalid,
13243 #[serde(rename(serialize = "checkStickerSetNameResultNameOccupied", deserialize = "checkStickerSetNameResultNameOccupied"))]
13245 NameOccupied,
13246 }
13247 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13248 #[serde(tag = "@type")]
13249 pub enum ResetPasswordResult {
13250 #[serde(rename(serialize = "resetPasswordResultOk", deserialize = "resetPasswordResultOk"))]
13252 Ok,
13253 #[serde(rename(serialize = "resetPasswordResultPending", deserialize = "resetPasswordResultPending"))]
13255 Pending(crate::types::ResetPasswordResultPending),
13256 #[serde(rename(serialize = "resetPasswordResultDeclined", deserialize = "resetPasswordResultDeclined"))]
13258 Declined(crate::types::ResetPasswordResultDeclined),
13259 }
13260 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13261 #[serde(tag = "@type")]
13262 pub enum MessageFileType {
13263 #[serde(rename(serialize = "messageFileTypePrivate", deserialize = "messageFileTypePrivate"))]
13265 Private(crate::types::MessageFileTypePrivate),
13266 #[serde(rename(serialize = "messageFileTypeGroup", deserialize = "messageFileTypeGroup"))]
13268 Group(crate::types::MessageFileTypeGroup),
13269 #[serde(rename(serialize = "messageFileTypeUnknown", deserialize = "messageFileTypeUnknown"))]
13271 Unknown,
13272 }
13273 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13274 #[serde(tag = "@type")]
13275 pub enum PushMessageContent {
13276 #[serde(rename(serialize = "pushMessageContentHidden", deserialize = "pushMessageContentHidden"))]
13278 Hidden(crate::types::PushMessageContentHidden),
13279 #[serde(rename(serialize = "pushMessageContentAnimation", deserialize = "pushMessageContentAnimation"))]
13281 Animation(crate::types::PushMessageContentAnimation),
13282 #[serde(rename(serialize = "pushMessageContentAudio", deserialize = "pushMessageContentAudio"))]
13284 Audio(crate::types::PushMessageContentAudio),
13285 #[serde(rename(serialize = "pushMessageContentContact", deserialize = "pushMessageContentContact"))]
13287 Contact(crate::types::PushMessageContentContact),
13288 #[serde(rename(serialize = "pushMessageContentContactRegistered", deserialize = "pushMessageContentContactRegistered"))]
13290 ContactRegistered,
13291 #[serde(rename(serialize = "pushMessageContentDocument", deserialize = "pushMessageContentDocument"))]
13293 Document(crate::types::PushMessageContentDocument),
13294 #[serde(rename(serialize = "pushMessageContentGame", deserialize = "pushMessageContentGame"))]
13296 Game(crate::types::PushMessageContentGame),
13297 #[serde(rename(serialize = "pushMessageContentGameScore", deserialize = "pushMessageContentGameScore"))]
13299 GameScore(crate::types::PushMessageContentGameScore),
13300 #[serde(rename(serialize = "pushMessageContentInvoice", deserialize = "pushMessageContentInvoice"))]
13302 Invoice(crate::types::PushMessageContentInvoice),
13303 #[serde(rename(serialize = "pushMessageContentLocation", deserialize = "pushMessageContentLocation"))]
13305 Location(crate::types::PushMessageContentLocation),
13306 #[serde(rename(serialize = "pushMessageContentPhoto", deserialize = "pushMessageContentPhoto"))]
13308 Photo(crate::types::PushMessageContentPhoto),
13309 #[serde(rename(serialize = "pushMessageContentPoll", deserialize = "pushMessageContentPoll"))]
13311 Poll(crate::types::PushMessageContentPoll),
13312 #[serde(rename(serialize = "pushMessageContentScreenshotTaken", deserialize = "pushMessageContentScreenshotTaken"))]
13314 ScreenshotTaken,
13315 #[serde(rename(serialize = "pushMessageContentSticker", deserialize = "pushMessageContentSticker"))]
13317 Sticker(crate::types::PushMessageContentSticker),
13318 #[serde(rename(serialize = "pushMessageContentStory", deserialize = "pushMessageContentStory"))]
13320 Story(crate::types::PushMessageContentStory),
13321 #[serde(rename(serialize = "pushMessageContentText", deserialize = "pushMessageContentText"))]
13323 Text(crate::types::PushMessageContentText),
13324 #[serde(rename(serialize = "pushMessageContentVideo", deserialize = "pushMessageContentVideo"))]
13326 Video(crate::types::PushMessageContentVideo),
13327 #[serde(rename(serialize = "pushMessageContentVideoNote", deserialize = "pushMessageContentVideoNote"))]
13329 VideoNote(crate::types::PushMessageContentVideoNote),
13330 #[serde(rename(serialize = "pushMessageContentVoiceNote", deserialize = "pushMessageContentVoiceNote"))]
13332 VoiceNote(crate::types::PushMessageContentVoiceNote),
13333 #[serde(rename(serialize = "pushMessageContentBasicGroupChatCreate", deserialize = "pushMessageContentBasicGroupChatCreate"))]
13335 BasicGroupChatCreate,
13336 #[serde(rename(serialize = "pushMessageContentChatAddMembers", deserialize = "pushMessageContentChatAddMembers"))]
13338 ChatAddMembers(crate::types::PushMessageContentChatAddMembers),
13339 #[serde(rename(serialize = "pushMessageContentChatChangePhoto", deserialize = "pushMessageContentChatChangePhoto"))]
13341 ChatChangePhoto,
13342 #[serde(rename(serialize = "pushMessageContentChatChangeTitle", deserialize = "pushMessageContentChatChangeTitle"))]
13344 ChatChangeTitle(crate::types::PushMessageContentChatChangeTitle),
13345 #[serde(rename(serialize = "pushMessageContentChatSetBackground", deserialize = "pushMessageContentChatSetBackground"))]
13347 ChatSetBackground(crate::types::PushMessageContentChatSetBackground),
13348 #[serde(rename(serialize = "pushMessageContentChatSetTheme", deserialize = "pushMessageContentChatSetTheme"))]
13350 ChatSetTheme(crate::types::PushMessageContentChatSetTheme),
13351 #[serde(rename(serialize = "pushMessageContentChatDeleteMember", deserialize = "pushMessageContentChatDeleteMember"))]
13353 ChatDeleteMember(crate::types::PushMessageContentChatDeleteMember),
13354 #[serde(rename(serialize = "pushMessageContentChatJoinByLink", deserialize = "pushMessageContentChatJoinByLink"))]
13356 ChatJoinByLink,
13357 #[serde(rename(serialize = "pushMessageContentChatJoinByRequest", deserialize = "pushMessageContentChatJoinByRequest"))]
13359 ChatJoinByRequest,
13360 #[serde(rename(serialize = "pushMessageContentRecurringPayment", deserialize = "pushMessageContentRecurringPayment"))]
13362 RecurringPayment(crate::types::PushMessageContentRecurringPayment),
13363 #[serde(rename(serialize = "pushMessageContentSuggestProfilePhoto", deserialize = "pushMessageContentSuggestProfilePhoto"))]
13365 SuggestProfilePhoto,
13366 #[serde(rename(serialize = "pushMessageContentMessageForwards", deserialize = "pushMessageContentMessageForwards"))]
13368 MessageForwards(crate::types::PushMessageContentMessageForwards),
13369 #[serde(rename(serialize = "pushMessageContentMediaAlbum", deserialize = "pushMessageContentMediaAlbum"))]
13371 MediaAlbum(crate::types::PushMessageContentMediaAlbum),
13372 }
13373 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13374 #[serde(tag = "@type")]
13375 pub enum NotificationType {
13376 #[serde(rename(serialize = "notificationTypeNewMessage", deserialize = "notificationTypeNewMessage"))]
13378 NewMessage(crate::types::NotificationTypeNewMessage),
13379 #[serde(rename(serialize = "notificationTypeNewSecretChat", deserialize = "notificationTypeNewSecretChat"))]
13381 NewSecretChat,
13382 #[serde(rename(serialize = "notificationTypeNewCall", deserialize = "notificationTypeNewCall"))]
13384 NewCall(crate::types::NotificationTypeNewCall),
13385 #[serde(rename(serialize = "notificationTypeNewPushMessage", deserialize = "notificationTypeNewPushMessage"))]
13387 NewPushMessage(crate::types::NotificationTypeNewPushMessage),
13388 }
13389 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13390 #[serde(tag = "@type")]
13391 pub enum NotificationGroupType {
13392 #[serde(rename(serialize = "notificationGroupTypeMessages", deserialize = "notificationGroupTypeMessages"))]
13394 Messages,
13395 #[serde(rename(serialize = "notificationGroupTypeMentions", deserialize = "notificationGroupTypeMentions"))]
13397 Mentions,
13398 #[serde(rename(serialize = "notificationGroupTypeSecretChat", deserialize = "notificationGroupTypeSecretChat"))]
13400 SecretChat,
13401 #[serde(rename(serialize = "notificationGroupTypeCalls", deserialize = "notificationGroupTypeCalls"))]
13403 Calls,
13404 }
13405 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13406 #[serde(tag = "@type")]
13407 pub enum NotificationSound {
13408 #[serde(rename(serialize = "notificationSound", deserialize = "notificationSound"))]
13410 NotificationSound(crate::types::NotificationSound),
13411 }
13412 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13413 #[serde(tag = "@type")]
13414 pub enum NotificationSounds {
13415 #[serde(rename(serialize = "notificationSounds", deserialize = "notificationSounds"))]
13417 NotificationSounds(crate::types::NotificationSounds),
13418 }
13419 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13420 #[serde(tag = "@type")]
13421 pub enum Notification {
13422 #[serde(rename(serialize = "notification", deserialize = "notification"))]
13424 Notification(crate::types::Notification),
13425 }
13426 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13427 #[serde(tag = "@type")]
13428 pub enum NotificationGroup {
13429 #[serde(rename(serialize = "notificationGroup", deserialize = "notificationGroup"))]
13431 NotificationGroup(crate::types::NotificationGroup),
13432 }
13433 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13434 #[serde(tag = "@type")]
13435 pub enum OptionValue {
13436 #[serde(rename(serialize = "optionValueBoolean", deserialize = "optionValueBoolean"))]
13438 Boolean(crate::types::OptionValueBoolean),
13439 #[serde(rename(serialize = "optionValueEmpty", deserialize = "optionValueEmpty"))]
13441 Empty,
13442 #[serde(rename(serialize = "optionValueInteger", deserialize = "optionValueInteger"))]
13444 Integer(crate::types::OptionValueInteger),
13445 #[serde(rename(serialize = "optionValueString", deserialize = "optionValueString"))]
13447 String(crate::types::OptionValueString),
13448 }
13449 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13450 #[serde(tag = "@type")]
13451 pub enum JsonObjectMember {
13452 #[serde(rename(serialize = "jsonObjectMember", deserialize = "jsonObjectMember"))]
13454 JsonObjectMember(crate::types::JsonObjectMember),
13455 }
13456 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13457 #[serde(tag = "@type")]
13458 pub enum JsonValue {
13459 #[serde(rename(serialize = "jsonValueNull", deserialize = "jsonValueNull"))]
13461 Null,
13462 #[serde(rename(serialize = "jsonValueBoolean", deserialize = "jsonValueBoolean"))]
13464 Boolean(crate::types::JsonValueBoolean),
13465 #[serde(rename(serialize = "jsonValueNumber", deserialize = "jsonValueNumber"))]
13467 Number(crate::types::JsonValueNumber),
13468 #[serde(rename(serialize = "jsonValueString", deserialize = "jsonValueString"))]
13470 String(crate::types::JsonValueString),
13471 #[serde(rename(serialize = "jsonValueArray", deserialize = "jsonValueArray"))]
13473 Array(crate::types::JsonValueArray),
13474 #[serde(rename(serialize = "jsonValueObject", deserialize = "jsonValueObject"))]
13476 Object(crate::types::JsonValueObject),
13477 }
13478 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13479 #[serde(tag = "@type")]
13480 pub enum StoryPrivacySettings {
13481 #[serde(rename(serialize = "storyPrivacySettingsEveryone", deserialize = "storyPrivacySettingsEveryone"))]
13483 Everyone(crate::types::StoryPrivacySettingsEveryone),
13484 #[serde(rename(serialize = "storyPrivacySettingsContacts", deserialize = "storyPrivacySettingsContacts"))]
13486 Contacts(crate::types::StoryPrivacySettingsContacts),
13487 #[serde(rename(serialize = "storyPrivacySettingsCloseFriends", deserialize = "storyPrivacySettingsCloseFriends"))]
13489 CloseFriends,
13490 #[serde(rename(serialize = "storyPrivacySettingsSelectedUsers", deserialize = "storyPrivacySettingsSelectedUsers"))]
13492 SelectedUsers(crate::types::StoryPrivacySettingsSelectedUsers),
13493 }
13494 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13495 #[serde(tag = "@type")]
13496 pub enum UserPrivacySettingRule {
13497 #[serde(rename(serialize = "userPrivacySettingRuleAllowAll", deserialize = "userPrivacySettingRuleAllowAll"))]
13499 AllowAll,
13500 #[serde(rename(serialize = "userPrivacySettingRuleAllowContacts", deserialize = "userPrivacySettingRuleAllowContacts"))]
13502 AllowContacts,
13503 #[serde(rename(serialize = "userPrivacySettingRuleAllowUsers", deserialize = "userPrivacySettingRuleAllowUsers"))]
13505 AllowUsers(crate::types::UserPrivacySettingRuleAllowUsers),
13506 #[serde(rename(serialize = "userPrivacySettingRuleAllowChatMembers", deserialize = "userPrivacySettingRuleAllowChatMembers"))]
13508 AllowChatMembers(crate::types::UserPrivacySettingRuleAllowChatMembers),
13509 #[serde(rename(serialize = "userPrivacySettingRuleRestrictAll", deserialize = "userPrivacySettingRuleRestrictAll"))]
13511 RestrictAll,
13512 #[serde(rename(serialize = "userPrivacySettingRuleRestrictContacts", deserialize = "userPrivacySettingRuleRestrictContacts"))]
13514 RestrictContacts,
13515 #[serde(rename(serialize = "userPrivacySettingRuleRestrictUsers", deserialize = "userPrivacySettingRuleRestrictUsers"))]
13517 RestrictUsers(crate::types::UserPrivacySettingRuleRestrictUsers),
13518 #[serde(rename(serialize = "userPrivacySettingRuleRestrictChatMembers", deserialize = "userPrivacySettingRuleRestrictChatMembers"))]
13520 RestrictChatMembers(crate::types::UserPrivacySettingRuleRestrictChatMembers),
13521 }
13522 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13523 #[serde(tag = "@type")]
13524 pub enum UserPrivacySettingRules {
13525 #[serde(rename(serialize = "userPrivacySettingRules", deserialize = "userPrivacySettingRules"))]
13527 UserPrivacySettingRules(crate::types::UserPrivacySettingRules),
13528 }
13529 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13530 #[serde(tag = "@type")]
13531 pub enum UserPrivacySetting {
13532 #[serde(rename(serialize = "userPrivacySettingShowStatus", deserialize = "userPrivacySettingShowStatus"))]
13534 ShowStatus,
13535 #[serde(rename(serialize = "userPrivacySettingShowProfilePhoto", deserialize = "userPrivacySettingShowProfilePhoto"))]
13537 ShowProfilePhoto,
13538 #[serde(rename(serialize = "userPrivacySettingShowLinkInForwardedMessages", deserialize = "userPrivacySettingShowLinkInForwardedMessages"))]
13540 ShowLinkInForwardedMessages,
13541 #[serde(rename(serialize = "userPrivacySettingShowPhoneNumber", deserialize = "userPrivacySettingShowPhoneNumber"))]
13543 ShowPhoneNumber,
13544 #[serde(rename(serialize = "userPrivacySettingShowBio", deserialize = "userPrivacySettingShowBio"))]
13546 ShowBio,
13547 #[serde(rename(serialize = "userPrivacySettingAllowChatInvites", deserialize = "userPrivacySettingAllowChatInvites"))]
13549 AllowChatInvites,
13550 #[serde(rename(serialize = "userPrivacySettingAllowCalls", deserialize = "userPrivacySettingAllowCalls"))]
13552 AllowCalls,
13553 #[serde(rename(serialize = "userPrivacySettingAllowPeerToPeerCalls", deserialize = "userPrivacySettingAllowPeerToPeerCalls"))]
13555 AllowPeerToPeerCalls,
13556 #[serde(rename(serialize = "userPrivacySettingAllowFindingByPhoneNumber", deserialize = "userPrivacySettingAllowFindingByPhoneNumber"))]
13558 AllowFindingByPhoneNumber,
13559 #[serde(rename(serialize = "userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages", deserialize = "userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages"))]
13561 AllowPrivateVoiceAndVideoNoteMessages,
13562 }
13563 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13564 #[serde(tag = "@type")]
13565 pub enum AccountTtl {
13566 #[serde(rename(serialize = "accountTtl", deserialize = "accountTtl"))]
13568 AccountTtl(crate::types::AccountTtl),
13569 }
13570 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13571 #[serde(tag = "@type")]
13572 pub enum MessageAutoDeleteTime {
13573 #[serde(rename(serialize = "messageAutoDeleteTime", deserialize = "messageAutoDeleteTime"))]
13575 MessageAutoDeleteTime(crate::types::MessageAutoDeleteTime),
13576 }
13577 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13578 #[serde(tag = "@type")]
13579 pub enum SessionType {
13580 #[serde(rename(serialize = "sessionTypeAndroid", deserialize = "sessionTypeAndroid"))]
13582 Android,
13583 #[serde(rename(serialize = "sessionTypeApple", deserialize = "sessionTypeApple"))]
13585 Apple,
13586 #[serde(rename(serialize = "sessionTypeBrave", deserialize = "sessionTypeBrave"))]
13588 Brave,
13589 #[serde(rename(serialize = "sessionTypeChrome", deserialize = "sessionTypeChrome"))]
13591 Chrome,
13592 #[serde(rename(serialize = "sessionTypeEdge", deserialize = "sessionTypeEdge"))]
13594 Edge,
13595 #[serde(rename(serialize = "sessionTypeFirefox", deserialize = "sessionTypeFirefox"))]
13597 Firefox,
13598 #[serde(rename(serialize = "sessionTypeIpad", deserialize = "sessionTypeIpad"))]
13600 Ipad,
13601 #[serde(rename(serialize = "sessionTypeIphone", deserialize = "sessionTypeIphone"))]
13603 Iphone,
13604 #[serde(rename(serialize = "sessionTypeLinux", deserialize = "sessionTypeLinux"))]
13606 Linux,
13607 #[serde(rename(serialize = "sessionTypeMac", deserialize = "sessionTypeMac"))]
13609 Mac,
13610 #[serde(rename(serialize = "sessionTypeOpera", deserialize = "sessionTypeOpera"))]
13612 Opera,
13613 #[serde(rename(serialize = "sessionTypeSafari", deserialize = "sessionTypeSafari"))]
13615 Safari,
13616 #[serde(rename(serialize = "sessionTypeUbuntu", deserialize = "sessionTypeUbuntu"))]
13618 Ubuntu,
13619 #[serde(rename(serialize = "sessionTypeUnknown", deserialize = "sessionTypeUnknown"))]
13621 Unknown,
13622 #[serde(rename(serialize = "sessionTypeVivaldi", deserialize = "sessionTypeVivaldi"))]
13624 Vivaldi,
13625 #[serde(rename(serialize = "sessionTypeWindows", deserialize = "sessionTypeWindows"))]
13627 Windows,
13628 #[serde(rename(serialize = "sessionTypeXbox", deserialize = "sessionTypeXbox"))]
13630 Xbox,
13631 }
13632 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13633 #[serde(tag = "@type")]
13634 pub enum Session {
13635 #[serde(rename(serialize = "session", deserialize = "session"))]
13637 Session(crate::types::Session),
13638 }
13639 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13640 #[serde(tag = "@type")]
13641 pub enum Sessions {
13642 #[serde(rename(serialize = "sessions", deserialize = "sessions"))]
13644 Sessions(crate::types::Sessions),
13645 }
13646 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13647 #[serde(tag = "@type")]
13648 pub enum UnconfirmedSession {
13649 #[serde(rename(serialize = "unconfirmedSession", deserialize = "unconfirmedSession"))]
13651 UnconfirmedSession(crate::types::UnconfirmedSession),
13652 }
13653 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13654 #[serde(tag = "@type")]
13655 pub enum ConnectedWebsite {
13656 #[serde(rename(serialize = "connectedWebsite", deserialize = "connectedWebsite"))]
13658 ConnectedWebsite(crate::types::ConnectedWebsite),
13659 }
13660 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13661 #[serde(tag = "@type")]
13662 pub enum ConnectedWebsites {
13663 #[serde(rename(serialize = "connectedWebsites", deserialize = "connectedWebsites"))]
13665 ConnectedWebsites(crate::types::ConnectedWebsites),
13666 }
13667 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13668 #[serde(tag = "@type")]
13669 pub enum ReportReason {
13670 #[serde(rename(serialize = "reportReasonSpam", deserialize = "reportReasonSpam"))]
13672 Spam,
13673 #[serde(rename(serialize = "reportReasonViolence", deserialize = "reportReasonViolence"))]
13675 Violence,
13676 #[serde(rename(serialize = "reportReasonPornography", deserialize = "reportReasonPornography"))]
13678 Pornography,
13679 #[serde(rename(serialize = "reportReasonChildAbuse", deserialize = "reportReasonChildAbuse"))]
13681 ChildAbuse,
13682 #[serde(rename(serialize = "reportReasonCopyright", deserialize = "reportReasonCopyright"))]
13684 Copyright,
13685 #[serde(rename(serialize = "reportReasonUnrelatedLocation", deserialize = "reportReasonUnrelatedLocation"))]
13687 UnrelatedLocation,
13688 #[serde(rename(serialize = "reportReasonFake", deserialize = "reportReasonFake"))]
13690 Fake,
13691 #[serde(rename(serialize = "reportReasonIllegalDrugs", deserialize = "reportReasonIllegalDrugs"))]
13693 IllegalDrugs,
13694 #[serde(rename(serialize = "reportReasonPersonalDetails", deserialize = "reportReasonPersonalDetails"))]
13696 PersonalDetails,
13697 #[serde(rename(serialize = "reportReasonCustom", deserialize = "reportReasonCustom"))]
13699 Custom,
13700 }
13701 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13702 #[serde(tag = "@type")]
13703 pub enum TargetChat {
13704 #[serde(rename(serialize = "targetChatCurrent", deserialize = "targetChatCurrent"))]
13706 Current,
13707 #[serde(rename(serialize = "targetChatChosen", deserialize = "targetChatChosen"))]
13709 Chosen(crate::types::TargetChatChosen),
13710 #[serde(rename(serialize = "targetChatInternalLink", deserialize = "targetChatInternalLink"))]
13712 InternalLink(Box<crate::types::TargetChatInternalLink>),
13713 }
13714 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13715 #[serde(tag = "@type")]
13716 pub enum InternalLinkType {
13717 #[serde(rename(serialize = "internalLinkTypeActiveSessions", deserialize = "internalLinkTypeActiveSessions"))]
13719 ActiveSessions,
13720 #[serde(rename(serialize = "internalLinkTypeAttachmentMenuBot", deserialize = "internalLinkTypeAttachmentMenuBot"))]
13726 AttachmentMenuBot(Box<crate::types::InternalLinkTypeAttachmentMenuBot>),
13727 #[serde(rename(serialize = "internalLinkTypeAuthenticationCode", deserialize = "internalLinkTypeAuthenticationCode"))]
13729 AuthenticationCode(crate::types::InternalLinkTypeAuthenticationCode),
13730 #[serde(rename(serialize = "internalLinkTypeBackground", deserialize = "internalLinkTypeBackground"))]
13732 Background(crate::types::InternalLinkTypeBackground),
13733 #[serde(rename(serialize = "internalLinkTypeBotAddToChannel", deserialize = "internalLinkTypeBotAddToChannel"))]
13737 BotAddToChannel(crate::types::InternalLinkTypeBotAddToChannel),
13738 #[serde(rename(serialize = "internalLinkTypeBotStart", deserialize = "internalLinkTypeBotStart"))]
13741 BotStart(crate::types::InternalLinkTypeBotStart),
13742 #[serde(rename(serialize = "internalLinkTypeBotStartInGroup", deserialize = "internalLinkTypeBotStartInGroup"))]
13749 BotStartInGroup(crate::types::InternalLinkTypeBotStartInGroup),
13750 #[serde(rename(serialize = "internalLinkTypeChangePhoneNumber", deserialize = "internalLinkTypeChangePhoneNumber"))]
13752 ChangePhoneNumber,
13753 #[serde(rename(serialize = "internalLinkTypeChatBoost", deserialize = "internalLinkTypeChatBoost"))]
13757 ChatBoost(crate::types::InternalLinkTypeChatBoost),
13758 #[serde(rename(serialize = "internalLinkTypeChatFolderInvite", deserialize = "internalLinkTypeChatFolderInvite"))]
13760 ChatFolderInvite(crate::types::InternalLinkTypeChatFolderInvite),
13761 #[serde(rename(serialize = "internalLinkTypeChatFolderSettings", deserialize = "internalLinkTypeChatFolderSettings"))]
13763 ChatFolderSettings,
13764 #[serde(rename(serialize = "internalLinkTypeChatInvite", deserialize = "internalLinkTypeChatInvite"))]
13766 ChatInvite(crate::types::InternalLinkTypeChatInvite),
13767 #[serde(rename(serialize = "internalLinkTypeDefaultMessageAutoDeleteTimerSettings", deserialize = "internalLinkTypeDefaultMessageAutoDeleteTimerSettings"))]
13769 DefaultMessageAutoDeleteTimerSettings,
13770 #[serde(rename(serialize = "internalLinkTypeEditProfileSettings", deserialize = "internalLinkTypeEditProfileSettings"))]
13772 EditProfileSettings,
13773 #[serde(rename(serialize = "internalLinkTypeGame", deserialize = "internalLinkTypeGame"))]
13775 Game(crate::types::InternalLinkTypeGame),
13776 #[serde(rename(serialize = "internalLinkTypeInstantView", deserialize = "internalLinkTypeInstantView"))]
13778 InstantView(crate::types::InternalLinkTypeInstantView),
13779 #[serde(rename(serialize = "internalLinkTypeInvoice", deserialize = "internalLinkTypeInvoice"))]
13781 Invoice(crate::types::InternalLinkTypeInvoice),
13782 #[serde(rename(serialize = "internalLinkTypeLanguagePack", deserialize = "internalLinkTypeLanguagePack"))]
13784 LanguagePack(crate::types::InternalLinkTypeLanguagePack),
13785 #[serde(rename(serialize = "internalLinkTypeLanguageSettings", deserialize = "internalLinkTypeLanguageSettings"))]
13787 LanguageSettings,
13788 #[serde(rename(serialize = "internalLinkTypeMessage", deserialize = "internalLinkTypeMessage"))]
13790 Message(crate::types::InternalLinkTypeMessage),
13791 #[serde(rename(serialize = "internalLinkTypeMessageDraft", deserialize = "internalLinkTypeMessageDraft"))]
13793 MessageDraft(crate::types::InternalLinkTypeMessageDraft),
13794 #[serde(rename(serialize = "internalLinkTypePassportDataRequest", deserialize = "internalLinkTypePassportDataRequest"))]
13796 PassportDataRequest(crate::types::InternalLinkTypePassportDataRequest),
13797 #[serde(rename(serialize = "internalLinkTypePhoneNumberConfirmation", deserialize = "internalLinkTypePhoneNumberConfirmation"))]
13799 PhoneNumberConfirmation(crate::types::InternalLinkTypePhoneNumberConfirmation),
13800 #[serde(rename(serialize = "internalLinkTypePremiumFeatures", deserialize = "internalLinkTypePremiumFeatures"))]
13802 PremiumFeatures(crate::types::InternalLinkTypePremiumFeatures),
13803 #[serde(rename(serialize = "internalLinkTypePrivacyAndSecuritySettings", deserialize = "internalLinkTypePrivacyAndSecuritySettings"))]
13805 PrivacyAndSecuritySettings,
13806 #[serde(rename(serialize = "internalLinkTypeProxy", deserialize = "internalLinkTypeProxy"))]
13808 Proxy(crate::types::InternalLinkTypeProxy),
13809 #[serde(rename(serialize = "internalLinkTypePublicChat", deserialize = "internalLinkTypePublicChat"))]
13811 PublicChat(crate::types::InternalLinkTypePublicChat),
13812 #[serde(rename(serialize = "internalLinkTypeQrCodeAuthentication", deserialize = "internalLinkTypeQrCodeAuthentication"))]
13815 QrCodeAuthentication,
13816 #[serde(rename(serialize = "internalLinkTypeRestorePurchases", deserialize = "internalLinkTypeRestorePurchases"))]
13818 RestorePurchases,
13819 #[serde(rename(serialize = "internalLinkTypeSettings", deserialize = "internalLinkTypeSettings"))]
13821 Settings,
13822 #[serde(rename(serialize = "internalLinkTypeSideMenuBot", deserialize = "internalLinkTypeSideMenuBot"))]
13827 SideMenuBot(crate::types::InternalLinkTypeSideMenuBot),
13828 #[serde(rename(serialize = "internalLinkTypeStickerSet", deserialize = "internalLinkTypeStickerSet"))]
13830 StickerSet(crate::types::InternalLinkTypeStickerSet),
13831 #[serde(rename(serialize = "internalLinkTypeStory", deserialize = "internalLinkTypeStory"))]
13833 Story(crate::types::InternalLinkTypeStory),
13834 #[serde(rename(serialize = "internalLinkTypeTheme", deserialize = "internalLinkTypeTheme"))]
13836 Theme(crate::types::InternalLinkTypeTheme),
13837 #[serde(rename(serialize = "internalLinkTypeThemeSettings", deserialize = "internalLinkTypeThemeSettings"))]
13839 ThemeSettings,
13840 #[serde(rename(serialize = "internalLinkTypeUnknownDeepLink", deserialize = "internalLinkTypeUnknownDeepLink"))]
13842 UnknownDeepLink(crate::types::InternalLinkTypeUnknownDeepLink),
13843 #[serde(rename(serialize = "internalLinkTypeUnsupportedProxy", deserialize = "internalLinkTypeUnsupportedProxy"))]
13845 UnsupportedProxy,
13846 #[serde(rename(serialize = "internalLinkTypeUserPhoneNumber", deserialize = "internalLinkTypeUserPhoneNumber"))]
13848 UserPhoneNumber(crate::types::InternalLinkTypeUserPhoneNumber),
13849 #[serde(rename(serialize = "internalLinkTypeUserToken", deserialize = "internalLinkTypeUserToken"))]
13851 UserToken(crate::types::InternalLinkTypeUserToken),
13852 #[serde(rename(serialize = "internalLinkTypeVideoChat", deserialize = "internalLinkTypeVideoChat"))]
13854 VideoChat(crate::types::InternalLinkTypeVideoChat),
13855 #[serde(rename(serialize = "internalLinkTypeWebApp", deserialize = "internalLinkTypeWebApp"))]
13860 WebApp(crate::types::InternalLinkTypeWebApp),
13861 }
13862 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13863 #[serde(tag = "@type")]
13864 pub enum MessageLink {
13865 #[serde(rename(serialize = "messageLink", deserialize = "messageLink"))]
13867 MessageLink(crate::types::MessageLink),
13868 }
13869 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13870 #[serde(tag = "@type")]
13871 pub enum MessageLinkInfo {
13872 #[serde(rename(serialize = "messageLinkInfo", deserialize = "messageLinkInfo"))]
13874 MessageLinkInfo(crate::types::MessageLinkInfo),
13875 }
13876 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13877 #[serde(tag = "@type")]
13878 pub enum ChatBoostLink {
13879 #[serde(rename(serialize = "chatBoostLink", deserialize = "chatBoostLink"))]
13881 ChatBoostLink(crate::types::ChatBoostLink),
13882 }
13883 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13884 #[serde(tag = "@type")]
13885 pub enum ChatBoostLinkInfo {
13886 #[serde(rename(serialize = "chatBoostLinkInfo", deserialize = "chatBoostLinkInfo"))]
13888 ChatBoostLinkInfo(crate::types::ChatBoostLinkInfo),
13889 }
13890 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13891 #[serde(tag = "@type")]
13892 pub enum BlockList {
13893 #[serde(rename(serialize = "blockListMain", deserialize = "blockListMain"))]
13895 Main,
13896 #[serde(rename(serialize = "blockListStories", deserialize = "blockListStories"))]
13898 Stories,
13899 }
13900 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13901 #[serde(tag = "@type")]
13902 pub enum FilePart {
13903 #[serde(rename(serialize = "filePart", deserialize = "filePart"))]
13905 FilePart(crate::types::FilePart),
13906 }
13907 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13908 #[serde(tag = "@type")]
13909 pub enum FileType {
13910 #[serde(rename(serialize = "fileTypeNone", deserialize = "fileTypeNone"))]
13912 None,
13913 #[serde(rename(serialize = "fileTypeAnimation", deserialize = "fileTypeAnimation"))]
13915 Animation,
13916 #[serde(rename(serialize = "fileTypeAudio", deserialize = "fileTypeAudio"))]
13918 Audio,
13919 #[serde(rename(serialize = "fileTypeDocument", deserialize = "fileTypeDocument"))]
13921 Document,
13922 #[serde(rename(serialize = "fileTypeNotificationSound", deserialize = "fileTypeNotificationSound"))]
13924 NotificationSound,
13925 #[serde(rename(serialize = "fileTypePhoto", deserialize = "fileTypePhoto"))]
13927 Photo,
13928 #[serde(rename(serialize = "fileTypePhotoStory", deserialize = "fileTypePhotoStory"))]
13930 PhotoStory,
13931 #[serde(rename(serialize = "fileTypeProfilePhoto", deserialize = "fileTypeProfilePhoto"))]
13933 ProfilePhoto,
13934 #[serde(rename(serialize = "fileTypeSecret", deserialize = "fileTypeSecret"))]
13936 Secret,
13937 #[serde(rename(serialize = "fileTypeSecretThumbnail", deserialize = "fileTypeSecretThumbnail"))]
13939 SecretThumbnail,
13940 #[serde(rename(serialize = "fileTypeSecure", deserialize = "fileTypeSecure"))]
13942 Secure,
13943 #[serde(rename(serialize = "fileTypeSticker", deserialize = "fileTypeSticker"))]
13945 Sticker,
13946 #[serde(rename(serialize = "fileTypeThumbnail", deserialize = "fileTypeThumbnail"))]
13948 Thumbnail,
13949 #[serde(rename(serialize = "fileTypeUnknown", deserialize = "fileTypeUnknown"))]
13951 Unknown,
13952 #[serde(rename(serialize = "fileTypeVideo", deserialize = "fileTypeVideo"))]
13954 Video,
13955 #[serde(rename(serialize = "fileTypeVideoNote", deserialize = "fileTypeVideoNote"))]
13957 VideoNote,
13958 #[serde(rename(serialize = "fileTypeVideoStory", deserialize = "fileTypeVideoStory"))]
13960 VideoStory,
13961 #[serde(rename(serialize = "fileTypeVoiceNote", deserialize = "fileTypeVoiceNote"))]
13963 VoiceNote,
13964 #[serde(rename(serialize = "fileTypeWallpaper", deserialize = "fileTypeWallpaper"))]
13966 Wallpaper,
13967 }
13968 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13969 #[serde(tag = "@type")]
13970 pub enum StorageStatisticsByFileType {
13971 #[serde(rename(serialize = "storageStatisticsByFileType", deserialize = "storageStatisticsByFileType"))]
13973 StorageStatisticsByFileType(crate::types::StorageStatisticsByFileType),
13974 }
13975 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13976 #[serde(tag = "@type")]
13977 pub enum StorageStatisticsByChat {
13978 #[serde(rename(serialize = "storageStatisticsByChat", deserialize = "storageStatisticsByChat"))]
13980 StorageStatisticsByChat(crate::types::StorageStatisticsByChat),
13981 }
13982 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13983 #[serde(tag = "@type")]
13984 pub enum StorageStatistics {
13985 #[serde(rename(serialize = "storageStatistics", deserialize = "storageStatistics"))]
13987 StorageStatistics(crate::types::StorageStatistics),
13988 }
13989 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13990 #[serde(tag = "@type")]
13991 pub enum StorageStatisticsFast {
13992 #[serde(rename(serialize = "storageStatisticsFast", deserialize = "storageStatisticsFast"))]
13994 StorageStatisticsFast(crate::types::StorageStatisticsFast),
13995 }
13996 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
13997 #[serde(tag = "@type")]
13998 pub enum DatabaseStatistics {
13999 #[serde(rename(serialize = "databaseStatistics", deserialize = "databaseStatistics"))]
14001 DatabaseStatistics(crate::types::DatabaseStatistics),
14002 }
14003 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14004 #[serde(tag = "@type")]
14005 pub enum NetworkType {
14006 #[serde(rename(serialize = "networkTypeNone", deserialize = "networkTypeNone"))]
14008 None,
14009 #[serde(rename(serialize = "networkTypeMobile", deserialize = "networkTypeMobile"))]
14011 Mobile,
14012 #[serde(rename(serialize = "networkTypeMobileRoaming", deserialize = "networkTypeMobileRoaming"))]
14014 MobileRoaming,
14015 #[serde(rename(serialize = "networkTypeWiFi", deserialize = "networkTypeWiFi"))]
14017 WiFi,
14018 #[serde(rename(serialize = "networkTypeOther", deserialize = "networkTypeOther"))]
14020 Other,
14021 }
14022 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14023 #[serde(tag = "@type")]
14024 pub enum NetworkStatisticsEntry {
14025 #[serde(rename(serialize = "networkStatisticsEntryFile", deserialize = "networkStatisticsEntryFile"))]
14027 File(crate::types::NetworkStatisticsEntryFile),
14028 #[serde(rename(serialize = "networkStatisticsEntryCall", deserialize = "networkStatisticsEntryCall"))]
14030 Call(crate::types::NetworkStatisticsEntryCall),
14031 }
14032 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14033 #[serde(tag = "@type")]
14034 pub enum NetworkStatistics {
14035 #[serde(rename(serialize = "networkStatistics", deserialize = "networkStatistics"))]
14037 NetworkStatistics(crate::types::NetworkStatistics),
14038 }
14039 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14040 #[serde(tag = "@type")]
14041 pub enum AutoDownloadSettings {
14042 #[serde(rename(serialize = "autoDownloadSettings", deserialize = "autoDownloadSettings"))]
14044 AutoDownloadSettings(crate::types::AutoDownloadSettings),
14045 }
14046 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14047 #[serde(tag = "@type")]
14048 pub enum AutoDownloadSettingsPresets {
14049 #[serde(rename(serialize = "autoDownloadSettingsPresets", deserialize = "autoDownloadSettingsPresets"))]
14051 AutoDownloadSettingsPresets(crate::types::AutoDownloadSettingsPresets),
14052 }
14053 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14054 #[serde(tag = "@type")]
14055 pub enum AutosaveSettingsScope {
14056 #[serde(rename(serialize = "autosaveSettingsScopePrivateChats", deserialize = "autosaveSettingsScopePrivateChats"))]
14058 PrivateChats,
14059 #[serde(rename(serialize = "autosaveSettingsScopeGroupChats", deserialize = "autosaveSettingsScopeGroupChats"))]
14061 GroupChats,
14062 #[serde(rename(serialize = "autosaveSettingsScopeChannelChats", deserialize = "autosaveSettingsScopeChannelChats"))]
14064 ChannelChats,
14065 #[serde(rename(serialize = "autosaveSettingsScopeChat", deserialize = "autosaveSettingsScopeChat"))]
14067 Chat(crate::types::AutosaveSettingsScopeChat),
14068 }
14069 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14070 #[serde(tag = "@type")]
14071 pub enum ScopeAutosaveSettings {
14072 #[serde(rename(serialize = "scopeAutosaveSettings", deserialize = "scopeAutosaveSettings"))]
14074 ScopeAutosaveSettings(crate::types::ScopeAutosaveSettings),
14075 }
14076 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14077 #[serde(tag = "@type")]
14078 pub enum AutosaveSettingsException {
14079 #[serde(rename(serialize = "autosaveSettingsException", deserialize = "autosaveSettingsException"))]
14081 AutosaveSettingsException(crate::types::AutosaveSettingsException),
14082 }
14083 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14084 #[serde(tag = "@type")]
14085 pub enum AutosaveSettings {
14086 #[serde(rename(serialize = "autosaveSettings", deserialize = "autosaveSettings"))]
14088 AutosaveSettings(crate::types::AutosaveSettings),
14089 }
14090 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14091 #[serde(tag = "@type")]
14092 pub enum ConnectionState {
14093 #[serde(rename(serialize = "connectionStateWaitingForNetwork", deserialize = "connectionStateWaitingForNetwork"))]
14095 WaitingForNetwork,
14096 #[serde(rename(serialize = "connectionStateConnectingToProxy", deserialize = "connectionStateConnectingToProxy"))]
14098 ConnectingToProxy,
14099 #[serde(rename(serialize = "connectionStateConnecting", deserialize = "connectionStateConnecting"))]
14101 Connecting,
14102 #[serde(rename(serialize = "connectionStateUpdating", deserialize = "connectionStateUpdating"))]
14104 Updating,
14105 #[serde(rename(serialize = "connectionStateReady", deserialize = "connectionStateReady"))]
14107 Ready,
14108 }
14109 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14110 #[serde(tag = "@type")]
14111 pub enum TopChatCategory {
14112 #[serde(rename(serialize = "topChatCategoryUsers", deserialize = "topChatCategoryUsers"))]
14114 Users,
14115 #[serde(rename(serialize = "topChatCategoryBots", deserialize = "topChatCategoryBots"))]
14117 Bots,
14118 #[serde(rename(serialize = "topChatCategoryGroups", deserialize = "topChatCategoryGroups"))]
14120 Groups,
14121 #[serde(rename(serialize = "topChatCategoryChannels", deserialize = "topChatCategoryChannels"))]
14123 Channels,
14124 #[serde(rename(serialize = "topChatCategoryInlineBots", deserialize = "topChatCategoryInlineBots"))]
14126 InlineBots,
14127 #[serde(rename(serialize = "topChatCategoryCalls", deserialize = "topChatCategoryCalls"))]
14129 Calls,
14130 #[serde(rename(serialize = "topChatCategoryForwardChats", deserialize = "topChatCategoryForwardChats"))]
14132 ForwardChats,
14133 }
14134 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14135 #[serde(tag = "@type")]
14136 pub enum FoundPositions {
14137 #[serde(rename(serialize = "foundPositions", deserialize = "foundPositions"))]
14139 FoundPositions(crate::types::FoundPositions),
14140 }
14141 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14142 #[serde(tag = "@type")]
14143 pub enum TmeUrlType {
14144 #[serde(rename(serialize = "tMeUrlTypeUser", deserialize = "tMeUrlTypeUser"))]
14146 User(crate::types::TmeUrlTypeUser),
14147 #[serde(rename(serialize = "tMeUrlTypeSupergroup", deserialize = "tMeUrlTypeSupergroup"))]
14149 Supergroup(crate::types::TmeUrlTypeSupergroup),
14150 #[serde(rename(serialize = "tMeUrlTypeChatInvite", deserialize = "tMeUrlTypeChatInvite"))]
14152 ChatInvite(crate::types::TmeUrlTypeChatInvite),
14153 #[serde(rename(serialize = "tMeUrlTypeStickerSet", deserialize = "tMeUrlTypeStickerSet"))]
14155 StickerSet(crate::types::TmeUrlTypeStickerSet),
14156 }
14157 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14158 #[serde(tag = "@type")]
14159 pub enum TmeUrl {
14160 #[serde(rename(serialize = "tMeUrl", deserialize = "tMeUrl"))]
14162 TmeUrl(crate::types::TmeUrl),
14163 }
14164 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14165 #[serde(tag = "@type")]
14166 pub enum TmeUrls {
14167 #[serde(rename(serialize = "tMeUrls", deserialize = "tMeUrls"))]
14169 TmeUrls(crate::types::TmeUrls),
14170 }
14171 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14172 #[serde(tag = "@type")]
14173 pub enum SuggestedAction {
14174 #[serde(rename(serialize = "suggestedActionEnableArchiveAndMuteNewChats", deserialize = "suggestedActionEnableArchiveAndMuteNewChats"))]
14176 EnableArchiveAndMuteNewChats,
14177 #[serde(rename(serialize = "suggestedActionCheckPassword", deserialize = "suggestedActionCheckPassword"))]
14179 CheckPassword,
14180 #[serde(rename(serialize = "suggestedActionCheckPhoneNumber", deserialize = "suggestedActionCheckPhoneNumber"))]
14182 CheckPhoneNumber,
14183 #[serde(rename(serialize = "suggestedActionViewChecksHint", deserialize = "suggestedActionViewChecksHint"))]
14185 ViewChecksHint,
14186 #[serde(rename(serialize = "suggestedActionConvertToBroadcastGroup", deserialize = "suggestedActionConvertToBroadcastGroup"))]
14188 ConvertToBroadcastGroup(crate::types::SuggestedActionConvertToBroadcastGroup),
14189 #[serde(rename(serialize = "suggestedActionSetPassword", deserialize = "suggestedActionSetPassword"))]
14191 SetPassword(crate::types::SuggestedActionSetPassword),
14192 #[serde(rename(serialize = "suggestedActionUpgradePremium", deserialize = "suggestedActionUpgradePremium"))]
14194 UpgradePremium,
14195 #[serde(rename(serialize = "suggestedActionRestorePremium", deserialize = "suggestedActionRestorePremium"))]
14197 RestorePremium,
14198 #[serde(rename(serialize = "suggestedActionSubscribeToAnnualPremium", deserialize = "suggestedActionSubscribeToAnnualPremium"))]
14200 SubscribeToAnnualPremium,
14201 }
14202 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14203 #[serde(tag = "@type")]
14204 pub enum Count {
14205 #[serde(rename(serialize = "count", deserialize = "count"))]
14207 Count(crate::types::Count),
14208 }
14209 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14210 #[serde(tag = "@type")]
14211 pub enum Text {
14212 #[serde(rename(serialize = "text", deserialize = "text"))]
14214 Text(crate::types::Text),
14215 }
14216 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14217 #[serde(tag = "@type")]
14218 pub enum Seconds {
14219 #[serde(rename(serialize = "seconds", deserialize = "seconds"))]
14221 Seconds(crate::types::Seconds),
14222 }
14223 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14224 #[serde(tag = "@type")]
14225 pub enum FileDownloadedPrefixSize {
14226 #[serde(rename(serialize = "fileDownloadedPrefixSize", deserialize = "fileDownloadedPrefixSize"))]
14228 FileDownloadedPrefixSize(crate::types::FileDownloadedPrefixSize),
14229 }
14230 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14231 #[serde(tag = "@type")]
14232 pub enum DeepLinkInfo {
14233 #[serde(rename(serialize = "deepLinkInfo", deserialize = "deepLinkInfo"))]
14235 DeepLinkInfo(crate::types::DeepLinkInfo),
14236 }
14237 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14238 #[serde(tag = "@type")]
14239 pub enum TextParseMode {
14240 #[serde(rename(serialize = "textParseModeMarkdown", deserialize = "textParseModeMarkdown"))]
14242 Markdown(crate::types::TextParseModeMarkdown),
14243 #[serde(rename(serialize = "textParseModeHTML", deserialize = "textParseModeHTML"))]
14245 Html,
14246 }
14247 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14248 #[serde(tag = "@type")]
14249 pub enum ProxyType {
14250 #[serde(rename(serialize = "proxyTypeSocks5", deserialize = "proxyTypeSocks5"))]
14252 Socks5(crate::types::ProxyTypeSocks5),
14253 #[serde(rename(serialize = "proxyTypeHttp", deserialize = "proxyTypeHttp"))]
14255 Http(crate::types::ProxyTypeHttp),
14256 #[serde(rename(serialize = "proxyTypeMtproto", deserialize = "proxyTypeMtproto"))]
14258 Mtproto(crate::types::ProxyTypeMtproto),
14259 }
14260 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14261 #[serde(tag = "@type")]
14262 pub enum Proxy {
14263 #[serde(rename(serialize = "proxy", deserialize = "proxy"))]
14265 Proxy(crate::types::Proxy),
14266 }
14267 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14268 #[serde(tag = "@type")]
14269 pub enum Proxies {
14270 #[serde(rename(serialize = "proxies", deserialize = "proxies"))]
14272 Proxies(crate::types::Proxies),
14273 }
14274 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14275 #[serde(tag = "@type")]
14276 pub enum InputSticker {
14277 #[serde(rename(serialize = "inputSticker", deserialize = "inputSticker"))]
14279 InputSticker(crate::types::InputSticker),
14280 }
14281 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14282 #[serde(tag = "@type")]
14283 pub enum DateRange {
14284 #[serde(rename(serialize = "dateRange", deserialize = "dateRange"))]
14286 DateRange(crate::types::DateRange),
14287 }
14288 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14289 #[serde(tag = "@type")]
14290 pub enum StatisticalValue {
14291 #[serde(rename(serialize = "statisticalValue", deserialize = "statisticalValue"))]
14293 StatisticalValue(crate::types::StatisticalValue),
14294 }
14295 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14296 #[serde(tag = "@type")]
14297 pub enum StatisticalGraph {
14298 #[serde(rename(serialize = "statisticalGraphData", deserialize = "statisticalGraphData"))]
14300 Data(crate::types::StatisticalGraphData),
14301 #[serde(rename(serialize = "statisticalGraphAsync", deserialize = "statisticalGraphAsync"))]
14303 Async(crate::types::StatisticalGraphAsync),
14304 #[serde(rename(serialize = "statisticalGraphError", deserialize = "statisticalGraphError"))]
14306 Error(crate::types::StatisticalGraphError),
14307 }
14308 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14309 #[serde(tag = "@type")]
14310 pub enum ChatStatisticsMessageInteractionInfo {
14311 #[serde(rename(serialize = "chatStatisticsMessageInteractionInfo", deserialize = "chatStatisticsMessageInteractionInfo"))]
14313 ChatStatisticsMessageInteractionInfo(crate::types::ChatStatisticsMessageInteractionInfo),
14314 }
14315 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14316 #[serde(tag = "@type")]
14317 pub enum ChatStatisticsMessageSenderInfo {
14318 #[serde(rename(serialize = "chatStatisticsMessageSenderInfo", deserialize = "chatStatisticsMessageSenderInfo"))]
14320 ChatStatisticsMessageSenderInfo(crate::types::ChatStatisticsMessageSenderInfo),
14321 }
14322 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14323 #[serde(tag = "@type")]
14324 pub enum ChatStatisticsAdministratorActionsInfo {
14325 #[serde(rename(serialize = "chatStatisticsAdministratorActionsInfo", deserialize = "chatStatisticsAdministratorActionsInfo"))]
14327 ChatStatisticsAdministratorActionsInfo(crate::types::ChatStatisticsAdministratorActionsInfo),
14328 }
14329 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14330 #[serde(tag = "@type")]
14331 pub enum ChatStatisticsInviterInfo {
14332 #[serde(rename(serialize = "chatStatisticsInviterInfo", deserialize = "chatStatisticsInviterInfo"))]
14334 ChatStatisticsInviterInfo(crate::types::ChatStatisticsInviterInfo),
14335 }
14336 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14337 #[serde(tag = "@type")]
14338 pub enum ChatStatistics {
14339 #[serde(rename(serialize = "chatStatisticsSupergroup", deserialize = "chatStatisticsSupergroup"))]
14341 Supergroup(crate::types::ChatStatisticsSupergroup),
14342 #[serde(rename(serialize = "chatStatisticsChannel", deserialize = "chatStatisticsChannel"))]
14344 Channel(crate::types::ChatStatisticsChannel),
14345 }
14346 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14347 #[serde(tag = "@type")]
14348 pub enum MessageStatistics {
14349 #[serde(rename(serialize = "messageStatistics", deserialize = "messageStatistics"))]
14351 MessageStatistics(crate::types::MessageStatistics),
14352 }
14353 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14354 #[serde(tag = "@type")]
14355 pub enum Point {
14356 #[serde(rename(serialize = "point", deserialize = "point"))]
14358 Point(crate::types::Point),
14359 }
14360 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14361 #[serde(tag = "@type")]
14362 pub enum VectorPathCommand {
14363 #[serde(rename(serialize = "vectorPathCommandLine", deserialize = "vectorPathCommandLine"))]
14365 Line(crate::types::VectorPathCommandLine),
14366 #[serde(rename(serialize = "vectorPathCommandCubicBezierCurve", deserialize = "vectorPathCommandCubicBezierCurve"))]
14368 CubicBezierCurve(crate::types::VectorPathCommandCubicBezierCurve),
14369 }
14370 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14371 #[serde(tag = "@type")]
14372 pub enum BotCommandScope {
14373 #[serde(rename(serialize = "botCommandScopeDefault", deserialize = "botCommandScopeDefault"))]
14375 Default,
14376 #[serde(rename(serialize = "botCommandScopeAllPrivateChats", deserialize = "botCommandScopeAllPrivateChats"))]
14378 AllPrivateChats,
14379 #[serde(rename(serialize = "botCommandScopeAllGroupChats", deserialize = "botCommandScopeAllGroupChats"))]
14381 AllGroupChats,
14382 #[serde(rename(serialize = "botCommandScopeAllChatAdministrators", deserialize = "botCommandScopeAllChatAdministrators"))]
14384 AllChatAdministrators,
14385 #[serde(rename(serialize = "botCommandScopeChat", deserialize = "botCommandScopeChat"))]
14387 Chat(crate::types::BotCommandScopeChat),
14388 #[serde(rename(serialize = "botCommandScopeChatAdministrators", deserialize = "botCommandScopeChatAdministrators"))]
14390 ChatAdministrators(crate::types::BotCommandScopeChatAdministrators),
14391 #[serde(rename(serialize = "botCommandScopeChatMember", deserialize = "botCommandScopeChatMember"))]
14393 ChatMember(crate::types::BotCommandScopeChatMember),
14394 }
14395 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14396 #[serde(tag = "@type")]
14397 pub enum Update {
14398 #[serde(rename(serialize = "updateAuthorizationState", deserialize = "updateAuthorizationState"))]
14400 AuthorizationState(crate::types::UpdateAuthorizationState),
14401 #[serde(rename(serialize = "updateNewMessage", deserialize = "updateNewMessage"))]
14403 NewMessage(crate::types::UpdateNewMessage),
14404 #[serde(rename(serialize = "updateMessageSendAcknowledged", deserialize = "updateMessageSendAcknowledged"))]
14407 MessageSendAcknowledged(crate::types::UpdateMessageSendAcknowledged),
14408 #[serde(rename(serialize = "updateMessageSendSucceeded", deserialize = "updateMessageSendSucceeded"))]
14410 MessageSendSucceeded(crate::types::UpdateMessageSendSucceeded),
14411 #[serde(rename(serialize = "updateMessageSendFailed", deserialize = "updateMessageSendFailed"))]
14413 MessageSendFailed(crate::types::UpdateMessageSendFailed),
14414 #[serde(rename(serialize = "updateMessageContent", deserialize = "updateMessageContent"))]
14416 MessageContent(crate::types::UpdateMessageContent),
14417 #[serde(rename(serialize = "updateMessageEdited", deserialize = "updateMessageEdited"))]
14419 MessageEdited(crate::types::UpdateMessageEdited),
14420 #[serde(rename(serialize = "updateMessageIsPinned", deserialize = "updateMessageIsPinned"))]
14422 MessageIsPinned(crate::types::UpdateMessageIsPinned),
14423 #[serde(rename(serialize = "updateMessageInteractionInfo", deserialize = "updateMessageInteractionInfo"))]
14425 MessageInteractionInfo(crate::types::UpdateMessageInteractionInfo),
14426 #[serde(rename(serialize = "updateMessageContentOpened", deserialize = "updateMessageContentOpened"))]
14428 MessageContentOpened(crate::types::UpdateMessageContentOpened),
14429 #[serde(rename(serialize = "updateMessageMentionRead", deserialize = "updateMessageMentionRead"))]
14431 MessageMentionRead(crate::types::UpdateMessageMentionRead),
14432 #[serde(rename(serialize = "updateMessageUnreadReactions", deserialize = "updateMessageUnreadReactions"))]
14434 MessageUnreadReactions(crate::types::UpdateMessageUnreadReactions),
14435 #[serde(rename(serialize = "updateMessageLiveLocationViewed", deserialize = "updateMessageLiveLocationViewed"))]
14437 MessageLiveLocationViewed(crate::types::UpdateMessageLiveLocationViewed),
14438 #[serde(rename(serialize = "updateNewChat", deserialize = "updateNewChat"))]
14440 NewChat(crate::types::UpdateNewChat),
14441 #[serde(rename(serialize = "updateChatTitle", deserialize = "updateChatTitle"))]
14443 ChatTitle(crate::types::UpdateChatTitle),
14444 #[serde(rename(serialize = "updateChatPhoto", deserialize = "updateChatPhoto"))]
14446 ChatPhoto(crate::types::UpdateChatPhoto),
14447 #[serde(rename(serialize = "updateChatPermissions", deserialize = "updateChatPermissions"))]
14449 ChatPermissions(crate::types::UpdateChatPermissions),
14450 #[serde(rename(serialize = "updateChatLastMessage", deserialize = "updateChatLastMessage"))]
14452 ChatLastMessage(crate::types::UpdateChatLastMessage),
14453 #[serde(rename(serialize = "updateChatPosition", deserialize = "updateChatPosition"))]
14455 ChatPosition(crate::types::UpdateChatPosition),
14456 #[serde(rename(serialize = "updateChatReadInbox", deserialize = "updateChatReadInbox"))]
14458 ChatReadInbox(crate::types::UpdateChatReadInbox),
14459 #[serde(rename(serialize = "updateChatReadOutbox", deserialize = "updateChatReadOutbox"))]
14461 ChatReadOutbox(crate::types::UpdateChatReadOutbox),
14462 #[serde(rename(serialize = "updateChatActionBar", deserialize = "updateChatActionBar"))]
14464 ChatActionBar(crate::types::UpdateChatActionBar),
14465 #[serde(rename(serialize = "updateChatAvailableReactions", deserialize = "updateChatAvailableReactions"))]
14467 ChatAvailableReactions(crate::types::UpdateChatAvailableReactions),
14468 #[serde(rename(serialize = "updateChatDraftMessage", deserialize = "updateChatDraftMessage"))]
14470 ChatDraftMessage(crate::types::UpdateChatDraftMessage),
14471 #[serde(rename(serialize = "updateChatMessageSender", deserialize = "updateChatMessageSender"))]
14473 ChatMessageSender(crate::types::UpdateChatMessageSender),
14474 #[serde(rename(serialize = "updateChatMessageAutoDeleteTime", deserialize = "updateChatMessageAutoDeleteTime"))]
14476 ChatMessageAutoDeleteTime(crate::types::UpdateChatMessageAutoDeleteTime),
14477 #[serde(rename(serialize = "updateChatNotificationSettings", deserialize = "updateChatNotificationSettings"))]
14479 ChatNotificationSettings(crate::types::UpdateChatNotificationSettings),
14480 #[serde(rename(serialize = "updateChatPendingJoinRequests", deserialize = "updateChatPendingJoinRequests"))]
14482 ChatPendingJoinRequests(crate::types::UpdateChatPendingJoinRequests),
14483 #[serde(rename(serialize = "updateChatReplyMarkup", deserialize = "updateChatReplyMarkup"))]
14485 ChatReplyMarkup(crate::types::UpdateChatReplyMarkup),
14486 #[serde(rename(serialize = "updateChatBackground", deserialize = "updateChatBackground"))]
14488 ChatBackground(crate::types::UpdateChatBackground),
14489 #[serde(rename(serialize = "updateChatTheme", deserialize = "updateChatTheme"))]
14491 ChatTheme(crate::types::UpdateChatTheme),
14492 #[serde(rename(serialize = "updateChatUnreadMentionCount", deserialize = "updateChatUnreadMentionCount"))]
14494 ChatUnreadMentionCount(crate::types::UpdateChatUnreadMentionCount),
14495 #[serde(rename(serialize = "updateChatUnreadReactionCount", deserialize = "updateChatUnreadReactionCount"))]
14497 ChatUnreadReactionCount(crate::types::UpdateChatUnreadReactionCount),
14498 #[serde(rename(serialize = "updateChatVideoChat", deserialize = "updateChatVideoChat"))]
14500 ChatVideoChat(crate::types::UpdateChatVideoChat),
14501 #[serde(rename(serialize = "updateChatDefaultDisableNotification", deserialize = "updateChatDefaultDisableNotification"))]
14503 ChatDefaultDisableNotification(crate::types::UpdateChatDefaultDisableNotification),
14504 #[serde(rename(serialize = "updateChatHasProtectedContent", deserialize = "updateChatHasProtectedContent"))]
14506 ChatHasProtectedContent(crate::types::UpdateChatHasProtectedContent),
14507 #[serde(rename(serialize = "updateChatIsTranslatable", deserialize = "updateChatIsTranslatable"))]
14509 ChatIsTranslatable(crate::types::UpdateChatIsTranslatable),
14510 #[serde(rename(serialize = "updateChatIsMarkedAsUnread", deserialize = "updateChatIsMarkedAsUnread"))]
14512 ChatIsMarkedAsUnread(crate::types::UpdateChatIsMarkedAsUnread),
14513 #[serde(rename(serialize = "updateChatBlockList", deserialize = "updateChatBlockList"))]
14515 ChatBlockList(crate::types::UpdateChatBlockList),
14516 #[serde(rename(serialize = "updateChatHasScheduledMessages", deserialize = "updateChatHasScheduledMessages"))]
14518 ChatHasScheduledMessages(crate::types::UpdateChatHasScheduledMessages),
14519 #[serde(rename(serialize = "updateChatFolders", deserialize = "updateChatFolders"))]
14521 ChatFolders(crate::types::UpdateChatFolders),
14522 #[serde(rename(serialize = "updateChatOnlineMemberCount", deserialize = "updateChatOnlineMemberCount"))]
14525 ChatOnlineMemberCount(crate::types::UpdateChatOnlineMemberCount),
14526 #[serde(rename(serialize = "updateForumTopicInfo", deserialize = "updateForumTopicInfo"))]
14528 ForumTopicInfo(crate::types::UpdateForumTopicInfo),
14529 #[serde(rename(serialize = "updateScopeNotificationSettings", deserialize = "updateScopeNotificationSettings"))]
14531 ScopeNotificationSettings(crate::types::UpdateScopeNotificationSettings),
14532 #[serde(rename(serialize = "updateNotification", deserialize = "updateNotification"))]
14534 Notification(crate::types::UpdateNotification),
14535 #[serde(rename(serialize = "updateNotificationGroup", deserialize = "updateNotificationGroup"))]
14537 NotificationGroup(crate::types::UpdateNotificationGroup),
14538 #[serde(rename(serialize = "updateActiveNotifications", deserialize = "updateActiveNotifications"))]
14540 ActiveNotifications(crate::types::UpdateActiveNotifications),
14541 #[serde(rename(serialize = "updateHavePendingNotifications", deserialize = "updateHavePendingNotifications"))]
14543 HavePendingNotifications(crate::types::UpdateHavePendingNotifications),
14544 #[serde(rename(serialize = "updateDeleteMessages", deserialize = "updateDeleteMessages"))]
14546 DeleteMessages(crate::types::UpdateDeleteMessages),
14547 #[serde(rename(serialize = "updateChatAction", deserialize = "updateChatAction"))]
14549 ChatAction(crate::types::UpdateChatAction),
14550 #[serde(rename(serialize = "updateUserStatus", deserialize = "updateUserStatus"))]
14552 UserStatus(crate::types::UpdateUserStatus),
14553 #[serde(rename(serialize = "updateUser", deserialize = "updateUser"))]
14555 User(crate::types::UpdateUser),
14556 #[serde(rename(serialize = "updateBasicGroup", deserialize = "updateBasicGroup"))]
14558 BasicGroup(crate::types::UpdateBasicGroup),
14559 #[serde(rename(serialize = "updateSupergroup", deserialize = "updateSupergroup"))]
14561 Supergroup(crate::types::UpdateSupergroup),
14562 #[serde(rename(serialize = "updateSecretChat", deserialize = "updateSecretChat"))]
14564 SecretChat(crate::types::UpdateSecretChat),
14565 #[serde(rename(serialize = "updateUserFullInfo", deserialize = "updateUserFullInfo"))]
14567 UserFullInfo(crate::types::UpdateUserFullInfo),
14568 #[serde(rename(serialize = "updateBasicGroupFullInfo", deserialize = "updateBasicGroupFullInfo"))]
14570 BasicGroupFullInfo(crate::types::UpdateBasicGroupFullInfo),
14571 #[serde(rename(serialize = "updateSupergroupFullInfo", deserialize = "updateSupergroupFullInfo"))]
14573 SupergroupFullInfo(crate::types::UpdateSupergroupFullInfo),
14574 #[serde(rename(serialize = "updateServiceNotification", deserialize = "updateServiceNotification"))]
14576 ServiceNotification(crate::types::UpdateServiceNotification),
14577 #[serde(rename(serialize = "updateFile", deserialize = "updateFile"))]
14579 File(crate::types::UpdateFile),
14580 #[serde(rename(serialize = "updateFileGenerationStart", deserialize = "updateFileGenerationStart"))]
14582 FileGenerationStart(crate::types::UpdateFileGenerationStart),
14583 #[serde(rename(serialize = "updateFileGenerationStop", deserialize = "updateFileGenerationStop"))]
14585 FileGenerationStop(crate::types::UpdateFileGenerationStop),
14586 #[serde(rename(serialize = "updateFileDownloads", deserialize = "updateFileDownloads"))]
14588 FileDownloads(crate::types::UpdateFileDownloads),
14589 #[serde(rename(serialize = "updateFileAddedToDownloads", deserialize = "updateFileAddedToDownloads"))]
14591 FileAddedToDownloads(crate::types::UpdateFileAddedToDownloads),
14592 #[serde(rename(serialize = "updateFileDownload", deserialize = "updateFileDownload"))]
14594 FileDownload(crate::types::UpdateFileDownload),
14595 #[serde(rename(serialize = "updateFileRemovedFromDownloads", deserialize = "updateFileRemovedFromDownloads"))]
14597 FileRemovedFromDownloads(crate::types::UpdateFileRemovedFromDownloads),
14598 #[serde(rename(serialize = "updateCall", deserialize = "updateCall"))]
14600 Call(crate::types::UpdateCall),
14601 #[serde(rename(serialize = "updateGroupCall", deserialize = "updateGroupCall"))]
14603 GroupCall(crate::types::UpdateGroupCall),
14604 #[serde(rename(serialize = "updateGroupCallParticipant", deserialize = "updateGroupCallParticipant"))]
14606 GroupCallParticipant(crate::types::UpdateGroupCallParticipant),
14607 #[serde(rename(serialize = "updateNewCallSignalingData", deserialize = "updateNewCallSignalingData"))]
14609 NewCallSignalingData(crate::types::UpdateNewCallSignalingData),
14610 #[serde(rename(serialize = "updateUserPrivacySettingRules", deserialize = "updateUserPrivacySettingRules"))]
14612 UserPrivacySettingRules(crate::types::UpdateUserPrivacySettingRules),
14613 #[serde(rename(serialize = "updateUnreadMessageCount", deserialize = "updateUnreadMessageCount"))]
14615 UnreadMessageCount(crate::types::UpdateUnreadMessageCount),
14616 #[serde(rename(serialize = "updateUnreadChatCount", deserialize = "updateUnreadChatCount"))]
14618 UnreadChatCount(crate::types::UpdateUnreadChatCount),
14619 #[serde(rename(serialize = "updateStory", deserialize = "updateStory"))]
14621 Story(crate::types::UpdateStory),
14622 #[serde(rename(serialize = "updateStoryDeleted", deserialize = "updateStoryDeleted"))]
14624 StoryDeleted(crate::types::UpdateStoryDeleted),
14625 #[serde(rename(serialize = "updateStorySendSucceeded", deserialize = "updateStorySendSucceeded"))]
14627 StorySendSucceeded(crate::types::UpdateStorySendSucceeded),
14628 #[serde(rename(serialize = "updateStorySendFailed", deserialize = "updateStorySendFailed"))]
14630 StorySendFailed(crate::types::UpdateStorySendFailed),
14631 #[serde(rename(serialize = "updateChatActiveStories", deserialize = "updateChatActiveStories"))]
14633 ChatActiveStories(crate::types::UpdateChatActiveStories),
14634 #[serde(rename(serialize = "updateStoryListChatCount", deserialize = "updateStoryListChatCount"))]
14636 StoryListChatCount(crate::types::UpdateStoryListChatCount),
14637 #[serde(rename(serialize = "updateStoryStealthMode", deserialize = "updateStoryStealthMode"))]
14639 StoryStealthMode(crate::types::UpdateStoryStealthMode),
14640 #[serde(rename(serialize = "updateOption", deserialize = "updateOption"))]
14642 Option(crate::types::UpdateOption),
14643 #[serde(rename(serialize = "updateStickerSet", deserialize = "updateStickerSet"))]
14645 StickerSet(crate::types::UpdateStickerSet),
14646 #[serde(rename(serialize = "updateInstalledStickerSets", deserialize = "updateInstalledStickerSets"))]
14648 InstalledStickerSets(crate::types::UpdateInstalledStickerSets),
14649 #[serde(rename(serialize = "updateTrendingStickerSets", deserialize = "updateTrendingStickerSets"))]
14651 TrendingStickerSets(crate::types::UpdateTrendingStickerSets),
14652 #[serde(rename(serialize = "updateRecentStickers", deserialize = "updateRecentStickers"))]
14654 RecentStickers(crate::types::UpdateRecentStickers),
14655 #[serde(rename(serialize = "updateFavoriteStickers", deserialize = "updateFavoriteStickers"))]
14657 FavoriteStickers(crate::types::UpdateFavoriteStickers),
14658 #[serde(rename(serialize = "updateSavedAnimations", deserialize = "updateSavedAnimations"))]
14660 SavedAnimations(crate::types::UpdateSavedAnimations),
14661 #[serde(rename(serialize = "updateSavedNotificationSounds", deserialize = "updateSavedNotificationSounds"))]
14663 SavedNotificationSounds(crate::types::UpdateSavedNotificationSounds),
14664 #[serde(rename(serialize = "updateSelectedBackground", deserialize = "updateSelectedBackground"))]
14666 SelectedBackground(crate::types::UpdateSelectedBackground),
14667 #[serde(rename(serialize = "updateChatThemes", deserialize = "updateChatThemes"))]
14669 ChatThemes(crate::types::UpdateChatThemes),
14670 #[serde(rename(serialize = "updateLanguagePackStrings", deserialize = "updateLanguagePackStrings"))]
14672 LanguagePackStrings(crate::types::UpdateLanguagePackStrings),
14673 #[serde(rename(serialize = "updateConnectionState", deserialize = "updateConnectionState"))]
14675 ConnectionState(crate::types::UpdateConnectionState),
14676 #[serde(rename(serialize = "updateTermsOfService", deserialize = "updateTermsOfService"))]
14678 TermsOfService(crate::types::UpdateTermsOfService),
14679 #[serde(rename(serialize = "updateUsersNearby", deserialize = "updateUsersNearby"))]
14681 UsersNearby(crate::types::UpdateUsersNearby),
14682 #[serde(rename(serialize = "updateUnconfirmedSession", deserialize = "updateUnconfirmedSession"))]
14684 UnconfirmedSession(crate::types::UpdateUnconfirmedSession),
14685 #[serde(rename(serialize = "updateAttachmentMenuBots", deserialize = "updateAttachmentMenuBots"))]
14687 AttachmentMenuBots(crate::types::UpdateAttachmentMenuBots),
14688 #[serde(rename(serialize = "updateWebAppMessageSent", deserialize = "updateWebAppMessageSent"))]
14690 WebAppMessageSent(crate::types::UpdateWebAppMessageSent),
14691 #[serde(rename(serialize = "updateActiveEmojiReactions", deserialize = "updateActiveEmojiReactions"))]
14693 ActiveEmojiReactions(crate::types::UpdateActiveEmojiReactions),
14694 #[serde(rename(serialize = "updateDefaultReactionType", deserialize = "updateDefaultReactionType"))]
14696 DefaultReactionType(crate::types::UpdateDefaultReactionType),
14697 #[serde(rename(serialize = "updateDiceEmojis", deserialize = "updateDiceEmojis"))]
14699 DiceEmojis(crate::types::UpdateDiceEmojis),
14700 #[serde(rename(serialize = "updateAnimatedEmojiMessageClicked", deserialize = "updateAnimatedEmojiMessageClicked"))]
14702 AnimatedEmojiMessageClicked(crate::types::UpdateAnimatedEmojiMessageClicked),
14703 #[serde(rename(serialize = "updateAnimationSearchParameters", deserialize = "updateAnimationSearchParameters"))]
14705 AnimationSearchParameters(crate::types::UpdateAnimationSearchParameters),
14706 #[serde(rename(serialize = "updateSuggestedActions", deserialize = "updateSuggestedActions"))]
14708 SuggestedActions(crate::types::UpdateSuggestedActions),
14709 #[serde(rename(serialize = "updateAddChatMembersPrivacyForbidden", deserialize = "updateAddChatMembersPrivacyForbidden"))]
14711 AddChatMembersPrivacyForbidden(crate::types::UpdateAddChatMembersPrivacyForbidden),
14712 #[serde(rename(serialize = "updateAutosaveSettings", deserialize = "updateAutosaveSettings"))]
14714 AutosaveSettings(crate::types::UpdateAutosaveSettings),
14715 #[serde(rename(serialize = "updateNewInlineQuery", deserialize = "updateNewInlineQuery"))]
14717 NewInlineQuery(crate::types::UpdateNewInlineQuery),
14718 #[serde(rename(serialize = "updateNewChosenInlineResult", deserialize = "updateNewChosenInlineResult"))]
14720 NewChosenInlineResult(crate::types::UpdateNewChosenInlineResult),
14721 #[serde(rename(serialize = "updateNewCallbackQuery", deserialize = "updateNewCallbackQuery"))]
14723 NewCallbackQuery(crate::types::UpdateNewCallbackQuery),
14724 #[serde(rename(serialize = "updateNewInlineCallbackQuery", deserialize = "updateNewInlineCallbackQuery"))]
14726 NewInlineCallbackQuery(crate::types::UpdateNewInlineCallbackQuery),
14727 #[serde(rename(serialize = "updateNewShippingQuery", deserialize = "updateNewShippingQuery"))]
14729 NewShippingQuery(crate::types::UpdateNewShippingQuery),
14730 #[serde(rename(serialize = "updateNewPreCheckoutQuery", deserialize = "updateNewPreCheckoutQuery"))]
14732 NewPreCheckoutQuery(crate::types::UpdateNewPreCheckoutQuery),
14733 #[serde(rename(serialize = "updateNewCustomEvent", deserialize = "updateNewCustomEvent"))]
14735 NewCustomEvent(crate::types::UpdateNewCustomEvent),
14736 #[serde(rename(serialize = "updateNewCustomQuery", deserialize = "updateNewCustomQuery"))]
14738 NewCustomQuery(crate::types::UpdateNewCustomQuery),
14739 #[serde(rename(serialize = "updatePoll", deserialize = "updatePoll"))]
14741 Poll(crate::types::UpdatePoll),
14742 #[serde(rename(serialize = "updatePollAnswer", deserialize = "updatePollAnswer"))]
14744 PollAnswer(crate::types::UpdatePollAnswer),
14745 #[serde(rename(serialize = "updateChatMember", deserialize = "updateChatMember"))]
14747 ChatMember(crate::types::UpdateChatMember),
14748 #[serde(rename(serialize = "updateNewChatJoinRequest", deserialize = "updateNewChatJoinRequest"))]
14750 NewChatJoinRequest(crate::types::UpdateNewChatJoinRequest),
14751 }
14752 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14753 #[serde(tag = "@type")]
14754 pub enum Updates {
14755 #[serde(rename(serialize = "updates", deserialize = "updates"))]
14757 Updates(crate::types::Updates),
14758 }
14759 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14760 #[serde(tag = "@type")]
14761 pub enum LogStream {
14762 #[serde(rename(serialize = "logStreamDefault", deserialize = "logStreamDefault"))]
14764 Default,
14765 #[serde(rename(serialize = "logStreamFile", deserialize = "logStreamFile"))]
14767 File(crate::types::LogStreamFile),
14768 #[serde(rename(serialize = "logStreamEmpty", deserialize = "logStreamEmpty"))]
14770 Empty,
14771 }
14772 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14773 #[serde(tag = "@type")]
14774 pub enum LogVerbosityLevel {
14775 #[serde(rename(serialize = "logVerbosityLevel", deserialize = "logVerbosityLevel"))]
14777 LogVerbosityLevel(crate::types::LogVerbosityLevel),
14778 }
14779 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14780 #[serde(tag = "@type")]
14781 pub enum LogTags {
14782 #[serde(rename(serialize = "logTags", deserialize = "logTags"))]
14784 LogTags(crate::types::LogTags),
14785 }
14786 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14787 #[serde(tag = "@type")]
14788 pub enum UserSupportInfo {
14789 #[serde(rename(serialize = "userSupportInfo", deserialize = "userSupportInfo"))]
14791 UserSupportInfo(crate::types::UserSupportInfo),
14792 }
14793 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14794 #[serde(tag = "@type")]
14795 pub enum TestInt {
14796 #[serde(rename(serialize = "testInt", deserialize = "testInt"))]
14798 TestInt(crate::types::TestInt),
14799 }
14800 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14801 #[serde(tag = "@type")]
14802 pub enum TestString {
14803 #[serde(rename(serialize = "testString", deserialize = "testString"))]
14805 TestString(crate::types::TestString),
14806 }
14807 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14808 #[serde(tag = "@type")]
14809 pub enum TestBytes {
14810 #[serde(rename(serialize = "testBytes", deserialize = "testBytes"))]
14812 TestBytes(crate::types::TestBytes),
14813 }
14814 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14815 #[serde(tag = "@type")]
14816 pub enum TestVectorInt {
14817 #[serde(rename(serialize = "testVectorInt", deserialize = "testVectorInt"))]
14819 TestVectorInt(crate::types::TestVectorInt),
14820 }
14821 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14822 #[serde(tag = "@type")]
14823 pub enum TestVectorIntObject {
14824 #[serde(rename(serialize = "testVectorIntObject", deserialize = "testVectorIntObject"))]
14826 TestVectorIntObject(crate::types::TestVectorIntObject),
14827 }
14828 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14829 #[serde(tag = "@type")]
14830 pub enum TestVectorString {
14831 #[serde(rename(serialize = "testVectorString", deserialize = "testVectorString"))]
14833 TestVectorString(crate::types::TestVectorString),
14834 }
14835 #[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
14836 #[serde(tag = "@type")]
14837 pub enum TestVectorStringObject {
14838 #[serde(rename(serialize = "testVectorStringObject", deserialize = "testVectorStringObject"))]
14840 TestVectorStringObject(crate::types::TestVectorStringObject),
14841 }
14842}
14843pub mod functions {
14844 use serde_json::json;
14845 use crate::send_request;
14846 #[allow(clippy::too_many_arguments)]
14850 pub async fn get_authorization_state(client_id: i32) -> Result<crate::enums::AuthorizationState, crate::types::Error> {
14851 let request = json!({
14852 "@type": "getAuthorizationState",
14853 });
14854 let response = send_request(client_id, request).await;
14855 if response["@type"] == "error" {
14856 return Err(serde_json::from_value(response).unwrap())
14857 }
14858 Ok(serde_json::from_value(response).unwrap())
14859 }
14860 #[allow(clippy::too_many_arguments)]
14880 pub async fn set_tdlib_parameters(use_test_dc: bool, database_directory: String, files_directory: String, database_encryption_key: String, use_file_database: bool, use_chat_info_database: bool, use_message_database: bool, use_secret_chats: bool, api_id: i32, api_hash: String, system_language_code: String, device_model: String, system_version: String, application_version: String, enable_storage_optimizer: bool, ignore_file_names: bool, client_id: i32) -> Result<(), crate::types::Error> {
14881 let request = json!({
14882 "@type": "setTdlibParameters",
14883 "use_test_dc": use_test_dc,
14884 "database_directory": database_directory,
14885 "files_directory": files_directory,
14886 "database_encryption_key": database_encryption_key,
14887 "use_file_database": use_file_database,
14888 "use_chat_info_database": use_chat_info_database,
14889 "use_message_database": use_message_database,
14890 "use_secret_chats": use_secret_chats,
14891 "api_id": api_id,
14892 "api_hash": api_hash,
14893 "system_language_code": system_language_code,
14894 "device_model": device_model,
14895 "system_version": system_version,
14896 "application_version": application_version,
14897 "enable_storage_optimizer": enable_storage_optimizer,
14898 "ignore_file_names": ignore_file_names,
14899 });
14900 let response = send_request(client_id, request).await;
14901 if response["@type"] == "error" {
14902 return Err(serde_json::from_value(response).unwrap())
14903 }
14904 Ok(())
14905 }
14906 #[allow(clippy::too_many_arguments)]
14913 pub async fn set_authentication_phone_number(phone_number: String, settings: Option<crate::types::PhoneNumberAuthenticationSettings>, client_id: i32) -> Result<(), crate::types::Error> {
14914 let request = json!({
14915 "@type": "setAuthenticationPhoneNumber",
14916 "phone_number": phone_number,
14917 "settings": settings,
14918 });
14919 let response = send_request(client_id, request).await;
14920 if response["@type"] == "error" {
14921 return Err(serde_json::from_value(response).unwrap())
14922 }
14923 Ok(())
14924 }
14925 #[allow(clippy::too_many_arguments)]
14930 pub async fn set_authentication_email_address(email_address: String, client_id: i32) -> Result<(), crate::types::Error> {
14931 let request = json!({
14932 "@type": "setAuthenticationEmailAddress",
14933 "email_address": email_address,
14934 });
14935 let response = send_request(client_id, request).await;
14936 if response["@type"] == "error" {
14937 return Err(serde_json::from_value(response).unwrap())
14938 }
14939 Ok(())
14940 }
14941 #[allow(clippy::too_many_arguments)]
14946 pub async fn resend_authentication_code(client_id: i32) -> Result<(), crate::types::Error> {
14947 let request = json!({
14948 "@type": "resendAuthenticationCode",
14949 });
14950 let response = send_request(client_id, request).await;
14951 if response["@type"] == "error" {
14952 return Err(serde_json::from_value(response).unwrap())
14953 }
14954 Ok(())
14955 }
14956 #[allow(clippy::too_many_arguments)]
14961 pub async fn check_authentication_email_code(code: crate::enums::EmailAddressAuthentication, client_id: i32) -> Result<(), crate::types::Error> {
14962 let request = json!({
14963 "@type": "checkAuthenticationEmailCode",
14964 "code": code,
14965 });
14966 let response = send_request(client_id, request).await;
14967 if response["@type"] == "error" {
14968 return Err(serde_json::from_value(response).unwrap())
14969 }
14970 Ok(())
14971 }
14972 #[allow(clippy::too_many_arguments)]
14977 pub async fn check_authentication_code(code: String, client_id: i32) -> Result<(), crate::types::Error> {
14978 let request = json!({
14979 "@type": "checkAuthenticationCode",
14980 "code": code,
14981 });
14982 let response = send_request(client_id, request).await;
14983 if response["@type"] == "error" {
14984 return Err(serde_json::from_value(response).unwrap())
14985 }
14986 Ok(())
14987 }
14988 #[allow(clippy::too_many_arguments)]
14994 pub async fn request_qr_code_authentication(other_user_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
14995 let request = json!({
14996 "@type": "requestQrCodeAuthentication",
14997 "other_user_ids": other_user_ids,
14998 });
14999 let response = send_request(client_id, request).await;
15000 if response["@type"] == "error" {
15001 return Err(serde_json::from_value(response).unwrap())
15002 }
15003 Ok(())
15004 }
15005 #[allow(clippy::too_many_arguments)]
15011 pub async fn register_user(first_name: String, last_name: String, client_id: i32) -> Result<(), crate::types::Error> {
15012 let request = json!({
15013 "@type": "registerUser",
15014 "first_name": first_name,
15015 "last_name": last_name,
15016 });
15017 let response = send_request(client_id, request).await;
15018 if response["@type"] == "error" {
15019 return Err(serde_json::from_value(response).unwrap())
15020 }
15021 Ok(())
15022 }
15023 #[allow(clippy::too_many_arguments)]
15028 pub async fn reset_authentication_email_address(client_id: i32) -> Result<(), crate::types::Error> {
15029 let request = json!({
15030 "@type": "resetAuthenticationEmailAddress",
15031 });
15032 let response = send_request(client_id, request).await;
15033 if response["@type"] == "error" {
15034 return Err(serde_json::from_value(response).unwrap())
15035 }
15036 Ok(())
15037 }
15038 #[allow(clippy::too_many_arguments)]
15043 pub async fn check_authentication_password(password: String, client_id: i32) -> Result<(), crate::types::Error> {
15044 let request = json!({
15045 "@type": "checkAuthenticationPassword",
15046 "password": password,
15047 });
15048 let response = send_request(client_id, request).await;
15049 if response["@type"] == "error" {
15050 return Err(serde_json::from_value(response).unwrap())
15051 }
15052 Ok(())
15053 }
15054 #[allow(clippy::too_many_arguments)]
15058 pub async fn request_authentication_password_recovery(client_id: i32) -> Result<(), crate::types::Error> {
15059 let request = json!({
15060 "@type": "requestAuthenticationPasswordRecovery",
15061 });
15062 let response = send_request(client_id, request).await;
15063 if response["@type"] == "error" {
15064 return Err(serde_json::from_value(response).unwrap())
15065 }
15066 Ok(())
15067 }
15068 #[allow(clippy::too_many_arguments)]
15073 pub async fn check_authentication_password_recovery_code(recovery_code: String, client_id: i32) -> Result<(), crate::types::Error> {
15074 let request = json!({
15075 "@type": "checkAuthenticationPasswordRecoveryCode",
15076 "recovery_code": recovery_code,
15077 });
15078 let response = send_request(client_id, request).await;
15079 if response["@type"] == "error" {
15080 return Err(serde_json::from_value(response).unwrap())
15081 }
15082 Ok(())
15083 }
15084 #[allow(clippy::too_many_arguments)]
15091 pub async fn recover_authentication_password(recovery_code: String, new_password: String, new_hint: String, client_id: i32) -> Result<(), crate::types::Error> {
15092 let request = json!({
15093 "@type": "recoverAuthenticationPassword",
15094 "recovery_code": recovery_code,
15095 "new_password": new_password,
15096 "new_hint": new_hint,
15097 });
15098 let response = send_request(client_id, request).await;
15099 if response["@type"] == "error" {
15100 return Err(serde_json::from_value(response).unwrap())
15101 }
15102 Ok(())
15103 }
15104 #[allow(clippy::too_many_arguments)]
15109 pub async fn send_authentication_firebase_sms(token: String, client_id: i32) -> Result<(), crate::types::Error> {
15110 let request = json!({
15111 "@type": "sendAuthenticationFirebaseSms",
15112 "token": token,
15113 });
15114 let response = send_request(client_id, request).await;
15115 if response["@type"] == "error" {
15116 return Err(serde_json::from_value(response).unwrap())
15117 }
15118 Ok(())
15119 }
15120 #[allow(clippy::too_many_arguments)]
15125 pub async fn check_authentication_bot_token(token: String, client_id: i32) -> Result<(), crate::types::Error> {
15126 let request = json!({
15127 "@type": "checkAuthenticationBotToken",
15128 "token": token,
15129 });
15130 let response = send_request(client_id, request).await;
15131 if response["@type"] == "error" {
15132 return Err(serde_json::from_value(response).unwrap())
15133 }
15134 Ok(())
15135 }
15136 #[allow(clippy::too_many_arguments)]
15140 pub async fn log_out(client_id: i32) -> Result<(), crate::types::Error> {
15141 let request = json!({
15142 "@type": "logOut",
15143 });
15144 let response = send_request(client_id, request).await;
15145 if response["@type"] == "error" {
15146 return Err(serde_json::from_value(response).unwrap())
15147 }
15148 Ok(())
15149 }
15150 #[allow(clippy::too_many_arguments)]
15154 pub async fn close(client_id: i32) -> Result<(), crate::types::Error> {
15155 let request = json!({
15156 "@type": "close",
15157 });
15158 let response = send_request(client_id, request).await;
15159 if response["@type"] == "error" {
15160 return Err(serde_json::from_value(response).unwrap())
15161 }
15162 Ok(())
15163 }
15164 #[allow(clippy::too_many_arguments)]
15169 pub async fn destroy(client_id: i32) -> Result<(), crate::types::Error> {
15170 let request = json!({
15171 "@type": "destroy",
15172 });
15173 let response = send_request(client_id, request).await;
15174 if response["@type"] == "error" {
15175 return Err(serde_json::from_value(response).unwrap())
15176 }
15177 Ok(())
15178 }
15179 #[allow(clippy::too_many_arguments)]
15184 pub async fn confirm_qr_code_authentication(link: String, client_id: i32) -> Result<crate::enums::Session, crate::types::Error> {
15185 let request = json!({
15186 "@type": "confirmQrCodeAuthentication",
15187 "link": link,
15188 });
15189 let response = send_request(client_id, request).await;
15190 if response["@type"] == "error" {
15191 return Err(serde_json::from_value(response).unwrap())
15192 }
15193 Ok(serde_json::from_value(response).unwrap())
15194 }
15195 #[allow(clippy::too_many_arguments)]
15199 pub async fn get_current_state(client_id: i32) -> Result<crate::enums::Updates, crate::types::Error> {
15200 let request = json!({
15201 "@type": "getCurrentState",
15202 });
15203 let response = send_request(client_id, request).await;
15204 if response["@type"] == "error" {
15205 return Err(serde_json::from_value(response).unwrap())
15206 }
15207 Ok(serde_json::from_value(response).unwrap())
15208 }
15209 #[allow(clippy::too_many_arguments)]
15214 pub async fn set_database_encryption_key(new_encryption_key: String, client_id: i32) -> Result<(), crate::types::Error> {
15215 let request = json!({
15216 "@type": "setDatabaseEncryptionKey",
15217 "new_encryption_key": new_encryption_key,
15218 });
15219 let response = send_request(client_id, request).await;
15220 if response["@type"] == "error" {
15221 return Err(serde_json::from_value(response).unwrap())
15222 }
15223 Ok(())
15224 }
15225 #[allow(clippy::too_many_arguments)]
15229 pub async fn get_password_state(client_id: i32) -> Result<crate::enums::PasswordState, crate::types::Error> {
15230 let request = json!({
15231 "@type": "getPasswordState",
15232 });
15233 let response = send_request(client_id, request).await;
15234 if response["@type"] == "error" {
15235 return Err(serde_json::from_value(response).unwrap())
15236 }
15237 Ok(serde_json::from_value(response).unwrap())
15238 }
15239 #[allow(clippy::too_many_arguments)]
15248 pub async fn set_password(old_password: String, new_password: String, new_hint: String, set_recovery_email_address: bool, new_recovery_email_address: String, client_id: i32) -> Result<crate::enums::PasswordState, crate::types::Error> {
15249 let request = json!({
15250 "@type": "setPassword",
15251 "old_password": old_password,
15252 "new_password": new_password,
15253 "new_hint": new_hint,
15254 "set_recovery_email_address": set_recovery_email_address,
15255 "new_recovery_email_address": new_recovery_email_address,
15256 });
15257 let response = send_request(client_id, request).await;
15258 if response["@type"] == "error" {
15259 return Err(serde_json::from_value(response).unwrap())
15260 }
15261 Ok(serde_json::from_value(response).unwrap())
15262 }
15263 #[allow(clippy::too_many_arguments)]
15269 pub async fn set_login_email_address(new_login_email_address: String, client_id: i32) -> Result<crate::enums::EmailAddressAuthenticationCodeInfo, crate::types::Error> {
15270 let request = json!({
15271 "@type": "setLoginEmailAddress",
15272 "new_login_email_address": new_login_email_address,
15273 });
15274 let response = send_request(client_id, request).await;
15275 if response["@type"] == "error" {
15276 return Err(serde_json::from_value(response).unwrap())
15277 }
15278 Ok(serde_json::from_value(response).unwrap())
15279 }
15280 #[allow(clippy::too_many_arguments)]
15284 pub async fn resend_login_email_address_code(client_id: i32) -> Result<crate::enums::EmailAddressAuthenticationCodeInfo, crate::types::Error> {
15285 let request = json!({
15286 "@type": "resendLoginEmailAddressCode",
15287 });
15288 let response = send_request(client_id, request).await;
15289 if response["@type"] == "error" {
15290 return Err(serde_json::from_value(response).unwrap())
15291 }
15292 Ok(serde_json::from_value(response).unwrap())
15293 }
15294 #[allow(clippy::too_many_arguments)]
15299 pub async fn check_login_email_address_code(code: crate::enums::EmailAddressAuthentication, client_id: i32) -> Result<(), crate::types::Error> {
15300 let request = json!({
15301 "@type": "checkLoginEmailAddressCode",
15302 "code": code,
15303 });
15304 let response = send_request(client_id, request).await;
15305 if response["@type"] == "error" {
15306 return Err(serde_json::from_value(response).unwrap())
15307 }
15308 Ok(())
15309 }
15310 #[allow(clippy::too_many_arguments)]
15315 pub async fn get_recovery_email_address(password: String, client_id: i32) -> Result<crate::enums::RecoveryEmailAddress, crate::types::Error> {
15316 let request = json!({
15317 "@type": "getRecoveryEmailAddress",
15318 "password": password,
15319 });
15320 let response = send_request(client_id, request).await;
15321 if response["@type"] == "error" {
15322 return Err(serde_json::from_value(response).unwrap())
15323 }
15324 Ok(serde_json::from_value(response).unwrap())
15325 }
15326 #[allow(clippy::too_many_arguments)]
15333 pub async fn set_recovery_email_address(password: String, new_recovery_email_address: String, client_id: i32) -> Result<crate::enums::PasswordState, crate::types::Error> {
15334 let request = json!({
15335 "@type": "setRecoveryEmailAddress",
15336 "password": password,
15337 "new_recovery_email_address": new_recovery_email_address,
15338 });
15339 let response = send_request(client_id, request).await;
15340 if response["@type"] == "error" {
15341 return Err(serde_json::from_value(response).unwrap())
15342 }
15343 Ok(serde_json::from_value(response).unwrap())
15344 }
15345 #[allow(clippy::too_many_arguments)]
15350 pub async fn check_recovery_email_address_code(code: String, client_id: i32) -> Result<crate::enums::PasswordState, crate::types::Error> {
15351 let request = json!({
15352 "@type": "checkRecoveryEmailAddressCode",
15353 "code": code,
15354 });
15355 let response = send_request(client_id, request).await;
15356 if response["@type"] == "error" {
15357 return Err(serde_json::from_value(response).unwrap())
15358 }
15359 Ok(serde_json::from_value(response).unwrap())
15360 }
15361 #[allow(clippy::too_many_arguments)]
15365 pub async fn resend_recovery_email_address_code(client_id: i32) -> Result<crate::enums::PasswordState, crate::types::Error> {
15366 let request = json!({
15367 "@type": "resendRecoveryEmailAddressCode",
15368 });
15369 let response = send_request(client_id, request).await;
15370 if response["@type"] == "error" {
15371 return Err(serde_json::from_value(response).unwrap())
15372 }
15373 Ok(serde_json::from_value(response).unwrap())
15374 }
15375 #[allow(clippy::too_many_arguments)]
15379 pub async fn request_password_recovery(client_id: i32) -> Result<crate::enums::EmailAddressAuthenticationCodeInfo, crate::types::Error> {
15380 let request = json!({
15381 "@type": "requestPasswordRecovery",
15382 });
15383 let response = send_request(client_id, request).await;
15384 if response["@type"] == "error" {
15385 return Err(serde_json::from_value(response).unwrap())
15386 }
15387 Ok(serde_json::from_value(response).unwrap())
15388 }
15389 #[allow(clippy::too_many_arguments)]
15394 pub async fn check_password_recovery_code(recovery_code: String, client_id: i32) -> Result<(), crate::types::Error> {
15395 let request = json!({
15396 "@type": "checkPasswordRecoveryCode",
15397 "recovery_code": recovery_code,
15398 });
15399 let response = send_request(client_id, request).await;
15400 if response["@type"] == "error" {
15401 return Err(serde_json::from_value(response).unwrap())
15402 }
15403 Ok(())
15404 }
15405 #[allow(clippy::too_many_arguments)]
15412 pub async fn recover_password(recovery_code: String, new_password: String, new_hint: String, client_id: i32) -> Result<crate::enums::PasswordState, crate::types::Error> {
15413 let request = json!({
15414 "@type": "recoverPassword",
15415 "recovery_code": recovery_code,
15416 "new_password": new_password,
15417 "new_hint": new_hint,
15418 });
15419 let response = send_request(client_id, request).await;
15420 if response["@type"] == "error" {
15421 return Err(serde_json::from_value(response).unwrap())
15422 }
15423 Ok(serde_json::from_value(response).unwrap())
15424 }
15425 #[allow(clippy::too_many_arguments)]
15429 pub async fn reset_password(client_id: i32) -> Result<crate::enums::ResetPasswordResult, crate::types::Error> {
15430 let request = json!({
15431 "@type": "resetPassword",
15432 });
15433 let response = send_request(client_id, request).await;
15434 if response["@type"] == "error" {
15435 return Err(serde_json::from_value(response).unwrap())
15436 }
15437 Ok(serde_json::from_value(response).unwrap())
15438 }
15439 #[allow(clippy::too_many_arguments)]
15443 pub async fn cancel_password_reset(client_id: i32) -> Result<(), crate::types::Error> {
15444 let request = json!({
15445 "@type": "cancelPasswordReset",
15446 });
15447 let response = send_request(client_id, request).await;
15448 if response["@type"] == "error" {
15449 return Err(serde_json::from_value(response).unwrap())
15450 }
15451 Ok(())
15452 }
15453 #[allow(clippy::too_many_arguments)]
15459 pub async fn create_temporary_password(password: String, valid_for: i32, client_id: i32) -> Result<crate::enums::TemporaryPasswordState, crate::types::Error> {
15460 let request = json!({
15461 "@type": "createTemporaryPassword",
15462 "password": password,
15463 "valid_for": valid_for,
15464 });
15465 let response = send_request(client_id, request).await;
15466 if response["@type"] == "error" {
15467 return Err(serde_json::from_value(response).unwrap())
15468 }
15469 Ok(serde_json::from_value(response).unwrap())
15470 }
15471 #[allow(clippy::too_many_arguments)]
15475 pub async fn get_temporary_password_state(client_id: i32) -> Result<crate::enums::TemporaryPasswordState, crate::types::Error> {
15476 let request = json!({
15477 "@type": "getTemporaryPasswordState",
15478 });
15479 let response = send_request(client_id, request).await;
15480 if response["@type"] == "error" {
15481 return Err(serde_json::from_value(response).unwrap())
15482 }
15483 Ok(serde_json::from_value(response).unwrap())
15484 }
15485 #[allow(clippy::too_many_arguments)]
15489 pub async fn get_me(client_id: i32) -> Result<crate::enums::User, crate::types::Error> {
15490 let request = json!({
15491 "@type": "getMe",
15492 });
15493 let response = send_request(client_id, request).await;
15494 if response["@type"] == "error" {
15495 return Err(serde_json::from_value(response).unwrap())
15496 }
15497 Ok(serde_json::from_value(response).unwrap())
15498 }
15499 #[allow(clippy::too_many_arguments)]
15504 pub async fn get_user(user_id: i64, client_id: i32) -> Result<crate::enums::User, crate::types::Error> {
15505 let request = json!({
15506 "@type": "getUser",
15507 "user_id": user_id,
15508 });
15509 let response = send_request(client_id, request).await;
15510 if response["@type"] == "error" {
15511 return Err(serde_json::from_value(response).unwrap())
15512 }
15513 Ok(serde_json::from_value(response).unwrap())
15514 }
15515 #[allow(clippy::too_many_arguments)]
15520 pub async fn get_user_full_info(user_id: i64, client_id: i32) -> Result<crate::enums::UserFullInfo, crate::types::Error> {
15521 let request = json!({
15522 "@type": "getUserFullInfo",
15523 "user_id": user_id,
15524 });
15525 let response = send_request(client_id, request).await;
15526 if response["@type"] == "error" {
15527 return Err(serde_json::from_value(response).unwrap())
15528 }
15529 Ok(serde_json::from_value(response).unwrap())
15530 }
15531 #[allow(clippy::too_many_arguments)]
15536 pub async fn get_basic_group(basic_group_id: i64, client_id: i32) -> Result<crate::enums::BasicGroup, crate::types::Error> {
15537 let request = json!({
15538 "@type": "getBasicGroup",
15539 "basic_group_id": basic_group_id,
15540 });
15541 let response = send_request(client_id, request).await;
15542 if response["@type"] == "error" {
15543 return Err(serde_json::from_value(response).unwrap())
15544 }
15545 Ok(serde_json::from_value(response).unwrap())
15546 }
15547 #[allow(clippy::too_many_arguments)]
15552 pub async fn get_basic_group_full_info(basic_group_id: i64, client_id: i32) -> Result<crate::enums::BasicGroupFullInfo, crate::types::Error> {
15553 let request = json!({
15554 "@type": "getBasicGroupFullInfo",
15555 "basic_group_id": basic_group_id,
15556 });
15557 let response = send_request(client_id, request).await;
15558 if response["@type"] == "error" {
15559 return Err(serde_json::from_value(response).unwrap())
15560 }
15561 Ok(serde_json::from_value(response).unwrap())
15562 }
15563 #[allow(clippy::too_many_arguments)]
15568 pub async fn get_supergroup(supergroup_id: i64, client_id: i32) -> Result<crate::enums::Supergroup, crate::types::Error> {
15569 let request = json!({
15570 "@type": "getSupergroup",
15571 "supergroup_id": supergroup_id,
15572 });
15573 let response = send_request(client_id, request).await;
15574 if response["@type"] == "error" {
15575 return Err(serde_json::from_value(response).unwrap())
15576 }
15577 Ok(serde_json::from_value(response).unwrap())
15578 }
15579 #[allow(clippy::too_many_arguments)]
15584 pub async fn get_supergroup_full_info(supergroup_id: i64, client_id: i32) -> Result<crate::enums::SupergroupFullInfo, crate::types::Error> {
15585 let request = json!({
15586 "@type": "getSupergroupFullInfo",
15587 "supergroup_id": supergroup_id,
15588 });
15589 let response = send_request(client_id, request).await;
15590 if response["@type"] == "error" {
15591 return Err(serde_json::from_value(response).unwrap())
15592 }
15593 Ok(serde_json::from_value(response).unwrap())
15594 }
15595 #[allow(clippy::too_many_arguments)]
15600 pub async fn get_secret_chat(secret_chat_id: i32, client_id: i32) -> Result<crate::enums::SecretChat, crate::types::Error> {
15601 let request = json!({
15602 "@type": "getSecretChat",
15603 "secret_chat_id": secret_chat_id,
15604 });
15605 let response = send_request(client_id, request).await;
15606 if response["@type"] == "error" {
15607 return Err(serde_json::from_value(response).unwrap())
15608 }
15609 Ok(serde_json::from_value(response).unwrap())
15610 }
15611 #[allow(clippy::too_many_arguments)]
15616 pub async fn get_chat(chat_id: i64, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
15617 let request = json!({
15618 "@type": "getChat",
15619 "chat_id": chat_id,
15620 });
15621 let response = send_request(client_id, request).await;
15622 if response["@type"] == "error" {
15623 return Err(serde_json::from_value(response).unwrap())
15624 }
15625 Ok(serde_json::from_value(response).unwrap())
15626 }
15627 #[allow(clippy::too_many_arguments)]
15633 pub async fn get_message(chat_id: i64, message_id: i64, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
15634 let request = json!({
15635 "@type": "getMessage",
15636 "chat_id": chat_id,
15637 "message_id": message_id,
15638 });
15639 let response = send_request(client_id, request).await;
15640 if response["@type"] == "error" {
15641 return Err(serde_json::from_value(response).unwrap())
15642 }
15643 Ok(serde_json::from_value(response).unwrap())
15644 }
15645 #[allow(clippy::too_many_arguments)]
15651 pub async fn get_message_locally(chat_id: i64, message_id: i64, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
15652 let request = json!({
15653 "@type": "getMessageLocally",
15654 "chat_id": chat_id,
15655 "message_id": message_id,
15656 });
15657 let response = send_request(client_id, request).await;
15658 if response["@type"] == "error" {
15659 return Err(serde_json::from_value(response).unwrap())
15660 }
15661 Ok(serde_json::from_value(response).unwrap())
15662 }
15663 #[allow(clippy::too_many_arguments)]
15670 pub async fn get_replied_message(chat_id: i64, message_id: i64, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
15671 let request = json!({
15672 "@type": "getRepliedMessage",
15673 "chat_id": chat_id,
15674 "message_id": message_id,
15675 });
15676 let response = send_request(client_id, request).await;
15677 if response["@type"] == "error" {
15678 return Err(serde_json::from_value(response).unwrap())
15679 }
15680 Ok(serde_json::from_value(response).unwrap())
15681 }
15682 #[allow(clippy::too_many_arguments)]
15687 pub async fn get_chat_pinned_message(chat_id: i64, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
15688 let request = json!({
15689 "@type": "getChatPinnedMessage",
15690 "chat_id": chat_id,
15691 });
15692 let response = send_request(client_id, request).await;
15693 if response["@type"] == "error" {
15694 return Err(serde_json::from_value(response).unwrap())
15695 }
15696 Ok(serde_json::from_value(response).unwrap())
15697 }
15698 #[allow(clippy::too_many_arguments)]
15705 pub async fn get_callback_query_message(chat_id: i64, message_id: i64, callback_query_id: i64, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
15706 let request = json!({
15707 "@type": "getCallbackQueryMessage",
15708 "chat_id": chat_id,
15709 "message_id": message_id,
15710 "callback_query_id": callback_query_id,
15711 });
15712 let response = send_request(client_id, request).await;
15713 if response["@type"] == "error" {
15714 return Err(serde_json::from_value(response).unwrap())
15715 }
15716 Ok(serde_json::from_value(response).unwrap())
15717 }
15718 #[allow(clippy::too_many_arguments)]
15724 pub async fn get_messages(chat_id: i64, message_ids: Vec<i64>, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
15725 let request = json!({
15726 "@type": "getMessages",
15727 "chat_id": chat_id,
15728 "message_ids": message_ids,
15729 });
15730 let response = send_request(client_id, request).await;
15731 if response["@type"] == "error" {
15732 return Err(serde_json::from_value(response).unwrap())
15733 }
15734 Ok(serde_json::from_value(response).unwrap())
15735 }
15736 #[allow(clippy::too_many_arguments)]
15742 pub async fn get_message_thread(chat_id: i64, message_id: i64, client_id: i32) -> Result<crate::enums::MessageThreadInfo, crate::types::Error> {
15743 let request = json!({
15744 "@type": "getMessageThread",
15745 "chat_id": chat_id,
15746 "message_id": message_id,
15747 });
15748 let response = send_request(client_id, request).await;
15749 if response["@type"] == "error" {
15750 return Err(serde_json::from_value(response).unwrap())
15751 }
15752 Ok(serde_json::from_value(response).unwrap())
15753 }
15754 #[allow(clippy::too_many_arguments)]
15760 pub async fn get_message_viewers(chat_id: i64, message_id: i64, client_id: i32) -> Result<crate::enums::MessageViewers, crate::types::Error> {
15761 let request = json!({
15762 "@type": "getMessageViewers",
15763 "chat_id": chat_id,
15764 "message_id": message_id,
15765 });
15766 let response = send_request(client_id, request).await;
15767 if response["@type"] == "error" {
15768 return Err(serde_json::from_value(response).unwrap())
15769 }
15770 Ok(serde_json::from_value(response).unwrap())
15771 }
15772 #[allow(clippy::too_many_arguments)]
15777 pub async fn get_file(file_id: i32, client_id: i32) -> Result<crate::enums::File, crate::types::Error> {
15778 let request = json!({
15779 "@type": "getFile",
15780 "file_id": file_id,
15781 });
15782 let response = send_request(client_id, request).await;
15783 if response["@type"] == "error" {
15784 return Err(serde_json::from_value(response).unwrap())
15785 }
15786 Ok(serde_json::from_value(response).unwrap())
15787 }
15788 #[allow(clippy::too_many_arguments)]
15795 pub async fn get_remote_file(remote_file_id: String, file_type: Option<crate::enums::FileType>, client_id: i32) -> Result<crate::enums::File, crate::types::Error> {
15796 let request = json!({
15797 "@type": "getRemoteFile",
15798 "remote_file_id": remote_file_id,
15799 "file_type": file_type,
15800 });
15801 let response = send_request(client_id, request).await;
15802 if response["@type"] == "error" {
15803 return Err(serde_json::from_value(response).unwrap())
15804 }
15805 Ok(serde_json::from_value(response).unwrap())
15806 }
15807 #[allow(clippy::too_many_arguments)]
15813 pub async fn load_chats(chat_list: Option<crate::enums::ChatList>, limit: i32, client_id: i32) -> Result<(), crate::types::Error> {
15814 let request = json!({
15815 "@type": "loadChats",
15816 "chat_list": chat_list,
15817 "limit": limit,
15818 });
15819 let response = send_request(client_id, request).await;
15820 if response["@type"] == "error" {
15821 return Err(serde_json::from_value(response).unwrap())
15822 }
15823 Ok(())
15824 }
15825 #[allow(clippy::too_many_arguments)]
15831 pub async fn get_chats(chat_list: Option<crate::enums::ChatList>, limit: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
15832 let request = json!({
15833 "@type": "getChats",
15834 "chat_list": chat_list,
15835 "limit": limit,
15836 });
15837 let response = send_request(client_id, request).await;
15838 if response["@type"] == "error" {
15839 return Err(serde_json::from_value(response).unwrap())
15840 }
15841 Ok(serde_json::from_value(response).unwrap())
15842 }
15843 #[allow(clippy::too_many_arguments)]
15848 pub async fn search_public_chat(username: String, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
15849 let request = json!({
15850 "@type": "searchPublicChat",
15851 "username": username,
15852 });
15853 let response = send_request(client_id, request).await;
15854 if response["@type"] == "error" {
15855 return Err(serde_json::from_value(response).unwrap())
15856 }
15857 Ok(serde_json::from_value(response).unwrap())
15858 }
15859 #[allow(clippy::too_many_arguments)]
15865 pub async fn search_public_chats(query: String, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
15866 let request = json!({
15867 "@type": "searchPublicChats",
15868 "query": query,
15869 });
15870 let response = send_request(client_id, request).await;
15871 if response["@type"] == "error" {
15872 return Err(serde_json::from_value(response).unwrap())
15873 }
15874 Ok(serde_json::from_value(response).unwrap())
15875 }
15876 #[allow(clippy::too_many_arguments)]
15882 pub async fn search_chats(query: String, limit: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
15883 let request = json!({
15884 "@type": "searchChats",
15885 "query": query,
15886 "limit": limit,
15887 });
15888 let response = send_request(client_id, request).await;
15889 if response["@type"] == "error" {
15890 return Err(serde_json::from_value(response).unwrap())
15891 }
15892 Ok(serde_json::from_value(response).unwrap())
15893 }
15894 #[allow(clippy::too_many_arguments)]
15900 pub async fn search_chats_on_server(query: String, limit: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
15901 let request = json!({
15902 "@type": "searchChatsOnServer",
15903 "query": query,
15904 "limit": limit,
15905 });
15906 let response = send_request(client_id, request).await;
15907 if response["@type"] == "error" {
15908 return Err(serde_json::from_value(response).unwrap())
15909 }
15910 Ok(serde_json::from_value(response).unwrap())
15911 }
15912 #[allow(clippy::too_many_arguments)]
15918 pub async fn search_chats_nearby(location: crate::types::Location, client_id: i32) -> Result<crate::enums::ChatsNearby, crate::types::Error> {
15919 let request = json!({
15920 "@type": "searchChatsNearby",
15921 "location": location,
15922 });
15923 let response = send_request(client_id, request).await;
15924 if response["@type"] == "error" {
15925 return Err(serde_json::from_value(response).unwrap())
15926 }
15927 Ok(serde_json::from_value(response).unwrap())
15928 }
15929 #[allow(clippy::too_many_arguments)]
15935 pub async fn get_top_chats(category: crate::enums::TopChatCategory, limit: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
15936 let request = json!({
15937 "@type": "getTopChats",
15938 "category": category,
15939 "limit": limit,
15940 });
15941 let response = send_request(client_id, request).await;
15942 if response["@type"] == "error" {
15943 return Err(serde_json::from_value(response).unwrap())
15944 }
15945 Ok(serde_json::from_value(response).unwrap())
15946 }
15947 #[allow(clippy::too_many_arguments)]
15953 pub async fn remove_top_chat(category: crate::enums::TopChatCategory, chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
15954 let request = json!({
15955 "@type": "removeTopChat",
15956 "category": category,
15957 "chat_id": chat_id,
15958 });
15959 let response = send_request(client_id, request).await;
15960 if response["@type"] == "error" {
15961 return Err(serde_json::from_value(response).unwrap())
15962 }
15963 Ok(())
15964 }
15965 #[allow(clippy::too_many_arguments)]
15971 pub async fn search_recently_found_chats(query: String, limit: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
15972 let request = json!({
15973 "@type": "searchRecentlyFoundChats",
15974 "query": query,
15975 "limit": limit,
15976 });
15977 let response = send_request(client_id, request).await;
15978 if response["@type"] == "error" {
15979 return Err(serde_json::from_value(response).unwrap())
15980 }
15981 Ok(serde_json::from_value(response).unwrap())
15982 }
15983 #[allow(clippy::too_many_arguments)]
15988 pub async fn add_recently_found_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
15989 let request = json!({
15990 "@type": "addRecentlyFoundChat",
15991 "chat_id": chat_id,
15992 });
15993 let response = send_request(client_id, request).await;
15994 if response["@type"] == "error" {
15995 return Err(serde_json::from_value(response).unwrap())
15996 }
15997 Ok(())
15998 }
15999 #[allow(clippy::too_many_arguments)]
16004 pub async fn remove_recently_found_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
16005 let request = json!({
16006 "@type": "removeRecentlyFoundChat",
16007 "chat_id": chat_id,
16008 });
16009 let response = send_request(client_id, request).await;
16010 if response["@type"] == "error" {
16011 return Err(serde_json::from_value(response).unwrap())
16012 }
16013 Ok(())
16014 }
16015 #[allow(clippy::too_many_arguments)]
16019 pub async fn clear_recently_found_chats(client_id: i32) -> Result<(), crate::types::Error> {
16020 let request = json!({
16021 "@type": "clearRecentlyFoundChats",
16022 });
16023 let response = send_request(client_id, request).await;
16024 if response["@type"] == "error" {
16025 return Err(serde_json::from_value(response).unwrap())
16026 }
16027 Ok(())
16028 }
16029 #[allow(clippy::too_many_arguments)]
16034 pub async fn get_recently_opened_chats(limit: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
16035 let request = json!({
16036 "@type": "getRecentlyOpenedChats",
16037 "limit": limit,
16038 });
16039 let response = send_request(client_id, request).await;
16040 if response["@type"] == "error" {
16041 return Err(serde_json::from_value(response).unwrap())
16042 }
16043 Ok(serde_json::from_value(response).unwrap())
16044 }
16045 #[allow(clippy::too_many_arguments)]
16051 pub async fn check_chat_username(chat_id: i64, username: String, client_id: i32) -> Result<crate::enums::CheckChatUsernameResult, crate::types::Error> {
16052 let request = json!({
16053 "@type": "checkChatUsername",
16054 "chat_id": chat_id,
16055 "username": username,
16056 });
16057 let response = send_request(client_id, request).await;
16058 if response["@type"] == "error" {
16059 return Err(serde_json::from_value(response).unwrap())
16060 }
16061 Ok(serde_json::from_value(response).unwrap())
16062 }
16063 #[allow(clippy::too_many_arguments)]
16068 pub async fn get_created_public_chats(r#type: crate::enums::PublicChatType, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
16069 let request = json!({
16070 "@type": "getCreatedPublicChats",
16071 "type": r#type,
16072 });
16073 let response = send_request(client_id, request).await;
16074 if response["@type"] == "error" {
16075 return Err(serde_json::from_value(response).unwrap())
16076 }
16077 Ok(serde_json::from_value(response).unwrap())
16078 }
16079 #[allow(clippy::too_many_arguments)]
16084 pub async fn check_created_public_chats_limit(r#type: crate::enums::PublicChatType, client_id: i32) -> Result<(), crate::types::Error> {
16085 let request = json!({
16086 "@type": "checkCreatedPublicChatsLimit",
16087 "type": r#type,
16088 });
16089 let response = send_request(client_id, request).await;
16090 if response["@type"] == "error" {
16091 return Err(serde_json::from_value(response).unwrap())
16092 }
16093 Ok(())
16094 }
16095 #[allow(clippy::too_many_arguments)]
16100 pub async fn get_suitable_discussion_chats(client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
16101 let request = json!({
16102 "@type": "getSuitableDiscussionChats",
16103 });
16104 let response = send_request(client_id, request).await;
16105 if response["@type"] == "error" {
16106 return Err(serde_json::from_value(response).unwrap())
16107 }
16108 Ok(serde_json::from_value(response).unwrap())
16109 }
16110 #[allow(clippy::too_many_arguments)]
16114 pub async fn get_inactive_supergroup_chats(client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
16115 let request = json!({
16116 "@type": "getInactiveSupergroupChats",
16117 });
16118 let response = send_request(client_id, request).await;
16119 if response["@type"] == "error" {
16120 return Err(serde_json::from_value(response).unwrap())
16121 }
16122 Ok(serde_json::from_value(response).unwrap())
16123 }
16124 #[allow(clippy::too_many_arguments)]
16131 pub async fn get_groups_in_common(user_id: i64, offset_chat_id: i64, limit: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
16132 let request = json!({
16133 "@type": "getGroupsInCommon",
16134 "user_id": user_id,
16135 "offset_chat_id": offset_chat_id,
16136 "limit": limit,
16137 });
16138 let response = send_request(client_id, request).await;
16139 if response["@type"] == "error" {
16140 return Err(serde_json::from_value(response).unwrap())
16141 }
16142 Ok(serde_json::from_value(response).unwrap())
16143 }
16144 #[allow(clippy::too_many_arguments)]
16155 pub async fn get_chat_history(chat_id: i64, from_message_id: i64, offset: i32, limit: i32, only_local: bool, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16156 let request = json!({
16157 "@type": "getChatHistory",
16158 "chat_id": chat_id,
16159 "from_message_id": from_message_id,
16160 "offset": offset,
16161 "limit": limit,
16162 "only_local": only_local,
16163 });
16164 let response = send_request(client_id, request).await;
16165 if response["@type"] == "error" {
16166 return Err(serde_json::from_value(response).unwrap())
16167 }
16168 Ok(serde_json::from_value(response).unwrap())
16169 }
16170 #[allow(clippy::too_many_arguments)]
16181 pub async fn get_message_thread_history(chat_id: i64, message_id: i64, from_message_id: i64, offset: i32, limit: i32, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16182 let request = json!({
16183 "@type": "getMessageThreadHistory",
16184 "chat_id": chat_id,
16185 "message_id": message_id,
16186 "from_message_id": from_message_id,
16187 "offset": offset,
16188 "limit": limit,
16189 });
16190 let response = send_request(client_id, request).await;
16191 if response["@type"] == "error" {
16192 return Err(serde_json::from_value(response).unwrap())
16193 }
16194 Ok(serde_json::from_value(response).unwrap())
16195 }
16196 #[allow(clippy::too_many_arguments)]
16203 pub async fn delete_chat_history(chat_id: i64, remove_from_chat_list: bool, revoke: bool, client_id: i32) -> Result<(), crate::types::Error> {
16204 let request = json!({
16205 "@type": "deleteChatHistory",
16206 "chat_id": chat_id,
16207 "remove_from_chat_list": remove_from_chat_list,
16208 "revoke": revoke,
16209 });
16210 let response = send_request(client_id, request).await;
16211 if response["@type"] == "error" {
16212 return Err(serde_json::from_value(response).unwrap())
16213 }
16214 Ok(())
16215 }
16216 #[allow(clippy::too_many_arguments)]
16222 pub async fn delete_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
16223 let request = json!({
16224 "@type": "deleteChat",
16225 "chat_id": chat_id,
16226 });
16227 let response = send_request(client_id, request).await;
16228 if response["@type"] == "error" {
16229 return Err(serde_json::from_value(response).unwrap())
16230 }
16231 Ok(())
16232 }
16233 #[allow(clippy::too_many_arguments)]
16248 pub async fn search_chat_messages(chat_id: i64, query: String, sender_id: Option<crate::enums::MessageSender>, from_message_id: i64, offset: i32, limit: i32, filter: Option<crate::enums::SearchMessagesFilter>, message_thread_id: i64, client_id: i32) -> Result<crate::enums::FoundChatMessages, crate::types::Error> {
16249 let request = json!({
16250 "@type": "searchChatMessages",
16251 "chat_id": chat_id,
16252 "query": query,
16253 "sender_id": sender_id,
16254 "from_message_id": from_message_id,
16255 "offset": offset,
16256 "limit": limit,
16257 "filter": filter,
16258 "message_thread_id": message_thread_id,
16259 });
16260 let response = send_request(client_id, request).await;
16261 if response["@type"] == "error" {
16262 return Err(serde_json::from_value(response).unwrap())
16263 }
16264 Ok(serde_json::from_value(response).unwrap())
16265 }
16266 #[allow(clippy::too_many_arguments)]
16278 pub async fn search_messages(chat_list: Option<crate::enums::ChatList>, query: String, offset: String, limit: i32, filter: Option<crate::enums::SearchMessagesFilter>, min_date: i32, max_date: i32, client_id: i32) -> Result<crate::enums::FoundMessages, crate::types::Error> {
16279 let request = json!({
16280 "@type": "searchMessages",
16281 "chat_list": chat_list,
16282 "query": query,
16283 "offset": offset,
16284 "limit": limit,
16285 "filter": filter,
16286 "min_date": min_date,
16287 "max_date": max_date,
16288 });
16289 let response = send_request(client_id, request).await;
16290 if response["@type"] == "error" {
16291 return Err(serde_json::from_value(response).unwrap())
16292 }
16293 Ok(serde_json::from_value(response).unwrap())
16294 }
16295 #[allow(clippy::too_many_arguments)]
16304 pub async fn search_secret_messages(chat_id: i64, query: String, offset: String, limit: i32, filter: Option<crate::enums::SearchMessagesFilter>, client_id: i32) -> Result<crate::enums::FoundMessages, crate::types::Error> {
16305 let request = json!({
16306 "@type": "searchSecretMessages",
16307 "chat_id": chat_id,
16308 "query": query,
16309 "offset": offset,
16310 "limit": limit,
16311 "filter": filter,
16312 });
16313 let response = send_request(client_id, request).await;
16314 if response["@type"] == "error" {
16315 return Err(serde_json::from_value(response).unwrap())
16316 }
16317 Ok(serde_json::from_value(response).unwrap())
16318 }
16319 #[allow(clippy::too_many_arguments)]
16326 pub async fn search_call_messages(offset: String, limit: i32, only_missed: bool, client_id: i32) -> Result<crate::enums::FoundMessages, crate::types::Error> {
16327 let request = json!({
16328 "@type": "searchCallMessages",
16329 "offset": offset,
16330 "limit": limit,
16331 "only_missed": only_missed,
16332 });
16333 let response = send_request(client_id, request).await;
16334 if response["@type"] == "error" {
16335 return Err(serde_json::from_value(response).unwrap())
16336 }
16337 Ok(serde_json::from_value(response).unwrap())
16338 }
16339 #[allow(clippy::too_many_arguments)]
16345 pub async fn search_outgoing_document_messages(query: String, limit: i32, client_id: i32) -> Result<crate::enums::FoundMessages, crate::types::Error> {
16346 let request = json!({
16347 "@type": "searchOutgoingDocumentMessages",
16348 "query": query,
16349 "limit": limit,
16350 });
16351 let response = send_request(client_id, request).await;
16352 if response["@type"] == "error" {
16353 return Err(serde_json::from_value(response).unwrap())
16354 }
16355 Ok(serde_json::from_value(response).unwrap())
16356 }
16357 #[allow(clippy::too_many_arguments)]
16362 pub async fn delete_all_call_messages(revoke: bool, client_id: i32) -> Result<(), crate::types::Error> {
16363 let request = json!({
16364 "@type": "deleteAllCallMessages",
16365 "revoke": revoke,
16366 });
16367 let response = send_request(client_id, request).await;
16368 if response["@type"] == "error" {
16369 return Err(serde_json::from_value(response).unwrap())
16370 }
16371 Ok(())
16372 }
16373 #[allow(clippy::too_many_arguments)]
16379 pub async fn search_chat_recent_location_messages(chat_id: i64, limit: i32, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16380 let request = json!({
16381 "@type": "searchChatRecentLocationMessages",
16382 "chat_id": chat_id,
16383 "limit": limit,
16384 });
16385 let response = send_request(client_id, request).await;
16386 if response["@type"] == "error" {
16387 return Err(serde_json::from_value(response).unwrap())
16388 }
16389 Ok(serde_json::from_value(response).unwrap())
16390 }
16391 #[allow(clippy::too_many_arguments)]
16395 pub async fn get_active_live_location_messages(client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16396 let request = json!({
16397 "@type": "getActiveLiveLocationMessages",
16398 });
16399 let response = send_request(client_id, request).await;
16400 if response["@type"] == "error" {
16401 return Err(serde_json::from_value(response).unwrap())
16402 }
16403 Ok(serde_json::from_value(response).unwrap())
16404 }
16405 #[allow(clippy::too_many_arguments)]
16411 pub async fn get_chat_message_by_date(chat_id: i64, date: i32, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
16412 let request = json!({
16413 "@type": "getChatMessageByDate",
16414 "chat_id": chat_id,
16415 "date": date,
16416 });
16417 let response = send_request(client_id, request).await;
16418 if response["@type"] == "error" {
16419 return Err(serde_json::from_value(response).unwrap())
16420 }
16421 Ok(serde_json::from_value(response).unwrap())
16422 }
16423 #[allow(clippy::too_many_arguments)]
16432 pub async fn get_chat_sparse_message_positions(chat_id: i64, filter: crate::enums::SearchMessagesFilter, from_message_id: i64, limit: i32, client_id: i32) -> Result<crate::enums::MessagePositions, crate::types::Error> {
16433 let request = json!({
16434 "@type": "getChatSparseMessagePositions",
16435 "chat_id": chat_id,
16436 "filter": filter,
16437 "from_message_id": from_message_id,
16438 "limit": limit,
16439 });
16440 let response = send_request(client_id, request).await;
16441 if response["@type"] == "error" {
16442 return Err(serde_json::from_value(response).unwrap())
16443 }
16444 Ok(serde_json::from_value(response).unwrap())
16445 }
16446 #[allow(clippy::too_many_arguments)]
16453 pub async fn get_chat_message_calendar(chat_id: i64, filter: crate::enums::SearchMessagesFilter, from_message_id: i64, client_id: i32) -> Result<crate::enums::MessageCalendar, crate::types::Error> {
16454 let request = json!({
16455 "@type": "getChatMessageCalendar",
16456 "chat_id": chat_id,
16457 "filter": filter,
16458 "from_message_id": from_message_id,
16459 });
16460 let response = send_request(client_id, request).await;
16461 if response["@type"] == "error" {
16462 return Err(serde_json::from_value(response).unwrap())
16463 }
16464 Ok(serde_json::from_value(response).unwrap())
16465 }
16466 #[allow(clippy::too_many_arguments)]
16473 pub async fn get_chat_message_count(chat_id: i64, filter: crate::enums::SearchMessagesFilter, return_local: bool, client_id: i32) -> Result<crate::enums::Count, crate::types::Error> {
16474 let request = json!({
16475 "@type": "getChatMessageCount",
16476 "chat_id": chat_id,
16477 "filter": filter,
16478 "return_local": return_local,
16479 });
16480 let response = send_request(client_id, request).await;
16481 if response["@type"] == "error" {
16482 return Err(serde_json::from_value(response).unwrap())
16483 }
16484 Ok(serde_json::from_value(response).unwrap())
16485 }
16486 #[allow(clippy::too_many_arguments)]
16494 pub async fn get_chat_message_position(chat_id: i64, message_id: i64, filter: crate::enums::SearchMessagesFilter, message_thread_id: i64, client_id: i32) -> Result<crate::enums::Count, crate::types::Error> {
16495 let request = json!({
16496 "@type": "getChatMessagePosition",
16497 "chat_id": chat_id,
16498 "message_id": message_id,
16499 "filter": filter,
16500 "message_thread_id": message_thread_id,
16501 });
16502 let response = send_request(client_id, request).await;
16503 if response["@type"] == "error" {
16504 return Err(serde_json::from_value(response).unwrap())
16505 }
16506 Ok(serde_json::from_value(response).unwrap())
16507 }
16508 #[allow(clippy::too_many_arguments)]
16513 pub async fn get_chat_scheduled_messages(chat_id: i64, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16514 let request = json!({
16515 "@type": "getChatScheduledMessages",
16516 "chat_id": chat_id,
16517 });
16518 let response = send_request(client_id, request).await;
16519 if response["@type"] == "error" {
16520 return Err(serde_json::from_value(response).unwrap())
16521 }
16522 Ok(serde_json::from_value(response).unwrap())
16523 }
16524 #[allow(clippy::too_many_arguments)]
16532 pub async fn get_message_public_forwards(chat_id: i64, message_id: i64, offset: String, limit: i32, client_id: i32) -> Result<crate::enums::FoundMessages, crate::types::Error> {
16533 let request = json!({
16534 "@type": "getMessagePublicForwards",
16535 "chat_id": chat_id,
16536 "message_id": message_id,
16537 "offset": offset,
16538 "limit": limit,
16539 });
16540 let response = send_request(client_id, request).await;
16541 if response["@type"] == "error" {
16542 return Err(serde_json::from_value(response).unwrap())
16543 }
16544 Ok(serde_json::from_value(response).unwrap())
16545 }
16546 #[allow(clippy::too_many_arguments)]
16551 pub async fn get_chat_sponsored_messages(chat_id: i64, client_id: i32) -> Result<crate::enums::SponsoredMessages, crate::types::Error> {
16552 let request = json!({
16553 "@type": "getChatSponsoredMessages",
16554 "chat_id": chat_id,
16555 });
16556 let response = send_request(client_id, request).await;
16557 if response["@type"] == "error" {
16558 return Err(serde_json::from_value(response).unwrap())
16559 }
16560 Ok(serde_json::from_value(response).unwrap())
16561 }
16562 #[allow(clippy::too_many_arguments)]
16568 pub async fn click_chat_sponsored_message(chat_id: i64, message_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
16569 let request = json!({
16570 "@type": "clickChatSponsoredMessage",
16571 "chat_id": chat_id,
16572 "message_id": message_id,
16573 });
16574 let response = send_request(client_id, request).await;
16575 if response["@type"] == "error" {
16576 return Err(serde_json::from_value(response).unwrap())
16577 }
16578 Ok(())
16579 }
16580 #[allow(clippy::too_many_arguments)]
16586 pub async fn remove_notification(notification_group_id: i32, notification_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
16587 let request = json!({
16588 "@type": "removeNotification",
16589 "notification_group_id": notification_group_id,
16590 "notification_id": notification_id,
16591 });
16592 let response = send_request(client_id, request).await;
16593 if response["@type"] == "error" {
16594 return Err(serde_json::from_value(response).unwrap())
16595 }
16596 Ok(())
16597 }
16598 #[allow(clippy::too_many_arguments)]
16604 pub async fn remove_notification_group(notification_group_id: i32, max_notification_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
16605 let request = json!({
16606 "@type": "removeNotificationGroup",
16607 "notification_group_id": notification_group_id,
16608 "max_notification_id": max_notification_id,
16609 });
16610 let response = send_request(client_id, request).await;
16611 if response["@type"] == "error" {
16612 return Err(serde_json::from_value(response).unwrap())
16613 }
16614 Ok(())
16615 }
16616 #[allow(clippy::too_many_arguments)]
16625 pub async fn get_message_link(chat_id: i64, message_id: i64, media_timestamp: i32, for_album: bool, in_message_thread: bool, client_id: i32) -> Result<crate::enums::MessageLink, crate::types::Error> {
16626 let request = json!({
16627 "@type": "getMessageLink",
16628 "chat_id": chat_id,
16629 "message_id": message_id,
16630 "media_timestamp": media_timestamp,
16631 "for_album": for_album,
16632 "in_message_thread": in_message_thread,
16633 });
16634 let response = send_request(client_id, request).await;
16635 if response["@type"] == "error" {
16636 return Err(serde_json::from_value(response).unwrap())
16637 }
16638 Ok(serde_json::from_value(response).unwrap())
16639 }
16640 #[allow(clippy::too_many_arguments)]
16647 pub async fn get_message_embedding_code(chat_id: i64, message_id: i64, for_album: bool, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
16648 let request = json!({
16649 "@type": "getMessageEmbeddingCode",
16650 "chat_id": chat_id,
16651 "message_id": message_id,
16652 "for_album": for_album,
16653 });
16654 let response = send_request(client_id, request).await;
16655 if response["@type"] == "error" {
16656 return Err(serde_json::from_value(response).unwrap())
16657 }
16658 Ok(serde_json::from_value(response).unwrap())
16659 }
16660 #[allow(clippy::too_many_arguments)]
16665 pub async fn get_message_link_info(url: String, client_id: i32) -> Result<crate::enums::MessageLinkInfo, crate::types::Error> {
16666 let request = json!({
16667 "@type": "getMessageLinkInfo",
16668 "url": url,
16669 });
16670 let response = send_request(client_id, request).await;
16671 if response["@type"] == "error" {
16672 return Err(serde_json::from_value(response).unwrap())
16673 }
16674 Ok(serde_json::from_value(response).unwrap())
16675 }
16676 #[allow(clippy::too_many_arguments)]
16686 pub async fn translate_text(text: crate::types::FormattedText, to_language_code: String, client_id: i32) -> Result<crate::enums::FormattedText, crate::types::Error> {
16687 let request = json!({
16688 "@type": "translateText",
16689 "text": text,
16690 "to_language_code": to_language_code,
16691 });
16692 let response = send_request(client_id, request).await;
16693 if response["@type"] == "error" {
16694 return Err(serde_json::from_value(response).unwrap())
16695 }
16696 Ok(serde_json::from_value(response).unwrap())
16697 }
16698 #[allow(clippy::too_many_arguments)]
16709 pub async fn translate_message_text(chat_id: i64, message_id: i64, to_language_code: String, client_id: i32) -> Result<crate::enums::FormattedText, crate::types::Error> {
16710 let request = json!({
16711 "@type": "translateMessageText",
16712 "chat_id": chat_id,
16713 "message_id": message_id,
16714 "to_language_code": to_language_code,
16715 });
16716 let response = send_request(client_id, request).await;
16717 if response["@type"] == "error" {
16718 return Err(serde_json::from_value(response).unwrap())
16719 }
16720 Ok(serde_json::from_value(response).unwrap())
16721 }
16722 #[allow(clippy::too_many_arguments)]
16728 pub async fn recognize_speech(chat_id: i64, message_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
16729 let request = json!({
16730 "@type": "recognizeSpeech",
16731 "chat_id": chat_id,
16732 "message_id": message_id,
16733 });
16734 let response = send_request(client_id, request).await;
16735 if response["@type"] == "error" {
16736 return Err(serde_json::from_value(response).unwrap())
16737 }
16738 Ok(())
16739 }
16740 #[allow(clippy::too_many_arguments)]
16747 pub async fn rate_speech_recognition(chat_id: i64, message_id: i64, is_good: bool, client_id: i32) -> Result<(), crate::types::Error> {
16748 let request = json!({
16749 "@type": "rateSpeechRecognition",
16750 "chat_id": chat_id,
16751 "message_id": message_id,
16752 "is_good": is_good,
16753 });
16754 let response = send_request(client_id, request).await;
16755 if response["@type"] == "error" {
16756 return Err(serde_json::from_value(response).unwrap())
16757 }
16758 Ok(())
16759 }
16760 #[allow(clippy::too_many_arguments)]
16765 pub async fn get_chat_available_message_senders(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatMessageSenders, crate::types::Error> {
16766 let request = json!({
16767 "@type": "getChatAvailableMessageSenders",
16768 "chat_id": chat_id,
16769 });
16770 let response = send_request(client_id, request).await;
16771 if response["@type"] == "error" {
16772 return Err(serde_json::from_value(response).unwrap())
16773 }
16774 Ok(serde_json::from_value(response).unwrap())
16775 }
16776 #[allow(clippy::too_many_arguments)]
16782 pub async fn set_chat_message_sender(chat_id: i64, message_sender_id: crate::enums::MessageSender, client_id: i32) -> Result<(), crate::types::Error> {
16783 let request = json!({
16784 "@type": "setChatMessageSender",
16785 "chat_id": chat_id,
16786 "message_sender_id": message_sender_id,
16787 });
16788 let response = send_request(client_id, request).await;
16789 if response["@type"] == "error" {
16790 return Err(serde_json::from_value(response).unwrap())
16791 }
16792 Ok(())
16793 }
16794 #[allow(clippy::too_many_arguments)]
16804 pub async fn send_message(chat_id: i64, message_thread_id: i64, reply_to: Option<crate::enums::MessageReplyTo>, options: Option<crate::types::MessageSendOptions>, reply_markup: Option<crate::enums::ReplyMarkup>, input_message_content: crate::enums::InputMessageContent, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
16805 let request = json!({
16806 "@type": "sendMessage",
16807 "chat_id": chat_id,
16808 "message_thread_id": message_thread_id,
16809 "reply_to": reply_to,
16810 "options": options,
16811 "reply_markup": reply_markup,
16812 "input_message_content": input_message_content,
16813 });
16814 let response = send_request(client_id, request).await;
16815 if response["@type"] == "error" {
16816 return Err(serde_json::from_value(response).unwrap())
16817 }
16818 Ok(serde_json::from_value(response).unwrap())
16819 }
16820 #[allow(clippy::too_many_arguments)]
16830 pub async fn send_message_album(chat_id: i64, message_thread_id: i64, reply_to: Option<crate::enums::MessageReplyTo>, options: Option<crate::types::MessageSendOptions>, input_message_contents: Vec<crate::enums::InputMessageContent>, only_preview: bool, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16831 let request = json!({
16832 "@type": "sendMessageAlbum",
16833 "chat_id": chat_id,
16834 "message_thread_id": message_thread_id,
16835 "reply_to": reply_to,
16836 "options": options,
16837 "input_message_contents": input_message_contents,
16838 "only_preview": only_preview,
16839 });
16840 let response = send_request(client_id, request).await;
16841 if response["@type"] == "error" {
16842 return Err(serde_json::from_value(response).unwrap())
16843 }
16844 Ok(serde_json::from_value(response).unwrap())
16845 }
16846 #[allow(clippy::too_many_arguments)]
16853 pub async fn send_bot_start_message(bot_user_id: i64, chat_id: i64, parameter: String, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
16854 let request = json!({
16855 "@type": "sendBotStartMessage",
16856 "bot_user_id": bot_user_id,
16857 "chat_id": chat_id,
16858 "parameter": parameter,
16859 });
16860 let response = send_request(client_id, request).await;
16861 if response["@type"] == "error" {
16862 return Err(serde_json::from_value(response).unwrap())
16863 }
16864 Ok(serde_json::from_value(response).unwrap())
16865 }
16866 #[allow(clippy::too_many_arguments)]
16877 pub async fn send_inline_query_result_message(chat_id: i64, message_thread_id: i64, reply_to: Option<crate::enums::MessageReplyTo>, options: Option<crate::types::MessageSendOptions>, query_id: i64, result_id: String, hide_via_bot: bool, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
16878 let request = json!({
16879 "@type": "sendInlineQueryResultMessage",
16880 "chat_id": chat_id,
16881 "message_thread_id": message_thread_id,
16882 "reply_to": reply_to,
16883 "options": options,
16884 "query_id": query_id,
16885 "result_id": result_id,
16886 "hide_via_bot": hide_via_bot,
16887 });
16888 let response = send_request(client_id, request).await;
16889 if response["@type"] == "error" {
16890 return Err(serde_json::from_value(response).unwrap())
16891 }
16892 Ok(serde_json::from_value(response).unwrap())
16893 }
16894 #[allow(clippy::too_many_arguments)]
16906 pub async fn forward_messages(chat_id: i64, message_thread_id: i64, from_chat_id: i64, message_ids: Vec<i64>, options: Option<crate::types::MessageSendOptions>, send_copy: bool, remove_caption: bool, only_preview: bool, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16907 let request = json!({
16908 "@type": "forwardMessages",
16909 "chat_id": chat_id,
16910 "message_thread_id": message_thread_id,
16911 "from_chat_id": from_chat_id,
16912 "message_ids": message_ids,
16913 "options": options,
16914 "send_copy": send_copy,
16915 "remove_caption": remove_caption,
16916 "only_preview": only_preview,
16917 });
16918 let response = send_request(client_id, request).await;
16919 if response["@type"] == "error" {
16920 return Err(serde_json::from_value(response).unwrap())
16921 }
16922 Ok(serde_json::from_value(response).unwrap())
16923 }
16924 #[allow(clippy::too_many_arguments)]
16931 pub async fn resend_messages(chat_id: i64, message_ids: Vec<i64>, client_id: i32) -> Result<crate::enums::Messages, crate::types::Error> {
16932 let request = json!({
16933 "@type": "resendMessages",
16934 "chat_id": chat_id,
16935 "message_ids": message_ids,
16936 });
16937 let response = send_request(client_id, request).await;
16938 if response["@type"] == "error" {
16939 return Err(serde_json::from_value(response).unwrap())
16940 }
16941 Ok(serde_json::from_value(response).unwrap())
16942 }
16943 #[allow(clippy::too_many_arguments)]
16952 pub async fn add_local_message(chat_id: i64, sender_id: crate::enums::MessageSender, reply_to: Option<crate::enums::MessageReplyTo>, disable_notification: bool, input_message_content: crate::enums::InputMessageContent, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
16953 let request = json!({
16954 "@type": "addLocalMessage",
16955 "chat_id": chat_id,
16956 "sender_id": sender_id,
16957 "reply_to": reply_to,
16958 "disable_notification": disable_notification,
16959 "input_message_content": input_message_content,
16960 });
16961 let response = send_request(client_id, request).await;
16962 if response["@type"] == "error" {
16963 return Err(serde_json::from_value(response).unwrap())
16964 }
16965 Ok(serde_json::from_value(response).unwrap())
16966 }
16967 #[allow(clippy::too_many_arguments)]
16974 pub async fn delete_messages(chat_id: i64, message_ids: Vec<i64>, revoke: bool, client_id: i32) -> Result<(), crate::types::Error> {
16975 let request = json!({
16976 "@type": "deleteMessages",
16977 "chat_id": chat_id,
16978 "message_ids": message_ids,
16979 "revoke": revoke,
16980 });
16981 let response = send_request(client_id, request).await;
16982 if response["@type"] == "error" {
16983 return Err(serde_json::from_value(response).unwrap())
16984 }
16985 Ok(())
16986 }
16987 #[allow(clippy::too_many_arguments)]
16993 pub async fn delete_chat_messages_by_sender(chat_id: i64, sender_id: crate::enums::MessageSender, client_id: i32) -> Result<(), crate::types::Error> {
16994 let request = json!({
16995 "@type": "deleteChatMessagesBySender",
16996 "chat_id": chat_id,
16997 "sender_id": sender_id,
16998 });
16999 let response = send_request(client_id, request).await;
17000 if response["@type"] == "error" {
17001 return Err(serde_json::from_value(response).unwrap())
17002 }
17003 Ok(())
17004 }
17005 #[allow(clippy::too_many_arguments)]
17013 pub async fn delete_chat_messages_by_date(chat_id: i64, min_date: i32, max_date: i32, revoke: bool, client_id: i32) -> Result<(), crate::types::Error> {
17014 let request = json!({
17015 "@type": "deleteChatMessagesByDate",
17016 "chat_id": chat_id,
17017 "min_date": min_date,
17018 "max_date": max_date,
17019 "revoke": revoke,
17020 });
17021 let response = send_request(client_id, request).await;
17022 if response["@type"] == "error" {
17023 return Err(serde_json::from_value(response).unwrap())
17024 }
17025 Ok(())
17026 }
17027 #[allow(clippy::too_many_arguments)]
17035 pub async fn edit_message_text(chat_id: i64, message_id: i64, reply_markup: Option<crate::enums::ReplyMarkup>, input_message_content: crate::enums::InputMessageContent, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
17036 let request = json!({
17037 "@type": "editMessageText",
17038 "chat_id": chat_id,
17039 "message_id": message_id,
17040 "reply_markup": reply_markup,
17041 "input_message_content": input_message_content,
17042 });
17043 let response = send_request(client_id, request).await;
17044 if response["@type"] == "error" {
17045 return Err(serde_json::from_value(response).unwrap())
17046 }
17047 Ok(serde_json::from_value(response).unwrap())
17048 }
17049 #[allow(clippy::too_many_arguments)]
17059 pub async fn edit_message_live_location(chat_id: i64, message_id: i64, reply_markup: Option<crate::enums::ReplyMarkup>, location: Option<crate::types::Location>, heading: i32, proximity_alert_radius: i32, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
17060 let request = json!({
17061 "@type": "editMessageLiveLocation",
17062 "chat_id": chat_id,
17063 "message_id": message_id,
17064 "reply_markup": reply_markup,
17065 "location": location,
17066 "heading": heading,
17067 "proximity_alert_radius": proximity_alert_radius,
17068 });
17069 let response = send_request(client_id, request).await;
17070 if response["@type"] == "error" {
17071 return Err(serde_json::from_value(response).unwrap())
17072 }
17073 Ok(serde_json::from_value(response).unwrap())
17074 }
17075 #[allow(clippy::too_many_arguments)]
17084 pub async fn edit_message_media(chat_id: i64, message_id: i64, reply_markup: Option<crate::enums::ReplyMarkup>, input_message_content: crate::enums::InputMessageContent, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
17085 let request = json!({
17086 "@type": "editMessageMedia",
17087 "chat_id": chat_id,
17088 "message_id": message_id,
17089 "reply_markup": reply_markup,
17090 "input_message_content": input_message_content,
17091 });
17092 let response = send_request(client_id, request).await;
17093 if response["@type"] == "error" {
17094 return Err(serde_json::from_value(response).unwrap())
17095 }
17096 Ok(serde_json::from_value(response).unwrap())
17097 }
17098 #[allow(clippy::too_many_arguments)]
17106 pub async fn edit_message_caption(chat_id: i64, message_id: i64, reply_markup: Option<crate::enums::ReplyMarkup>, caption: Option<crate::types::FormattedText>, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
17107 let request = json!({
17108 "@type": "editMessageCaption",
17109 "chat_id": chat_id,
17110 "message_id": message_id,
17111 "reply_markup": reply_markup,
17112 "caption": caption,
17113 });
17114 let response = send_request(client_id, request).await;
17115 if response["@type"] == "error" {
17116 return Err(serde_json::from_value(response).unwrap())
17117 }
17118 Ok(serde_json::from_value(response).unwrap())
17119 }
17120 #[allow(clippy::too_many_arguments)]
17127 pub async fn edit_message_reply_markup(chat_id: i64, message_id: i64, reply_markup: Option<crate::enums::ReplyMarkup>, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
17128 let request = json!({
17129 "@type": "editMessageReplyMarkup",
17130 "chat_id": chat_id,
17131 "message_id": message_id,
17132 "reply_markup": reply_markup,
17133 });
17134 let response = send_request(client_id, request).await;
17135 if response["@type"] == "error" {
17136 return Err(serde_json::from_value(response).unwrap())
17137 }
17138 Ok(serde_json::from_value(response).unwrap())
17139 }
17140 #[allow(clippy::too_many_arguments)]
17147 pub async fn edit_inline_message_text(inline_message_id: String, reply_markup: Option<crate::enums::ReplyMarkup>, input_message_content: crate::enums::InputMessageContent, client_id: i32) -> Result<(), crate::types::Error> {
17148 let request = json!({
17149 "@type": "editInlineMessageText",
17150 "inline_message_id": inline_message_id,
17151 "reply_markup": reply_markup,
17152 "input_message_content": input_message_content,
17153 });
17154 let response = send_request(client_id, request).await;
17155 if response["@type"] == "error" {
17156 return Err(serde_json::from_value(response).unwrap())
17157 }
17158 Ok(())
17159 }
17160 #[allow(clippy::too_many_arguments)]
17169 pub async fn edit_inline_message_live_location(inline_message_id: String, reply_markup: Option<crate::enums::ReplyMarkup>, location: Option<crate::types::Location>, heading: i32, proximity_alert_radius: i32, client_id: i32) -> Result<(), crate::types::Error> {
17170 let request = json!({
17171 "@type": "editInlineMessageLiveLocation",
17172 "inline_message_id": inline_message_id,
17173 "reply_markup": reply_markup,
17174 "location": location,
17175 "heading": heading,
17176 "proximity_alert_radius": proximity_alert_radius,
17177 });
17178 let response = send_request(client_id, request).await;
17179 if response["@type"] == "error" {
17180 return Err(serde_json::from_value(response).unwrap())
17181 }
17182 Ok(())
17183 }
17184 #[allow(clippy::too_many_arguments)]
17191 pub async fn edit_inline_message_media(inline_message_id: String, reply_markup: Option<crate::enums::ReplyMarkup>, input_message_content: crate::enums::InputMessageContent, client_id: i32) -> Result<(), crate::types::Error> {
17192 let request = json!({
17193 "@type": "editInlineMessageMedia",
17194 "inline_message_id": inline_message_id,
17195 "reply_markup": reply_markup,
17196 "input_message_content": input_message_content,
17197 });
17198 let response = send_request(client_id, request).await;
17199 if response["@type"] == "error" {
17200 return Err(serde_json::from_value(response).unwrap())
17201 }
17202 Ok(())
17203 }
17204 #[allow(clippy::too_many_arguments)]
17211 pub async fn edit_inline_message_caption(inline_message_id: String, reply_markup: Option<crate::enums::ReplyMarkup>, caption: Option<crate::types::FormattedText>, client_id: i32) -> Result<(), crate::types::Error> {
17212 let request = json!({
17213 "@type": "editInlineMessageCaption",
17214 "inline_message_id": inline_message_id,
17215 "reply_markup": reply_markup,
17216 "caption": caption,
17217 });
17218 let response = send_request(client_id, request).await;
17219 if response["@type"] == "error" {
17220 return Err(serde_json::from_value(response).unwrap())
17221 }
17222 Ok(())
17223 }
17224 #[allow(clippy::too_many_arguments)]
17230 pub async fn edit_inline_message_reply_markup(inline_message_id: String, reply_markup: Option<crate::enums::ReplyMarkup>, client_id: i32) -> Result<(), crate::types::Error> {
17231 let request = json!({
17232 "@type": "editInlineMessageReplyMarkup",
17233 "inline_message_id": inline_message_id,
17234 "reply_markup": reply_markup,
17235 });
17236 let response = send_request(client_id, request).await;
17237 if response["@type"] == "error" {
17238 return Err(serde_json::from_value(response).unwrap())
17239 }
17240 Ok(())
17241 }
17242 #[allow(clippy::too_many_arguments)]
17249 pub async fn edit_message_scheduling_state(chat_id: i64, message_id: i64, scheduling_state: Option<crate::enums::MessageSchedulingState>, client_id: i32) -> Result<(), crate::types::Error> {
17250 let request = json!({
17251 "@type": "editMessageSchedulingState",
17252 "chat_id": chat_id,
17253 "message_id": message_id,
17254 "scheduling_state": scheduling_state,
17255 });
17256 let response = send_request(client_id, request).await;
17257 if response["@type"] == "error" {
17258 return Err(serde_json::from_value(response).unwrap())
17259 }
17260 Ok(())
17261 }
17262 #[allow(clippy::too_many_arguments)]
17266 pub async fn get_forum_topic_default_icons(client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
17267 let request = json!({
17268 "@type": "getForumTopicDefaultIcons",
17269 });
17270 let response = send_request(client_id, request).await;
17271 if response["@type"] == "error" {
17272 return Err(serde_json::from_value(response).unwrap())
17273 }
17274 Ok(serde_json::from_value(response).unwrap())
17275 }
17276 #[allow(clippy::too_many_arguments)]
17283 pub async fn create_forum_topic(chat_id: i64, name: String, icon: crate::types::ForumTopicIcon, client_id: i32) -> Result<crate::enums::ForumTopicInfo, crate::types::Error> {
17284 let request = json!({
17285 "@type": "createForumTopic",
17286 "chat_id": chat_id,
17287 "name": name,
17288 "icon": icon,
17289 });
17290 let response = send_request(client_id, request).await;
17291 if response["@type"] == "error" {
17292 return Err(serde_json::from_value(response).unwrap())
17293 }
17294 Ok(serde_json::from_value(response).unwrap())
17295 }
17296 #[allow(clippy::too_many_arguments)]
17305 pub async fn edit_forum_topic(chat_id: i64, message_thread_id: i64, name: String, edit_icon_custom_emoji: bool, icon_custom_emoji_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
17306 let request = json!({
17307 "@type": "editForumTopic",
17308 "chat_id": chat_id,
17309 "message_thread_id": message_thread_id,
17310 "name": name,
17311 "edit_icon_custom_emoji": edit_icon_custom_emoji,
17312 "icon_custom_emoji_id": icon_custom_emoji_id,
17313 });
17314 let response = send_request(client_id, request).await;
17315 if response["@type"] == "error" {
17316 return Err(serde_json::from_value(response).unwrap())
17317 }
17318 Ok(())
17319 }
17320 #[allow(clippy::too_many_arguments)]
17326 pub async fn get_forum_topic(chat_id: i64, message_thread_id: i64, client_id: i32) -> Result<crate::enums::ForumTopic, crate::types::Error> {
17327 let request = json!({
17328 "@type": "getForumTopic",
17329 "chat_id": chat_id,
17330 "message_thread_id": message_thread_id,
17331 });
17332 let response = send_request(client_id, request).await;
17333 if response["@type"] == "error" {
17334 return Err(serde_json::from_value(response).unwrap())
17335 }
17336 Ok(serde_json::from_value(response).unwrap())
17337 }
17338 #[allow(clippy::too_many_arguments)]
17344 pub async fn get_forum_topic_link(chat_id: i64, message_thread_id: i64, client_id: i32) -> Result<crate::enums::MessageLink, crate::types::Error> {
17345 let request = json!({
17346 "@type": "getForumTopicLink",
17347 "chat_id": chat_id,
17348 "message_thread_id": message_thread_id,
17349 });
17350 let response = send_request(client_id, request).await;
17351 if response["@type"] == "error" {
17352 return Err(serde_json::from_value(response).unwrap())
17353 }
17354 Ok(serde_json::from_value(response).unwrap())
17355 }
17356 #[allow(clippy::too_many_arguments)]
17366 pub async fn get_forum_topics(chat_id: i64, query: String, offset_date: i32, offset_message_id: i64, offset_message_thread_id: i64, limit: i32, client_id: i32) -> Result<crate::enums::ForumTopics, crate::types::Error> {
17367 let request = json!({
17368 "@type": "getForumTopics",
17369 "chat_id": chat_id,
17370 "query": query,
17371 "offset_date": offset_date,
17372 "offset_message_id": offset_message_id,
17373 "offset_message_thread_id": offset_message_thread_id,
17374 "limit": limit,
17375 });
17376 let response = send_request(client_id, request).await;
17377 if response["@type"] == "error" {
17378 return Err(serde_json::from_value(response).unwrap())
17379 }
17380 Ok(serde_json::from_value(response).unwrap())
17381 }
17382 #[allow(clippy::too_many_arguments)]
17389 pub async fn set_forum_topic_notification_settings(chat_id: i64, message_thread_id: i64, notification_settings: crate::types::ChatNotificationSettings, client_id: i32) -> Result<(), crate::types::Error> {
17390 let request = json!({
17391 "@type": "setForumTopicNotificationSettings",
17392 "chat_id": chat_id,
17393 "message_thread_id": message_thread_id,
17394 "notification_settings": notification_settings,
17395 });
17396 let response = send_request(client_id, request).await;
17397 if response["@type"] == "error" {
17398 return Err(serde_json::from_value(response).unwrap())
17399 }
17400 Ok(())
17401 }
17402 #[allow(clippy::too_many_arguments)]
17409 pub async fn toggle_forum_topic_is_closed(chat_id: i64, message_thread_id: i64, is_closed: bool, client_id: i32) -> Result<(), crate::types::Error> {
17410 let request = json!({
17411 "@type": "toggleForumTopicIsClosed",
17412 "chat_id": chat_id,
17413 "message_thread_id": message_thread_id,
17414 "is_closed": is_closed,
17415 });
17416 let response = send_request(client_id, request).await;
17417 if response["@type"] == "error" {
17418 return Err(serde_json::from_value(response).unwrap())
17419 }
17420 Ok(())
17421 }
17422 #[allow(clippy::too_many_arguments)]
17428 pub async fn toggle_general_forum_topic_is_hidden(chat_id: i64, is_hidden: bool, client_id: i32) -> Result<(), crate::types::Error> {
17429 let request = json!({
17430 "@type": "toggleGeneralForumTopicIsHidden",
17431 "chat_id": chat_id,
17432 "is_hidden": is_hidden,
17433 });
17434 let response = send_request(client_id, request).await;
17435 if response["@type"] == "error" {
17436 return Err(serde_json::from_value(response).unwrap())
17437 }
17438 Ok(())
17439 }
17440 #[allow(clippy::too_many_arguments)]
17447 pub async fn toggle_forum_topic_is_pinned(chat_id: i64, message_thread_id: i64, is_pinned: bool, client_id: i32) -> Result<(), crate::types::Error> {
17448 let request = json!({
17449 "@type": "toggleForumTopicIsPinned",
17450 "chat_id": chat_id,
17451 "message_thread_id": message_thread_id,
17452 "is_pinned": is_pinned,
17453 });
17454 let response = send_request(client_id, request).await;
17455 if response["@type"] == "error" {
17456 return Err(serde_json::from_value(response).unwrap())
17457 }
17458 Ok(())
17459 }
17460 #[allow(clippy::too_many_arguments)]
17466 pub async fn set_pinned_forum_topics(chat_id: i64, message_thread_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
17467 let request = json!({
17468 "@type": "setPinnedForumTopics",
17469 "chat_id": chat_id,
17470 "message_thread_ids": message_thread_ids,
17471 });
17472 let response = send_request(client_id, request).await;
17473 if response["@type"] == "error" {
17474 return Err(serde_json::from_value(response).unwrap())
17475 }
17476 Ok(())
17477 }
17478 #[allow(clippy::too_many_arguments)]
17484 pub async fn delete_forum_topic(chat_id: i64, message_thread_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
17485 let request = json!({
17486 "@type": "deleteForumTopic",
17487 "chat_id": chat_id,
17488 "message_thread_id": message_thread_id,
17489 });
17490 let response = send_request(client_id, request).await;
17491 if response["@type"] == "error" {
17492 return Err(serde_json::from_value(response).unwrap())
17493 }
17494 Ok(())
17495 }
17496 #[allow(clippy::too_many_arguments)]
17501 pub async fn get_emoji_reaction(emoji: String, client_id: i32) -> Result<crate::enums::EmojiReaction, crate::types::Error> {
17502 let request = json!({
17503 "@type": "getEmojiReaction",
17504 "emoji": emoji,
17505 });
17506 let response = send_request(client_id, request).await;
17507 if response["@type"] == "error" {
17508 return Err(serde_json::from_value(response).unwrap())
17509 }
17510 Ok(serde_json::from_value(response).unwrap())
17511 }
17512 #[allow(clippy::too_many_arguments)]
17516 pub async fn get_custom_emoji_reaction_animations(client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
17517 let request = json!({
17518 "@type": "getCustomEmojiReactionAnimations",
17519 });
17520 let response = send_request(client_id, request).await;
17521 if response["@type"] == "error" {
17522 return Err(serde_json::from_value(response).unwrap())
17523 }
17524 Ok(serde_json::from_value(response).unwrap())
17525 }
17526 #[allow(clippy::too_many_arguments)]
17533 pub async fn get_message_available_reactions(chat_id: i64, message_id: i64, row_size: i32, client_id: i32) -> Result<crate::enums::AvailableReactions, crate::types::Error> {
17534 let request = json!({
17535 "@type": "getMessageAvailableReactions",
17536 "chat_id": chat_id,
17537 "message_id": message_id,
17538 "row_size": row_size,
17539 });
17540 let response = send_request(client_id, request).await;
17541 if response["@type"] == "error" {
17542 return Err(serde_json::from_value(response).unwrap())
17543 }
17544 Ok(serde_json::from_value(response).unwrap())
17545 }
17546 #[allow(clippy::too_many_arguments)]
17550 pub async fn clear_recent_reactions(client_id: i32) -> Result<(), crate::types::Error> {
17551 let request = json!({
17552 "@type": "clearRecentReactions",
17553 });
17554 let response = send_request(client_id, request).await;
17555 if response["@type"] == "error" {
17556 return Err(serde_json::from_value(response).unwrap())
17557 }
17558 Ok(())
17559 }
17560 #[allow(clippy::too_many_arguments)]
17569 pub async fn add_message_reaction(chat_id: i64, message_id: i64, reaction_type: crate::enums::ReactionType, is_big: bool, update_recent_reactions: bool, client_id: i32) -> Result<(), crate::types::Error> {
17570 let request = json!({
17571 "@type": "addMessageReaction",
17572 "chat_id": chat_id,
17573 "message_id": message_id,
17574 "reaction_type": reaction_type,
17575 "is_big": is_big,
17576 "update_recent_reactions": update_recent_reactions,
17577 });
17578 let response = send_request(client_id, request).await;
17579 if response["@type"] == "error" {
17580 return Err(serde_json::from_value(response).unwrap())
17581 }
17582 Ok(())
17583 }
17584 #[allow(clippy::too_many_arguments)]
17591 pub async fn remove_message_reaction(chat_id: i64, message_id: i64, reaction_type: crate::enums::ReactionType, client_id: i32) -> Result<(), crate::types::Error> {
17592 let request = json!({
17593 "@type": "removeMessageReaction",
17594 "chat_id": chat_id,
17595 "message_id": message_id,
17596 "reaction_type": reaction_type,
17597 });
17598 let response = send_request(client_id, request).await;
17599 if response["@type"] == "error" {
17600 return Err(serde_json::from_value(response).unwrap())
17601 }
17602 Ok(())
17603 }
17604 #[allow(clippy::too_many_arguments)]
17613 pub async fn get_message_added_reactions(chat_id: i64, message_id: i64, reaction_type: Option<crate::enums::ReactionType>, offset: String, limit: i32, client_id: i32) -> Result<crate::enums::AddedReactions, crate::types::Error> {
17614 let request = json!({
17615 "@type": "getMessageAddedReactions",
17616 "chat_id": chat_id,
17617 "message_id": message_id,
17618 "reaction_type": reaction_type,
17619 "offset": offset,
17620 "limit": limit,
17621 });
17622 let response = send_request(client_id, request).await;
17623 if response["@type"] == "error" {
17624 return Err(serde_json::from_value(response).unwrap())
17625 }
17626 Ok(serde_json::from_value(response).unwrap())
17627 }
17628 #[allow(clippy::too_many_arguments)]
17633 pub async fn set_default_reaction_type(reaction_type: crate::enums::ReactionType, client_id: i32) -> Result<(), crate::types::Error> {
17634 let request = json!({
17635 "@type": "setDefaultReactionType",
17636 "reaction_type": reaction_type,
17637 });
17638 let response = send_request(client_id, request).await;
17639 if response["@type"] == "error" {
17640 return Err(serde_json::from_value(response).unwrap())
17641 }
17642 Ok(())
17643 }
17644 #[allow(clippy::too_many_arguments)]
17649 pub async fn get_text_entities(text: String, client_id: i32) -> Result<crate::enums::TextEntities, crate::types::Error> {
17650 let request = json!({
17651 "@type": "getTextEntities",
17652 "text": text,
17653 });
17654 let response = send_request(client_id, request).await;
17655 if response["@type"] == "error" {
17656 return Err(serde_json::from_value(response).unwrap())
17657 }
17658 Ok(serde_json::from_value(response).unwrap())
17659 }
17660 #[allow(clippy::too_many_arguments)]
17666 pub async fn parse_text_entities(text: String, parse_mode: crate::enums::TextParseMode, client_id: i32) -> Result<crate::enums::FormattedText, crate::types::Error> {
17667 let request = json!({
17668 "@type": "parseTextEntities",
17669 "text": text,
17670 "parse_mode": parse_mode,
17671 });
17672 let response = send_request(client_id, request).await;
17673 if response["@type"] == "error" {
17674 return Err(serde_json::from_value(response).unwrap())
17675 }
17676 Ok(serde_json::from_value(response).unwrap())
17677 }
17678 #[allow(clippy::too_many_arguments)]
17683 pub async fn parse_markdown(text: crate::types::FormattedText, client_id: i32) -> Result<crate::enums::FormattedText, crate::types::Error> {
17684 let request = json!({
17685 "@type": "parseMarkdown",
17686 "text": text,
17687 });
17688 let response = send_request(client_id, request).await;
17689 if response["@type"] == "error" {
17690 return Err(serde_json::from_value(response).unwrap())
17691 }
17692 Ok(serde_json::from_value(response).unwrap())
17693 }
17694 #[allow(clippy::too_many_arguments)]
17699 pub async fn get_markdown_text(text: crate::types::FormattedText, client_id: i32) -> Result<crate::enums::FormattedText, crate::types::Error> {
17700 let request = json!({
17701 "@type": "getMarkdownText",
17702 "text": text,
17703 });
17704 let response = send_request(client_id, request).await;
17705 if response["@type"] == "error" {
17706 return Err(serde_json::from_value(response).unwrap())
17707 }
17708 Ok(serde_json::from_value(response).unwrap())
17709 }
17710 #[allow(clippy::too_many_arguments)]
17715 pub async fn get_file_mime_type(file_name: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
17716 let request = json!({
17717 "@type": "getFileMimeType",
17718 "file_name": file_name,
17719 });
17720 let response = send_request(client_id, request).await;
17721 if response["@type"] == "error" {
17722 return Err(serde_json::from_value(response).unwrap())
17723 }
17724 Ok(serde_json::from_value(response).unwrap())
17725 }
17726 #[allow(clippy::too_many_arguments)]
17731 pub async fn get_file_extension(mime_type: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
17732 let request = json!({
17733 "@type": "getFileExtension",
17734 "mime_type": mime_type,
17735 });
17736 let response = send_request(client_id, request).await;
17737 if response["@type"] == "error" {
17738 return Err(serde_json::from_value(response).unwrap())
17739 }
17740 Ok(serde_json::from_value(response).unwrap())
17741 }
17742 #[allow(clippy::too_many_arguments)]
17747 pub async fn clean_file_name(file_name: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
17748 let request = json!({
17749 "@type": "cleanFileName",
17750 "file_name": file_name,
17751 });
17752 let response = send_request(client_id, request).await;
17753 if response["@type"] == "error" {
17754 return Err(serde_json::from_value(response).unwrap())
17755 }
17756 Ok(serde_json::from_value(response).unwrap())
17757 }
17758 #[allow(clippy::too_many_arguments)]
17766 pub async fn get_language_pack_string(language_pack_database_path: String, localization_target: String, language_pack_id: String, key: String, client_id: i32) -> Result<crate::enums::LanguagePackStringValue, crate::types::Error> {
17767 let request = json!({
17768 "@type": "getLanguagePackString",
17769 "language_pack_database_path": language_pack_database_path,
17770 "localization_target": localization_target,
17771 "language_pack_id": language_pack_id,
17772 "key": key,
17773 });
17774 let response = send_request(client_id, request).await;
17775 if response["@type"] == "error" {
17776 return Err(serde_json::from_value(response).unwrap())
17777 }
17778 Ok(serde_json::from_value(response).unwrap())
17779 }
17780 #[allow(clippy::too_many_arguments)]
17785 pub async fn get_json_value(json: String, client_id: i32) -> Result<crate::enums::JsonValue, crate::types::Error> {
17786 let request = json!({
17787 "@type": "getJsonValue",
17788 "json": json,
17789 });
17790 let response = send_request(client_id, request).await;
17791 if response["@type"] == "error" {
17792 return Err(serde_json::from_value(response).unwrap())
17793 }
17794 Ok(serde_json::from_value(response).unwrap())
17795 }
17796 #[allow(clippy::too_many_arguments)]
17801 pub async fn get_json_string(json_value: crate::enums::JsonValue, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
17802 let request = json!({
17803 "@type": "getJsonString",
17804 "json_value": json_value,
17805 });
17806 let response = send_request(client_id, request).await;
17807 if response["@type"] == "error" {
17808 return Err(serde_json::from_value(response).unwrap())
17809 }
17810 Ok(serde_json::from_value(response).unwrap())
17811 }
17812 #[allow(clippy::too_many_arguments)]
17817 pub async fn get_theme_parameters_json_string(theme: crate::types::ThemeParameters, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
17818 let request = json!({
17819 "@type": "getThemeParametersJsonString",
17820 "theme": theme,
17821 });
17822 let response = send_request(client_id, request).await;
17823 if response["@type"] == "error" {
17824 return Err(serde_json::from_value(response).unwrap())
17825 }
17826 Ok(serde_json::from_value(response).unwrap())
17827 }
17828 #[allow(clippy::too_many_arguments)]
17835 pub async fn set_poll_answer(chat_id: i64, message_id: i64, option_ids: Vec<i32>, client_id: i32) -> Result<(), crate::types::Error> {
17836 let request = json!({
17837 "@type": "setPollAnswer",
17838 "chat_id": chat_id,
17839 "message_id": message_id,
17840 "option_ids": option_ids,
17841 });
17842 let response = send_request(client_id, request).await;
17843 if response["@type"] == "error" {
17844 return Err(serde_json::from_value(response).unwrap())
17845 }
17846 Ok(())
17847 }
17848 #[allow(clippy::too_many_arguments)]
17857 pub async fn get_poll_voters(chat_id: i64, message_id: i64, option_id: i32, offset: i32, limit: i32, client_id: i32) -> Result<crate::enums::MessageSenders, crate::types::Error> {
17858 let request = json!({
17859 "@type": "getPollVoters",
17860 "chat_id": chat_id,
17861 "message_id": message_id,
17862 "option_id": option_id,
17863 "offset": offset,
17864 "limit": limit,
17865 });
17866 let response = send_request(client_id, request).await;
17867 if response["@type"] == "error" {
17868 return Err(serde_json::from_value(response).unwrap())
17869 }
17870 Ok(serde_json::from_value(response).unwrap())
17871 }
17872 #[allow(clippy::too_many_arguments)]
17879 pub async fn stop_poll(chat_id: i64, message_id: i64, reply_markup: Option<crate::enums::ReplyMarkup>, client_id: i32) -> Result<(), crate::types::Error> {
17880 let request = json!({
17881 "@type": "stopPoll",
17882 "chat_id": chat_id,
17883 "message_id": message_id,
17884 "reply_markup": reply_markup,
17885 });
17886 let response = send_request(client_id, request).await;
17887 if response["@type"] == "error" {
17888 return Err(serde_json::from_value(response).unwrap())
17889 }
17890 Ok(())
17891 }
17892 #[allow(clippy::too_many_arguments)]
17897 pub async fn hide_suggested_action(action: crate::enums::SuggestedAction, client_id: i32) -> Result<(), crate::types::Error> {
17898 let request = json!({
17899 "@type": "hideSuggestedAction",
17900 "action": action,
17901 });
17902 let response = send_request(client_id, request).await;
17903 if response["@type"] == "error" {
17904 return Err(serde_json::from_value(response).unwrap())
17905 }
17906 Ok(())
17907 }
17908 #[allow(clippy::too_many_arguments)]
17915 pub async fn get_login_url_info(chat_id: i64, message_id: i64, button_id: i64, client_id: i32) -> Result<crate::enums::LoginUrlInfo, crate::types::Error> {
17916 let request = json!({
17917 "@type": "getLoginUrlInfo",
17918 "chat_id": chat_id,
17919 "message_id": message_id,
17920 "button_id": button_id,
17921 });
17922 let response = send_request(client_id, request).await;
17923 if response["@type"] == "error" {
17924 return Err(serde_json::from_value(response).unwrap())
17925 }
17926 Ok(serde_json::from_value(response).unwrap())
17927 }
17928 #[allow(clippy::too_many_arguments)]
17937 pub async fn get_login_url(chat_id: i64, message_id: i64, button_id: i64, allow_write_access: bool, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
17938 let request = json!({
17939 "@type": "getLoginUrl",
17940 "chat_id": chat_id,
17941 "message_id": message_id,
17942 "button_id": button_id,
17943 "allow_write_access": allow_write_access,
17944 });
17945 let response = send_request(client_id, request).await;
17946 if response["@type"] == "error" {
17947 return Err(serde_json::from_value(response).unwrap())
17948 }
17949 Ok(serde_json::from_value(response).unwrap())
17950 }
17951 #[allow(clippy::too_many_arguments)]
17960 pub async fn share_user_with_bot(chat_id: i64, message_id: i64, button_id: i32, shared_user_id: i64, only_check: bool, client_id: i32) -> Result<(), crate::types::Error> {
17961 let request = json!({
17962 "@type": "shareUserWithBot",
17963 "chat_id": chat_id,
17964 "message_id": message_id,
17965 "button_id": button_id,
17966 "shared_user_id": shared_user_id,
17967 "only_check": only_check,
17968 });
17969 let response = send_request(client_id, request).await;
17970 if response["@type"] == "error" {
17971 return Err(serde_json::from_value(response).unwrap())
17972 }
17973 Ok(())
17974 }
17975 #[allow(clippy::too_many_arguments)]
17986 pub async fn share_chat_with_bot(chat_id: i64, message_id: i64, button_id: i32, shared_chat_id: i64, only_check: bool, client_id: i32) -> Result<(), crate::types::Error> {
17987 let request = json!({
17988 "@type": "shareChatWithBot",
17989 "chat_id": chat_id,
17990 "message_id": message_id,
17991 "button_id": button_id,
17992 "shared_chat_id": shared_chat_id,
17993 "only_check": only_check,
17994 });
17995 let response = send_request(client_id, request).await;
17996 if response["@type"] == "error" {
17997 return Err(serde_json::from_value(response).unwrap())
17998 }
17999 Ok(())
18000 }
18001 #[allow(clippy::too_many_arguments)]
18010 pub async fn get_inline_query_results(bot_user_id: i64, chat_id: i64, user_location: Option<crate::types::Location>, query: String, offset: String, client_id: i32) -> Result<crate::enums::InlineQueryResults, crate::types::Error> {
18011 let request = json!({
18012 "@type": "getInlineQueryResults",
18013 "bot_user_id": bot_user_id,
18014 "chat_id": chat_id,
18015 "user_location": user_location,
18016 "query": query,
18017 "offset": offset,
18018 });
18019 let response = send_request(client_id, request).await;
18020 if response["@type"] == "error" {
18021 return Err(serde_json::from_value(response).unwrap())
18022 }
18023 Ok(serde_json::from_value(response).unwrap())
18024 }
18025 #[allow(clippy::too_many_arguments)]
18035 pub async fn answer_inline_query(inline_query_id: i64, is_personal: bool, button: Option<crate::types::InlineQueryResultsButton>, results: Vec<crate::enums::InputInlineQueryResult>, cache_time: i32, next_offset: String, client_id: i32) -> Result<(), crate::types::Error> {
18036 let request = json!({
18037 "@type": "answerInlineQuery",
18038 "inline_query_id": inline_query_id,
18039 "is_personal": is_personal,
18040 "button": button,
18041 "results": results,
18042 "cache_time": cache_time,
18043 "next_offset": next_offset,
18044 });
18045 let response = send_request(client_id, request).await;
18046 if response["@type"] == "error" {
18047 return Err(serde_json::from_value(response).unwrap())
18048 }
18049 Ok(())
18050 }
18051 #[allow(clippy::too_many_arguments)]
18057 pub async fn search_web_app(bot_user_id: i64, web_app_short_name: String, client_id: i32) -> Result<crate::enums::FoundWebApp, crate::types::Error> {
18058 let request = json!({
18059 "@type": "searchWebApp",
18060 "bot_user_id": bot_user_id,
18061 "web_app_short_name": web_app_short_name,
18062 });
18063 let response = send_request(client_id, request).await;
18064 if response["@type"] == "error" {
18065 return Err(serde_json::from_value(response).unwrap())
18066 }
18067 Ok(serde_json::from_value(response).unwrap())
18068 }
18069 #[allow(clippy::too_many_arguments)]
18080 pub async fn get_web_app_link_url(chat_id: i64, bot_user_id: i64, web_app_short_name: String, start_parameter: String, theme: Option<crate::types::ThemeParameters>, application_name: String, allow_write_access: bool, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
18081 let request = json!({
18082 "@type": "getWebAppLinkUrl",
18083 "chat_id": chat_id,
18084 "bot_user_id": bot_user_id,
18085 "web_app_short_name": web_app_short_name,
18086 "start_parameter": start_parameter,
18087 "theme": theme,
18088 "application_name": application_name,
18089 "allow_write_access": allow_write_access,
18090 });
18091 let response = send_request(client_id, request).await;
18092 if response["@type"] == "error" {
18093 return Err(serde_json::from_value(response).unwrap())
18094 }
18095 Ok(serde_json::from_value(response).unwrap())
18096 }
18097 #[allow(clippy::too_many_arguments)]
18105 pub async fn get_web_app_url(bot_user_id: i64, url: String, theme: Option<crate::types::ThemeParameters>, application_name: String, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
18106 let request = json!({
18107 "@type": "getWebAppUrl",
18108 "bot_user_id": bot_user_id,
18109 "url": url,
18110 "theme": theme,
18111 "application_name": application_name,
18112 });
18113 let response = send_request(client_id, request).await;
18114 if response["@type"] == "error" {
18115 return Err(serde_json::from_value(response).unwrap())
18116 }
18117 Ok(serde_json::from_value(response).unwrap())
18118 }
18119 #[allow(clippy::too_many_arguments)]
18126 pub async fn send_web_app_data(bot_user_id: i64, button_text: String, data: String, client_id: i32) -> Result<(), crate::types::Error> {
18127 let request = json!({
18128 "@type": "sendWebAppData",
18129 "bot_user_id": bot_user_id,
18130 "button_text": button_text,
18131 "data": data,
18132 });
18133 let response = send_request(client_id, request).await;
18134 if response["@type"] == "error" {
18135 return Err(serde_json::from_value(response).unwrap())
18136 }
18137 Ok(())
18138 }
18139 #[allow(clippy::too_many_arguments)]
18151 pub async fn open_web_app(chat_id: i64, bot_user_id: i64, url: String, theme: Option<crate::types::ThemeParameters>, application_name: String, message_thread_id: i64, reply_to: Option<crate::enums::MessageReplyTo>, client_id: i32) -> Result<crate::enums::WebAppInfo, crate::types::Error> {
18152 let request = json!({
18153 "@type": "openWebApp",
18154 "chat_id": chat_id,
18155 "bot_user_id": bot_user_id,
18156 "url": url,
18157 "theme": theme,
18158 "application_name": application_name,
18159 "message_thread_id": message_thread_id,
18160 "reply_to": reply_to,
18161 });
18162 let response = send_request(client_id, request).await;
18163 if response["@type"] == "error" {
18164 return Err(serde_json::from_value(response).unwrap())
18165 }
18166 Ok(serde_json::from_value(response).unwrap())
18167 }
18168 #[allow(clippy::too_many_arguments)]
18173 pub async fn close_web_app(web_app_launch_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18174 let request = json!({
18175 "@type": "closeWebApp",
18176 "web_app_launch_id": web_app_launch_id,
18177 });
18178 let response = send_request(client_id, request).await;
18179 if response["@type"] == "error" {
18180 return Err(serde_json::from_value(response).unwrap())
18181 }
18182 Ok(())
18183 }
18184 #[allow(clippy::too_many_arguments)]
18190 pub async fn answer_web_app_query(web_app_query_id: String, result: crate::enums::InputInlineQueryResult, client_id: i32) -> Result<crate::enums::SentWebAppMessage, crate::types::Error> {
18191 let request = json!({
18192 "@type": "answerWebAppQuery",
18193 "web_app_query_id": web_app_query_id,
18194 "result": result,
18195 });
18196 let response = send_request(client_id, request).await;
18197 if response["@type"] == "error" {
18198 return Err(serde_json::from_value(response).unwrap())
18199 }
18200 Ok(serde_json::from_value(response).unwrap())
18201 }
18202 #[allow(clippy::too_many_arguments)]
18209 pub async fn get_callback_query_answer(chat_id: i64, message_id: i64, payload: crate::enums::CallbackQueryPayload, client_id: i32) -> Result<crate::enums::CallbackQueryAnswer, crate::types::Error> {
18210 let request = json!({
18211 "@type": "getCallbackQueryAnswer",
18212 "chat_id": chat_id,
18213 "message_id": message_id,
18214 "payload": payload,
18215 });
18216 let response = send_request(client_id, request).await;
18217 if response["@type"] == "error" {
18218 return Err(serde_json::from_value(response).unwrap())
18219 }
18220 Ok(serde_json::from_value(response).unwrap())
18221 }
18222 #[allow(clippy::too_many_arguments)]
18231 pub async fn answer_callback_query(callback_query_id: i64, text: String, show_alert: bool, url: String, cache_time: i32, client_id: i32) -> Result<(), crate::types::Error> {
18232 let request = json!({
18233 "@type": "answerCallbackQuery",
18234 "callback_query_id": callback_query_id,
18235 "text": text,
18236 "show_alert": show_alert,
18237 "url": url,
18238 "cache_time": cache_time,
18239 });
18240 let response = send_request(client_id, request).await;
18241 if response["@type"] == "error" {
18242 return Err(serde_json::from_value(response).unwrap())
18243 }
18244 Ok(())
18245 }
18246 #[allow(clippy::too_many_arguments)]
18253 pub async fn answer_shipping_query(shipping_query_id: i64, shipping_options: Vec<crate::types::ShippingOption>, error_message: String, client_id: i32) -> Result<(), crate::types::Error> {
18254 let request = json!({
18255 "@type": "answerShippingQuery",
18256 "shipping_query_id": shipping_query_id,
18257 "shipping_options": shipping_options,
18258 "error_message": error_message,
18259 });
18260 let response = send_request(client_id, request).await;
18261 if response["@type"] == "error" {
18262 return Err(serde_json::from_value(response).unwrap())
18263 }
18264 Ok(())
18265 }
18266 #[allow(clippy::too_many_arguments)]
18272 pub async fn answer_pre_checkout_query(pre_checkout_query_id: i64, error_message: String, client_id: i32) -> Result<(), crate::types::Error> {
18273 let request = json!({
18274 "@type": "answerPreCheckoutQuery",
18275 "pre_checkout_query_id": pre_checkout_query_id,
18276 "error_message": error_message,
18277 });
18278 let response = send_request(client_id, request).await;
18279 if response["@type"] == "error" {
18280 return Err(serde_json::from_value(response).unwrap())
18281 }
18282 Ok(())
18283 }
18284 #[allow(clippy::too_many_arguments)]
18294 pub async fn set_game_score(chat_id: i64, message_id: i64, edit_message: bool, user_id: i64, score: i32, force: bool, client_id: i32) -> Result<crate::enums::Message, crate::types::Error> {
18295 let request = json!({
18296 "@type": "setGameScore",
18297 "chat_id": chat_id,
18298 "message_id": message_id,
18299 "edit_message": edit_message,
18300 "user_id": user_id,
18301 "score": score,
18302 "force": force,
18303 });
18304 let response = send_request(client_id, request).await;
18305 if response["@type"] == "error" {
18306 return Err(serde_json::from_value(response).unwrap())
18307 }
18308 Ok(serde_json::from_value(response).unwrap())
18309 }
18310 #[allow(clippy::too_many_arguments)]
18319 pub async fn set_inline_game_score(inline_message_id: String, edit_message: bool, user_id: i64, score: i32, force: bool, client_id: i32) -> Result<(), crate::types::Error> {
18320 let request = json!({
18321 "@type": "setInlineGameScore",
18322 "inline_message_id": inline_message_id,
18323 "edit_message": edit_message,
18324 "user_id": user_id,
18325 "score": score,
18326 "force": force,
18327 });
18328 let response = send_request(client_id, request).await;
18329 if response["@type"] == "error" {
18330 return Err(serde_json::from_value(response).unwrap())
18331 }
18332 Ok(())
18333 }
18334 #[allow(clippy::too_many_arguments)]
18341 pub async fn get_game_high_scores(chat_id: i64, message_id: i64, user_id: i64, client_id: i32) -> Result<crate::enums::GameHighScores, crate::types::Error> {
18342 let request = json!({
18343 "@type": "getGameHighScores",
18344 "chat_id": chat_id,
18345 "message_id": message_id,
18346 "user_id": user_id,
18347 });
18348 let response = send_request(client_id, request).await;
18349 if response["@type"] == "error" {
18350 return Err(serde_json::from_value(response).unwrap())
18351 }
18352 Ok(serde_json::from_value(response).unwrap())
18353 }
18354 #[allow(clippy::too_many_arguments)]
18360 pub async fn get_inline_game_high_scores(inline_message_id: String, user_id: i64, client_id: i32) -> Result<crate::enums::GameHighScores, crate::types::Error> {
18361 let request = json!({
18362 "@type": "getInlineGameHighScores",
18363 "inline_message_id": inline_message_id,
18364 "user_id": user_id,
18365 });
18366 let response = send_request(client_id, request).await;
18367 if response["@type"] == "error" {
18368 return Err(serde_json::from_value(response).unwrap())
18369 }
18370 Ok(serde_json::from_value(response).unwrap())
18371 }
18372 #[allow(clippy::too_many_arguments)]
18378 pub async fn delete_chat_reply_markup(chat_id: i64, message_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18379 let request = json!({
18380 "@type": "deleteChatReplyMarkup",
18381 "chat_id": chat_id,
18382 "message_id": message_id,
18383 });
18384 let response = send_request(client_id, request).await;
18385 if response["@type"] == "error" {
18386 return Err(serde_json::from_value(response).unwrap())
18387 }
18388 Ok(())
18389 }
18390 #[allow(clippy::too_many_arguments)]
18397 pub async fn send_chat_action(chat_id: i64, message_thread_id: i64, action: Option<crate::enums::ChatAction>, client_id: i32) -> Result<(), crate::types::Error> {
18398 let request = json!({
18399 "@type": "sendChatAction",
18400 "chat_id": chat_id,
18401 "message_thread_id": message_thread_id,
18402 "action": action,
18403 });
18404 let response = send_request(client_id, request).await;
18405 if response["@type"] == "error" {
18406 return Err(serde_json::from_value(response).unwrap())
18407 }
18408 Ok(())
18409 }
18410 #[allow(clippy::too_many_arguments)]
18415 pub async fn open_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18416 let request = json!({
18417 "@type": "openChat",
18418 "chat_id": chat_id,
18419 });
18420 let response = send_request(client_id, request).await;
18421 if response["@type"] == "error" {
18422 return Err(serde_json::from_value(response).unwrap())
18423 }
18424 Ok(())
18425 }
18426 #[allow(clippy::too_many_arguments)]
18431 pub async fn close_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18432 let request = json!({
18433 "@type": "closeChat",
18434 "chat_id": chat_id,
18435 });
18436 let response = send_request(client_id, request).await;
18437 if response["@type"] == "error" {
18438 return Err(serde_json::from_value(response).unwrap())
18439 }
18440 Ok(())
18441 }
18442 #[allow(clippy::too_many_arguments)]
18451 pub async fn view_messages(chat_id: i64, message_ids: Vec<i64>, source: Option<crate::enums::MessageSource>, force_read: bool, client_id: i32) -> Result<(), crate::types::Error> {
18452 let request = json!({
18453 "@type": "viewMessages",
18454 "chat_id": chat_id,
18455 "message_ids": message_ids,
18456 "source": source,
18457 "force_read": force_read,
18458 });
18459 let response = send_request(client_id, request).await;
18460 if response["@type"] == "error" {
18461 return Err(serde_json::from_value(response).unwrap())
18462 }
18463 Ok(())
18464 }
18465 #[allow(clippy::too_many_arguments)]
18472 pub async fn open_message_content(chat_id: i64, message_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18473 let request = json!({
18474 "@type": "openMessageContent",
18475 "chat_id": chat_id,
18476 "message_id": message_id,
18477 });
18478 let response = send_request(client_id, request).await;
18479 if response["@type"] == "error" {
18480 return Err(serde_json::from_value(response).unwrap())
18481 }
18482 Ok(())
18483 }
18484 #[allow(clippy::too_many_arguments)]
18490 pub async fn click_animated_emoji_message(chat_id: i64, message_id: i64, client_id: i32) -> Result<crate::enums::Sticker, crate::types::Error> {
18491 let request = json!({
18492 "@type": "clickAnimatedEmojiMessage",
18493 "chat_id": chat_id,
18494 "message_id": message_id,
18495 });
18496 let response = send_request(client_id, request).await;
18497 if response["@type"] == "error" {
18498 return Err(serde_json::from_value(response).unwrap())
18499 }
18500 Ok(serde_json::from_value(response).unwrap())
18501 }
18502 #[allow(clippy::too_many_arguments)]
18508 pub async fn get_internal_link(r#type: crate::enums::InternalLinkType, is_http: bool, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
18509 let request = json!({
18510 "@type": "getInternalLink",
18511 "type": r#type,
18512 "is_http": is_http,
18513 });
18514 let response = send_request(client_id, request).await;
18515 if response["@type"] == "error" {
18516 return Err(serde_json::from_value(response).unwrap())
18517 }
18518 Ok(serde_json::from_value(response).unwrap())
18519 }
18520 #[allow(clippy::too_many_arguments)]
18525 pub async fn get_internal_link_type(link: String, client_id: i32) -> Result<crate::enums::InternalLinkType, crate::types::Error> {
18526 let request = json!({
18527 "@type": "getInternalLinkType",
18528 "link": link,
18529 });
18530 let response = send_request(client_id, request).await;
18531 if response["@type"] == "error" {
18532 return Err(serde_json::from_value(response).unwrap())
18533 }
18534 Ok(serde_json::from_value(response).unwrap())
18535 }
18536 #[allow(clippy::too_many_arguments)]
18541 pub async fn get_external_link_info(link: String, client_id: i32) -> Result<crate::enums::LoginUrlInfo, crate::types::Error> {
18542 let request = json!({
18543 "@type": "getExternalLinkInfo",
18544 "link": link,
18545 });
18546 let response = send_request(client_id, request).await;
18547 if response["@type"] == "error" {
18548 return Err(serde_json::from_value(response).unwrap())
18549 }
18550 Ok(serde_json::from_value(response).unwrap())
18551 }
18552 #[allow(clippy::too_many_arguments)]
18558 pub async fn get_external_link(link: String, allow_write_access: bool, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
18559 let request = json!({
18560 "@type": "getExternalLink",
18561 "link": link,
18562 "allow_write_access": allow_write_access,
18563 });
18564 let response = send_request(client_id, request).await;
18565 if response["@type"] == "error" {
18566 return Err(serde_json::from_value(response).unwrap())
18567 }
18568 Ok(serde_json::from_value(response).unwrap())
18569 }
18570 #[allow(clippy::too_many_arguments)]
18575 pub async fn read_all_chat_mentions(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18576 let request = json!({
18577 "@type": "readAllChatMentions",
18578 "chat_id": chat_id,
18579 });
18580 let response = send_request(client_id, request).await;
18581 if response["@type"] == "error" {
18582 return Err(serde_json::from_value(response).unwrap())
18583 }
18584 Ok(())
18585 }
18586 #[allow(clippy::too_many_arguments)]
18592 pub async fn read_all_message_thread_mentions(chat_id: i64, message_thread_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18593 let request = json!({
18594 "@type": "readAllMessageThreadMentions",
18595 "chat_id": chat_id,
18596 "message_thread_id": message_thread_id,
18597 });
18598 let response = send_request(client_id, request).await;
18599 if response["@type"] == "error" {
18600 return Err(serde_json::from_value(response).unwrap())
18601 }
18602 Ok(())
18603 }
18604 #[allow(clippy::too_many_arguments)]
18609 pub async fn read_all_chat_reactions(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18610 let request = json!({
18611 "@type": "readAllChatReactions",
18612 "chat_id": chat_id,
18613 });
18614 let response = send_request(client_id, request).await;
18615 if response["@type"] == "error" {
18616 return Err(serde_json::from_value(response).unwrap())
18617 }
18618 Ok(())
18619 }
18620 #[allow(clippy::too_many_arguments)]
18626 pub async fn read_all_message_thread_reactions(chat_id: i64, message_thread_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
18627 let request = json!({
18628 "@type": "readAllMessageThreadReactions",
18629 "chat_id": chat_id,
18630 "message_thread_id": message_thread_id,
18631 });
18632 let response = send_request(client_id, request).await;
18633 if response["@type"] == "error" {
18634 return Err(serde_json::from_value(response).unwrap())
18635 }
18636 Ok(())
18637 }
18638 #[allow(clippy::too_many_arguments)]
18644 pub async fn create_private_chat(user_id: i64, force: bool, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18645 let request = json!({
18646 "@type": "createPrivateChat",
18647 "user_id": user_id,
18648 "force": force,
18649 });
18650 let response = send_request(client_id, request).await;
18651 if response["@type"] == "error" {
18652 return Err(serde_json::from_value(response).unwrap())
18653 }
18654 Ok(serde_json::from_value(response).unwrap())
18655 }
18656 #[allow(clippy::too_many_arguments)]
18662 pub async fn create_basic_group_chat(basic_group_id: i64, force: bool, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18663 let request = json!({
18664 "@type": "createBasicGroupChat",
18665 "basic_group_id": basic_group_id,
18666 "force": force,
18667 });
18668 let response = send_request(client_id, request).await;
18669 if response["@type"] == "error" {
18670 return Err(serde_json::from_value(response).unwrap())
18671 }
18672 Ok(serde_json::from_value(response).unwrap())
18673 }
18674 #[allow(clippy::too_many_arguments)]
18680 pub async fn create_supergroup_chat(supergroup_id: i64, force: bool, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18681 let request = json!({
18682 "@type": "createSupergroupChat",
18683 "supergroup_id": supergroup_id,
18684 "force": force,
18685 });
18686 let response = send_request(client_id, request).await;
18687 if response["@type"] == "error" {
18688 return Err(serde_json::from_value(response).unwrap())
18689 }
18690 Ok(serde_json::from_value(response).unwrap())
18691 }
18692 #[allow(clippy::too_many_arguments)]
18697 pub async fn create_secret_chat(secret_chat_id: i32, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18698 let request = json!({
18699 "@type": "createSecretChat",
18700 "secret_chat_id": secret_chat_id,
18701 });
18702 let response = send_request(client_id, request).await;
18703 if response["@type"] == "error" {
18704 return Err(serde_json::from_value(response).unwrap())
18705 }
18706 Ok(serde_json::from_value(response).unwrap())
18707 }
18708 #[allow(clippy::too_many_arguments)]
18715 pub async fn create_new_basic_group_chat(user_ids: Vec<i64>, title: String, message_auto_delete_time: i32, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18716 let request = json!({
18717 "@type": "createNewBasicGroupChat",
18718 "user_ids": user_ids,
18719 "title": title,
18720 "message_auto_delete_time": message_auto_delete_time,
18721 });
18722 let response = send_request(client_id, request).await;
18723 if response["@type"] == "error" {
18724 return Err(serde_json::from_value(response).unwrap())
18725 }
18726 Ok(serde_json::from_value(response).unwrap())
18727 }
18728 #[allow(clippy::too_many_arguments)]
18739 pub async fn create_new_supergroup_chat(title: String, is_forum: bool, is_channel: bool, description: String, location: Option<crate::types::ChatLocation>, message_auto_delete_time: i32, for_import: bool, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18740 let request = json!({
18741 "@type": "createNewSupergroupChat",
18742 "title": title,
18743 "is_forum": is_forum,
18744 "is_channel": is_channel,
18745 "description": description,
18746 "location": location,
18747 "message_auto_delete_time": message_auto_delete_time,
18748 "for_import": for_import,
18749 });
18750 let response = send_request(client_id, request).await;
18751 if response["@type"] == "error" {
18752 return Err(serde_json::from_value(response).unwrap())
18753 }
18754 Ok(serde_json::from_value(response).unwrap())
18755 }
18756 #[allow(clippy::too_many_arguments)]
18761 pub async fn create_new_secret_chat(user_id: i64, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18762 let request = json!({
18763 "@type": "createNewSecretChat",
18764 "user_id": user_id,
18765 });
18766 let response = send_request(client_id, request).await;
18767 if response["@type"] == "error" {
18768 return Err(serde_json::from_value(response).unwrap())
18769 }
18770 Ok(serde_json::from_value(response).unwrap())
18771 }
18772 #[allow(clippy::too_many_arguments)]
18777 pub async fn upgrade_basic_group_chat_to_supergroup_chat(chat_id: i64, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
18778 let request = json!({
18779 "@type": "upgradeBasicGroupChatToSupergroupChat",
18780 "chat_id": chat_id,
18781 });
18782 let response = send_request(client_id, request).await;
18783 if response["@type"] == "error" {
18784 return Err(serde_json::from_value(response).unwrap())
18785 }
18786 Ok(serde_json::from_value(response).unwrap())
18787 }
18788 #[allow(clippy::too_many_arguments)]
18793 pub async fn get_chat_lists_to_add_chat(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatLists, crate::types::Error> {
18794 let request = json!({
18795 "@type": "getChatListsToAddChat",
18796 "chat_id": chat_id,
18797 });
18798 let response = send_request(client_id, request).await;
18799 if response["@type"] == "error" {
18800 return Err(serde_json::from_value(response).unwrap())
18801 }
18802 Ok(serde_json::from_value(response).unwrap())
18803 }
18804 #[allow(clippy::too_many_arguments)]
18810 pub async fn add_chat_to_list(chat_id: i64, chat_list: crate::enums::ChatList, client_id: i32) -> Result<(), crate::types::Error> {
18811 let request = json!({
18812 "@type": "addChatToList",
18813 "chat_id": chat_id,
18814 "chat_list": chat_list,
18815 });
18816 let response = send_request(client_id, request).await;
18817 if response["@type"] == "error" {
18818 return Err(serde_json::from_value(response).unwrap())
18819 }
18820 Ok(())
18821 }
18822 #[allow(clippy::too_many_arguments)]
18827 pub async fn get_chat_folder(chat_folder_id: i32, client_id: i32) -> Result<crate::enums::ChatFolder, crate::types::Error> {
18828 let request = json!({
18829 "@type": "getChatFolder",
18830 "chat_folder_id": chat_folder_id,
18831 });
18832 let response = send_request(client_id, request).await;
18833 if response["@type"] == "error" {
18834 return Err(serde_json::from_value(response).unwrap())
18835 }
18836 Ok(serde_json::from_value(response).unwrap())
18837 }
18838 #[allow(clippy::too_many_arguments)]
18843 pub async fn create_chat_folder(folder: crate::types::ChatFolder, client_id: i32) -> Result<crate::enums::ChatFolderInfo, crate::types::Error> {
18844 let request = json!({
18845 "@type": "createChatFolder",
18846 "folder": folder,
18847 });
18848 let response = send_request(client_id, request).await;
18849 if response["@type"] == "error" {
18850 return Err(serde_json::from_value(response).unwrap())
18851 }
18852 Ok(serde_json::from_value(response).unwrap())
18853 }
18854 #[allow(clippy::too_many_arguments)]
18860 pub async fn edit_chat_folder(chat_folder_id: i32, folder: crate::types::ChatFolder, client_id: i32) -> Result<crate::enums::ChatFolderInfo, crate::types::Error> {
18861 let request = json!({
18862 "@type": "editChatFolder",
18863 "chat_folder_id": chat_folder_id,
18864 "folder": folder,
18865 });
18866 let response = send_request(client_id, request).await;
18867 if response["@type"] == "error" {
18868 return Err(serde_json::from_value(response).unwrap())
18869 }
18870 Ok(serde_json::from_value(response).unwrap())
18871 }
18872 #[allow(clippy::too_many_arguments)]
18878 pub async fn delete_chat_folder(chat_folder_id: i32, leave_chat_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
18879 let request = json!({
18880 "@type": "deleteChatFolder",
18881 "chat_folder_id": chat_folder_id,
18882 "leave_chat_ids": leave_chat_ids,
18883 });
18884 let response = send_request(client_id, request).await;
18885 if response["@type"] == "error" {
18886 return Err(serde_json::from_value(response).unwrap())
18887 }
18888 Ok(())
18889 }
18890 #[allow(clippy::too_many_arguments)]
18895 pub async fn get_chat_folder_chats_to_leave(chat_folder_id: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
18896 let request = json!({
18897 "@type": "getChatFolderChatsToLeave",
18898 "chat_folder_id": chat_folder_id,
18899 });
18900 let response = send_request(client_id, request).await;
18901 if response["@type"] == "error" {
18902 return Err(serde_json::from_value(response).unwrap())
18903 }
18904 Ok(serde_json::from_value(response).unwrap())
18905 }
18906 #[allow(clippy::too_many_arguments)]
18911 pub async fn get_chat_folder_chat_count(folder: crate::types::ChatFolder, client_id: i32) -> Result<crate::enums::Count, crate::types::Error> {
18912 let request = json!({
18913 "@type": "getChatFolderChatCount",
18914 "folder": folder,
18915 });
18916 let response = send_request(client_id, request).await;
18917 if response["@type"] == "error" {
18918 return Err(serde_json::from_value(response).unwrap())
18919 }
18920 Ok(serde_json::from_value(response).unwrap())
18921 }
18922 #[allow(clippy::too_many_arguments)]
18928 pub async fn reorder_chat_folders(chat_folder_ids: Vec<i32>, main_chat_list_position: i32, client_id: i32) -> Result<(), crate::types::Error> {
18929 let request = json!({
18930 "@type": "reorderChatFolders",
18931 "chat_folder_ids": chat_folder_ids,
18932 "main_chat_list_position": main_chat_list_position,
18933 });
18934 let response = send_request(client_id, request).await;
18935 if response["@type"] == "error" {
18936 return Err(serde_json::from_value(response).unwrap())
18937 }
18938 Ok(())
18939 }
18940 #[allow(clippy::too_many_arguments)]
18944 pub async fn get_recommended_chat_folders(client_id: i32) -> Result<crate::enums::RecommendedChatFolders, crate::types::Error> {
18945 let request = json!({
18946 "@type": "getRecommendedChatFolders",
18947 });
18948 let response = send_request(client_id, request).await;
18949 if response["@type"] == "error" {
18950 return Err(serde_json::from_value(response).unwrap())
18951 }
18952 Ok(serde_json::from_value(response).unwrap())
18953 }
18954 #[allow(clippy::too_many_arguments)]
18959 pub async fn get_chat_folder_default_icon_name(folder: crate::types::ChatFolder, client_id: i32) -> Result<crate::enums::ChatFolderIcon, crate::types::Error> {
18960 let request = json!({
18961 "@type": "getChatFolderDefaultIconName",
18962 "folder": folder,
18963 });
18964 let response = send_request(client_id, request).await;
18965 if response["@type"] == "error" {
18966 return Err(serde_json::from_value(response).unwrap())
18967 }
18968 Ok(serde_json::from_value(response).unwrap())
18969 }
18970 #[allow(clippy::too_many_arguments)]
18975 pub async fn get_chats_for_chat_folder_invite_link(chat_folder_id: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
18976 let request = json!({
18977 "@type": "getChatsForChatFolderInviteLink",
18978 "chat_folder_id": chat_folder_id,
18979 });
18980 let response = send_request(client_id, request).await;
18981 if response["@type"] == "error" {
18982 return Err(serde_json::from_value(response).unwrap())
18983 }
18984 Ok(serde_json::from_value(response).unwrap())
18985 }
18986 #[allow(clippy::too_many_arguments)]
18993 pub async fn create_chat_folder_invite_link(chat_folder_id: i32, name: String, chat_ids: Vec<i64>, client_id: i32) -> Result<crate::enums::ChatFolderInviteLink, crate::types::Error> {
18994 let request = json!({
18995 "@type": "createChatFolderInviteLink",
18996 "chat_folder_id": chat_folder_id,
18997 "name": name,
18998 "chat_ids": chat_ids,
18999 });
19000 let response = send_request(client_id, request).await;
19001 if response["@type"] == "error" {
19002 return Err(serde_json::from_value(response).unwrap())
19003 }
19004 Ok(serde_json::from_value(response).unwrap())
19005 }
19006 #[allow(clippy::too_many_arguments)]
19011 pub async fn get_chat_folder_invite_links(chat_folder_id: i32, client_id: i32) -> Result<crate::enums::ChatFolderInviteLinks, crate::types::Error> {
19012 let request = json!({
19013 "@type": "getChatFolderInviteLinks",
19014 "chat_folder_id": chat_folder_id,
19015 });
19016 let response = send_request(client_id, request).await;
19017 if response["@type"] == "error" {
19018 return Err(serde_json::from_value(response).unwrap())
19019 }
19020 Ok(serde_json::from_value(response).unwrap())
19021 }
19022 #[allow(clippy::too_many_arguments)]
19030 pub async fn edit_chat_folder_invite_link(chat_folder_id: i32, invite_link: String, name: String, chat_ids: Vec<i64>, client_id: i32) -> Result<crate::enums::ChatFolderInviteLink, crate::types::Error> {
19031 let request = json!({
19032 "@type": "editChatFolderInviteLink",
19033 "chat_folder_id": chat_folder_id,
19034 "invite_link": invite_link,
19035 "name": name,
19036 "chat_ids": chat_ids,
19037 });
19038 let response = send_request(client_id, request).await;
19039 if response["@type"] == "error" {
19040 return Err(serde_json::from_value(response).unwrap())
19041 }
19042 Ok(serde_json::from_value(response).unwrap())
19043 }
19044 #[allow(clippy::too_many_arguments)]
19050 pub async fn delete_chat_folder_invite_link(chat_folder_id: i32, invite_link: String, client_id: i32) -> Result<(), crate::types::Error> {
19051 let request = json!({
19052 "@type": "deleteChatFolderInviteLink",
19053 "chat_folder_id": chat_folder_id,
19054 "invite_link": invite_link,
19055 });
19056 let response = send_request(client_id, request).await;
19057 if response["@type"] == "error" {
19058 return Err(serde_json::from_value(response).unwrap())
19059 }
19060 Ok(())
19061 }
19062 #[allow(clippy::too_many_arguments)]
19067 pub async fn check_chat_folder_invite_link(invite_link: String, client_id: i32) -> Result<crate::enums::ChatFolderInviteLinkInfo, crate::types::Error> {
19068 let request = json!({
19069 "@type": "checkChatFolderInviteLink",
19070 "invite_link": invite_link,
19071 });
19072 let response = send_request(client_id, request).await;
19073 if response["@type"] == "error" {
19074 return Err(serde_json::from_value(response).unwrap())
19075 }
19076 Ok(serde_json::from_value(response).unwrap())
19077 }
19078 #[allow(clippy::too_many_arguments)]
19084 pub async fn add_chat_folder_by_invite_link(invite_link: String, chat_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
19085 let request = json!({
19086 "@type": "addChatFolderByInviteLink",
19087 "invite_link": invite_link,
19088 "chat_ids": chat_ids,
19089 });
19090 let response = send_request(client_id, request).await;
19091 if response["@type"] == "error" {
19092 return Err(serde_json::from_value(response).unwrap())
19093 }
19094 Ok(())
19095 }
19096 #[allow(clippy::too_many_arguments)]
19101 pub async fn get_chat_folder_new_chats(chat_folder_id: i32, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
19102 let request = json!({
19103 "@type": "getChatFolderNewChats",
19104 "chat_folder_id": chat_folder_id,
19105 });
19106 let response = send_request(client_id, request).await;
19107 if response["@type"] == "error" {
19108 return Err(serde_json::from_value(response).unwrap())
19109 }
19110 Ok(serde_json::from_value(response).unwrap())
19111 }
19112 #[allow(clippy::too_many_arguments)]
19118 pub async fn process_chat_folder_new_chats(chat_folder_id: i32, added_chat_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
19119 let request = json!({
19120 "@type": "processChatFolderNewChats",
19121 "chat_folder_id": chat_folder_id,
19122 "added_chat_ids": added_chat_ids,
19123 });
19124 let response = send_request(client_id, request).await;
19125 if response["@type"] == "error" {
19126 return Err(serde_json::from_value(response).unwrap())
19127 }
19128 Ok(())
19129 }
19130 #[allow(clippy::too_many_arguments)]
19134 pub async fn get_archive_chat_list_settings(client_id: i32) -> Result<crate::enums::ArchiveChatListSettings, crate::types::Error> {
19135 let request = json!({
19136 "@type": "getArchiveChatListSettings",
19137 });
19138 let response = send_request(client_id, request).await;
19139 if response["@type"] == "error" {
19140 return Err(serde_json::from_value(response).unwrap())
19141 }
19142 Ok(serde_json::from_value(response).unwrap())
19143 }
19144 #[allow(clippy::too_many_arguments)]
19149 pub async fn set_archive_chat_list_settings(settings: crate::types::ArchiveChatListSettings, client_id: i32) -> Result<(), crate::types::Error> {
19150 let request = json!({
19151 "@type": "setArchiveChatListSettings",
19152 "settings": settings,
19153 });
19154 let response = send_request(client_id, request).await;
19155 if response["@type"] == "error" {
19156 return Err(serde_json::from_value(response).unwrap())
19157 }
19158 Ok(())
19159 }
19160 #[allow(clippy::too_many_arguments)]
19166 pub async fn set_chat_title(chat_id: i64, title: String, client_id: i32) -> Result<(), crate::types::Error> {
19167 let request = json!({
19168 "@type": "setChatTitle",
19169 "chat_id": chat_id,
19170 "title": title,
19171 });
19172 let response = send_request(client_id, request).await;
19173 if response["@type"] == "error" {
19174 return Err(serde_json::from_value(response).unwrap())
19175 }
19176 Ok(())
19177 }
19178 #[allow(clippy::too_many_arguments)]
19184 pub async fn set_chat_photo(chat_id: i64, photo: Option<crate::enums::InputChatPhoto>, client_id: i32) -> Result<(), crate::types::Error> {
19185 let request = json!({
19186 "@type": "setChatPhoto",
19187 "chat_id": chat_id,
19188 "photo": photo,
19189 });
19190 let response = send_request(client_id, request).await;
19191 if response["@type"] == "error" {
19192 return Err(serde_json::from_value(response).unwrap())
19193 }
19194 Ok(())
19195 }
19196 #[allow(clippy::too_many_arguments)]
19203 pub async fn set_chat_message_auto_delete_time(chat_id: i64, message_auto_delete_time: i32, client_id: i32) -> Result<(), crate::types::Error> {
19204 let request = json!({
19205 "@type": "setChatMessageAutoDeleteTime",
19206 "chat_id": chat_id,
19207 "message_auto_delete_time": message_auto_delete_time,
19208 });
19209 let response = send_request(client_id, request).await;
19210 if response["@type"] == "error" {
19211 return Err(serde_json::from_value(response).unwrap())
19212 }
19213 Ok(())
19214 }
19215 #[allow(clippy::too_many_arguments)]
19221 pub async fn set_chat_permissions(chat_id: i64, permissions: crate::types::ChatPermissions, client_id: i32) -> Result<(), crate::types::Error> {
19222 let request = json!({
19223 "@type": "setChatPermissions",
19224 "chat_id": chat_id,
19225 "permissions": permissions,
19226 });
19227 let response = send_request(client_id, request).await;
19228 if response["@type"] == "error" {
19229 return Err(serde_json::from_value(response).unwrap())
19230 }
19231 Ok(())
19232 }
19233 #[allow(clippy::too_many_arguments)]
19241 pub async fn set_chat_background(chat_id: i64, background: Option<crate::enums::InputBackground>, r#type: Option<crate::enums::BackgroundType>, dark_theme_dimming: i32, client_id: i32) -> Result<(), crate::types::Error> {
19242 let request = json!({
19243 "@type": "setChatBackground",
19244 "chat_id": chat_id,
19245 "background": background,
19246 "type": r#type,
19247 "dark_theme_dimming": dark_theme_dimming,
19248 });
19249 let response = send_request(client_id, request).await;
19250 if response["@type"] == "error" {
19251 return Err(serde_json::from_value(response).unwrap())
19252 }
19253 Ok(())
19254 }
19255 #[allow(clippy::too_many_arguments)]
19261 pub async fn set_chat_theme(chat_id: i64, theme_name: String, client_id: i32) -> Result<(), crate::types::Error> {
19262 let request = json!({
19263 "@type": "setChatTheme",
19264 "chat_id": chat_id,
19265 "theme_name": theme_name,
19266 });
19267 let response = send_request(client_id, request).await;
19268 if response["@type"] == "error" {
19269 return Err(serde_json::from_value(response).unwrap())
19270 }
19271 Ok(())
19272 }
19273 #[allow(clippy::too_many_arguments)]
19280 pub async fn set_chat_draft_message(chat_id: i64, message_thread_id: i64, draft_message: Option<crate::types::DraftMessage>, client_id: i32) -> Result<(), crate::types::Error> {
19281 let request = json!({
19282 "@type": "setChatDraftMessage",
19283 "chat_id": chat_id,
19284 "message_thread_id": message_thread_id,
19285 "draft_message": draft_message,
19286 });
19287 let response = send_request(client_id, request).await;
19288 if response["@type"] == "error" {
19289 return Err(serde_json::from_value(response).unwrap())
19290 }
19291 Ok(())
19292 }
19293 #[allow(clippy::too_many_arguments)]
19299 pub async fn set_chat_notification_settings(chat_id: i64, notification_settings: crate::types::ChatNotificationSettings, client_id: i32) -> Result<(), crate::types::Error> {
19300 let request = json!({
19301 "@type": "setChatNotificationSettings",
19302 "chat_id": chat_id,
19303 "notification_settings": notification_settings,
19304 });
19305 let response = send_request(client_id, request).await;
19306 if response["@type"] == "error" {
19307 return Err(serde_json::from_value(response).unwrap())
19308 }
19309 Ok(())
19310 }
19311 #[allow(clippy::too_many_arguments)]
19317 pub async fn toggle_chat_has_protected_content(chat_id: i64, has_protected_content: bool, client_id: i32) -> Result<(), crate::types::Error> {
19318 let request = json!({
19319 "@type": "toggleChatHasProtectedContent",
19320 "chat_id": chat_id,
19321 "has_protected_content": has_protected_content,
19322 });
19323 let response = send_request(client_id, request).await;
19324 if response["@type"] == "error" {
19325 return Err(serde_json::from_value(response).unwrap())
19326 }
19327 Ok(())
19328 }
19329 #[allow(clippy::too_many_arguments)]
19335 pub async fn toggle_chat_is_translatable(chat_id: i64, is_translatable: bool, client_id: i32) -> Result<(), crate::types::Error> {
19336 let request = json!({
19337 "@type": "toggleChatIsTranslatable",
19338 "chat_id": chat_id,
19339 "is_translatable": is_translatable,
19340 });
19341 let response = send_request(client_id, request).await;
19342 if response["@type"] == "error" {
19343 return Err(serde_json::from_value(response).unwrap())
19344 }
19345 Ok(())
19346 }
19347 #[allow(clippy::too_many_arguments)]
19353 pub async fn toggle_chat_is_marked_as_unread(chat_id: i64, is_marked_as_unread: bool, client_id: i32) -> Result<(), crate::types::Error> {
19354 let request = json!({
19355 "@type": "toggleChatIsMarkedAsUnread",
19356 "chat_id": chat_id,
19357 "is_marked_as_unread": is_marked_as_unread,
19358 });
19359 let response = send_request(client_id, request).await;
19360 if response["@type"] == "error" {
19361 return Err(serde_json::from_value(response).unwrap())
19362 }
19363 Ok(())
19364 }
19365 #[allow(clippy::too_many_arguments)]
19371 pub async fn toggle_chat_default_disable_notification(chat_id: i64, default_disable_notification: bool, client_id: i32) -> Result<(), crate::types::Error> {
19372 let request = json!({
19373 "@type": "toggleChatDefaultDisableNotification",
19374 "chat_id": chat_id,
19375 "default_disable_notification": default_disable_notification,
19376 });
19377 let response = send_request(client_id, request).await;
19378 if response["@type"] == "error" {
19379 return Err(serde_json::from_value(response).unwrap())
19380 }
19381 Ok(())
19382 }
19383 #[allow(clippy::too_many_arguments)]
19389 pub async fn set_chat_available_reactions(chat_id: i64, available_reactions: crate::enums::ChatAvailableReactions, client_id: i32) -> Result<(), crate::types::Error> {
19390 let request = json!({
19391 "@type": "setChatAvailableReactions",
19392 "chat_id": chat_id,
19393 "available_reactions": available_reactions,
19394 });
19395 let response = send_request(client_id, request).await;
19396 if response["@type"] == "error" {
19397 return Err(serde_json::from_value(response).unwrap())
19398 }
19399 Ok(())
19400 }
19401 #[allow(clippy::too_many_arguments)]
19407 pub async fn set_chat_client_data(chat_id: i64, client_data: String, client_id: i32) -> Result<(), crate::types::Error> {
19408 let request = json!({
19409 "@type": "setChatClientData",
19410 "chat_id": chat_id,
19411 "client_data": client_data,
19412 });
19413 let response = send_request(client_id, request).await;
19414 if response["@type"] == "error" {
19415 return Err(serde_json::from_value(response).unwrap())
19416 }
19417 Ok(())
19418 }
19419 #[allow(clippy::too_many_arguments)]
19425 pub async fn set_chat_description(chat_id: i64, description: String, client_id: i32) -> Result<(), crate::types::Error> {
19426 let request = json!({
19427 "@type": "setChatDescription",
19428 "chat_id": chat_id,
19429 "description": description,
19430 });
19431 let response = send_request(client_id, request).await;
19432 if response["@type"] == "error" {
19433 return Err(serde_json::from_value(response).unwrap())
19434 }
19435 Ok(())
19436 }
19437 #[allow(clippy::too_many_arguments)]
19444 pub async fn set_chat_discussion_group(chat_id: i64, discussion_chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
19445 let request = json!({
19446 "@type": "setChatDiscussionGroup",
19447 "chat_id": chat_id,
19448 "discussion_chat_id": discussion_chat_id,
19449 });
19450 let response = send_request(client_id, request).await;
19451 if response["@type"] == "error" {
19452 return Err(serde_json::from_value(response).unwrap())
19453 }
19454 Ok(())
19455 }
19456 #[allow(clippy::too_many_arguments)]
19462 pub async fn set_chat_location(chat_id: i64, location: crate::types::ChatLocation, client_id: i32) -> Result<(), crate::types::Error> {
19463 let request = json!({
19464 "@type": "setChatLocation",
19465 "chat_id": chat_id,
19466 "location": location,
19467 });
19468 let response = send_request(client_id, request).await;
19469 if response["@type"] == "error" {
19470 return Err(serde_json::from_value(response).unwrap())
19471 }
19472 Ok(())
19473 }
19474 #[allow(clippy::too_many_arguments)]
19480 pub async fn set_chat_slow_mode_delay(chat_id: i64, slow_mode_delay: i32, client_id: i32) -> Result<(), crate::types::Error> {
19481 let request = json!({
19482 "@type": "setChatSlowModeDelay",
19483 "chat_id": chat_id,
19484 "slow_mode_delay": slow_mode_delay,
19485 });
19486 let response = send_request(client_id, request).await;
19487 if response["@type"] == "error" {
19488 return Err(serde_json::from_value(response).unwrap())
19489 }
19490 Ok(())
19491 }
19492 #[allow(clippy::too_many_arguments)]
19500 pub async fn pin_chat_message(chat_id: i64, message_id: i64, disable_notification: bool, only_for_self: bool, client_id: i32) -> Result<(), crate::types::Error> {
19501 let request = json!({
19502 "@type": "pinChatMessage",
19503 "chat_id": chat_id,
19504 "message_id": message_id,
19505 "disable_notification": disable_notification,
19506 "only_for_self": only_for_self,
19507 });
19508 let response = send_request(client_id, request).await;
19509 if response["@type"] == "error" {
19510 return Err(serde_json::from_value(response).unwrap())
19511 }
19512 Ok(())
19513 }
19514 #[allow(clippy::too_many_arguments)]
19520 pub async fn unpin_chat_message(chat_id: i64, message_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
19521 let request = json!({
19522 "@type": "unpinChatMessage",
19523 "chat_id": chat_id,
19524 "message_id": message_id,
19525 });
19526 let response = send_request(client_id, request).await;
19527 if response["@type"] == "error" {
19528 return Err(serde_json::from_value(response).unwrap())
19529 }
19530 Ok(())
19531 }
19532 #[allow(clippy::too_many_arguments)]
19537 pub async fn unpin_all_chat_messages(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
19538 let request = json!({
19539 "@type": "unpinAllChatMessages",
19540 "chat_id": chat_id,
19541 });
19542 let response = send_request(client_id, request).await;
19543 if response["@type"] == "error" {
19544 return Err(serde_json::from_value(response).unwrap())
19545 }
19546 Ok(())
19547 }
19548 #[allow(clippy::too_many_arguments)]
19554 pub async fn unpin_all_message_thread_messages(chat_id: i64, message_thread_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
19555 let request = json!({
19556 "@type": "unpinAllMessageThreadMessages",
19557 "chat_id": chat_id,
19558 "message_thread_id": message_thread_id,
19559 });
19560 let response = send_request(client_id, request).await;
19561 if response["@type"] == "error" {
19562 return Err(serde_json::from_value(response).unwrap())
19563 }
19564 Ok(())
19565 }
19566 #[allow(clippy::too_many_arguments)]
19571 pub async fn join_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
19572 let request = json!({
19573 "@type": "joinChat",
19574 "chat_id": chat_id,
19575 });
19576 let response = send_request(client_id, request).await;
19577 if response["@type"] == "error" {
19578 return Err(serde_json::from_value(response).unwrap())
19579 }
19580 Ok(())
19581 }
19582 #[allow(clippy::too_many_arguments)]
19587 pub async fn leave_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
19588 let request = json!({
19589 "@type": "leaveChat",
19590 "chat_id": chat_id,
19591 });
19592 let response = send_request(client_id, request).await;
19593 if response["@type"] == "error" {
19594 return Err(serde_json::from_value(response).unwrap())
19595 }
19596 Ok(())
19597 }
19598 #[allow(clippy::too_many_arguments)]
19605 pub async fn add_chat_member(chat_id: i64, user_id: i64, forward_limit: i32, client_id: i32) -> Result<(), crate::types::Error> {
19606 let request = json!({
19607 "@type": "addChatMember",
19608 "chat_id": chat_id,
19609 "user_id": user_id,
19610 "forward_limit": forward_limit,
19611 });
19612 let response = send_request(client_id, request).await;
19613 if response["@type"] == "error" {
19614 return Err(serde_json::from_value(response).unwrap())
19615 }
19616 Ok(())
19617 }
19618 #[allow(clippy::too_many_arguments)]
19624 pub async fn add_chat_members(chat_id: i64, user_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
19625 let request = json!({
19626 "@type": "addChatMembers",
19627 "chat_id": chat_id,
19628 "user_ids": user_ids,
19629 });
19630 let response = send_request(client_id, request).await;
19631 if response["@type"] == "error" {
19632 return Err(serde_json::from_value(response).unwrap())
19633 }
19634 Ok(())
19635 }
19636 #[allow(clippy::too_many_arguments)]
19643 pub async fn set_chat_member_status(chat_id: i64, member_id: crate::enums::MessageSender, status: crate::enums::ChatMemberStatus, client_id: i32) -> Result<(), crate::types::Error> {
19644 let request = json!({
19645 "@type": "setChatMemberStatus",
19646 "chat_id": chat_id,
19647 "member_id": member_id,
19648 "status": status,
19649 });
19650 let response = send_request(client_id, request).await;
19651 if response["@type"] == "error" {
19652 return Err(serde_json::from_value(response).unwrap())
19653 }
19654 Ok(())
19655 }
19656 #[allow(clippy::too_many_arguments)]
19664 pub async fn ban_chat_member(chat_id: i64, member_id: crate::enums::MessageSender, banned_until_date: i32, revoke_messages: bool, client_id: i32) -> Result<(), crate::types::Error> {
19665 let request = json!({
19666 "@type": "banChatMember",
19667 "chat_id": chat_id,
19668 "member_id": member_id,
19669 "banned_until_date": banned_until_date,
19670 "revoke_messages": revoke_messages,
19671 });
19672 let response = send_request(client_id, request).await;
19673 if response["@type"] == "error" {
19674 return Err(serde_json::from_value(response).unwrap())
19675 }
19676 Ok(())
19677 }
19678 #[allow(clippy::too_many_arguments)]
19682 pub async fn can_transfer_ownership(client_id: i32) -> Result<crate::enums::CanTransferOwnershipResult, crate::types::Error> {
19683 let request = json!({
19684 "@type": "canTransferOwnership",
19685 });
19686 let response = send_request(client_id, request).await;
19687 if response["@type"] == "error" {
19688 return Err(serde_json::from_value(response).unwrap())
19689 }
19690 Ok(serde_json::from_value(response).unwrap())
19691 }
19692 #[allow(clippy::too_many_arguments)]
19699 pub async fn transfer_chat_ownership(chat_id: i64, user_id: i64, password: String, client_id: i32) -> Result<(), crate::types::Error> {
19700 let request = json!({
19701 "@type": "transferChatOwnership",
19702 "chat_id": chat_id,
19703 "user_id": user_id,
19704 "password": password,
19705 });
19706 let response = send_request(client_id, request).await;
19707 if response["@type"] == "error" {
19708 return Err(serde_json::from_value(response).unwrap())
19709 }
19710 Ok(())
19711 }
19712 #[allow(clippy::too_many_arguments)]
19718 pub async fn get_chat_member(chat_id: i64, member_id: crate::enums::MessageSender, client_id: i32) -> Result<crate::enums::ChatMember, crate::types::Error> {
19719 let request = json!({
19720 "@type": "getChatMember",
19721 "chat_id": chat_id,
19722 "member_id": member_id,
19723 });
19724 let response = send_request(client_id, request).await;
19725 if response["@type"] == "error" {
19726 return Err(serde_json::from_value(response).unwrap())
19727 }
19728 Ok(serde_json::from_value(response).unwrap())
19729 }
19730 #[allow(clippy::too_many_arguments)]
19738 pub async fn search_chat_members(chat_id: i64, query: String, limit: i32, filter: Option<crate::enums::ChatMembersFilter>, client_id: i32) -> Result<crate::enums::ChatMembers, crate::types::Error> {
19739 let request = json!({
19740 "@type": "searchChatMembers",
19741 "chat_id": chat_id,
19742 "query": query,
19743 "limit": limit,
19744 "filter": filter,
19745 });
19746 let response = send_request(client_id, request).await;
19747 if response["@type"] == "error" {
19748 return Err(serde_json::from_value(response).unwrap())
19749 }
19750 Ok(serde_json::from_value(response).unwrap())
19751 }
19752 #[allow(clippy::too_many_arguments)]
19757 pub async fn get_chat_administrators(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatAdministrators, crate::types::Error> {
19758 let request = json!({
19759 "@type": "getChatAdministrators",
19760 "chat_id": chat_id,
19761 });
19762 let response = send_request(client_id, request).await;
19763 if response["@type"] == "error" {
19764 return Err(serde_json::from_value(response).unwrap())
19765 }
19766 Ok(serde_json::from_value(response).unwrap())
19767 }
19768 #[allow(clippy::too_many_arguments)]
19773 pub async fn clear_all_draft_messages(exclude_secret_chats: bool, client_id: i32) -> Result<(), crate::types::Error> {
19774 let request = json!({
19775 "@type": "clearAllDraftMessages",
19776 "exclude_secret_chats": exclude_secret_chats,
19777 });
19778 let response = send_request(client_id, request).await;
19779 if response["@type"] == "error" {
19780 return Err(serde_json::from_value(response).unwrap())
19781 }
19782 Ok(())
19783 }
19784 #[allow(clippy::too_many_arguments)]
19789 pub async fn get_saved_notification_sound(notification_sound_id: i64, client_id: i32) -> Result<crate::enums::NotificationSounds, crate::types::Error> {
19790 let request = json!({
19791 "@type": "getSavedNotificationSound",
19792 "notification_sound_id": notification_sound_id,
19793 });
19794 let response = send_request(client_id, request).await;
19795 if response["@type"] == "error" {
19796 return Err(serde_json::from_value(response).unwrap())
19797 }
19798 Ok(serde_json::from_value(response).unwrap())
19799 }
19800 #[allow(clippy::too_many_arguments)]
19804 pub async fn get_saved_notification_sounds(client_id: i32) -> Result<crate::enums::NotificationSounds, crate::types::Error> {
19805 let request = json!({
19806 "@type": "getSavedNotificationSounds",
19807 });
19808 let response = send_request(client_id, request).await;
19809 if response["@type"] == "error" {
19810 return Err(serde_json::from_value(response).unwrap())
19811 }
19812 Ok(serde_json::from_value(response).unwrap())
19813 }
19814 #[allow(clippy::too_many_arguments)]
19819 pub async fn add_saved_notification_sound(sound: crate::enums::InputFile, client_id: i32) -> Result<crate::enums::NotificationSound, crate::types::Error> {
19820 let request = json!({
19821 "@type": "addSavedNotificationSound",
19822 "sound": sound,
19823 });
19824 let response = send_request(client_id, request).await;
19825 if response["@type"] == "error" {
19826 return Err(serde_json::from_value(response).unwrap())
19827 }
19828 Ok(serde_json::from_value(response).unwrap())
19829 }
19830 #[allow(clippy::too_many_arguments)]
19835 pub async fn remove_saved_notification_sound(notification_sound_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
19836 let request = json!({
19837 "@type": "removeSavedNotificationSound",
19838 "notification_sound_id": notification_sound_id,
19839 });
19840 let response = send_request(client_id, request).await;
19841 if response["@type"] == "error" {
19842 return Err(serde_json::from_value(response).unwrap())
19843 }
19844 Ok(())
19845 }
19846 #[allow(clippy::too_many_arguments)]
19852 pub async fn get_chat_notification_settings_exceptions(scope: Option<crate::enums::NotificationSettingsScope>, compare_sound: bool, client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
19853 let request = json!({
19854 "@type": "getChatNotificationSettingsExceptions",
19855 "scope": scope,
19856 "compare_sound": compare_sound,
19857 });
19858 let response = send_request(client_id, request).await;
19859 if response["@type"] == "error" {
19860 return Err(serde_json::from_value(response).unwrap())
19861 }
19862 Ok(serde_json::from_value(response).unwrap())
19863 }
19864 #[allow(clippy::too_many_arguments)]
19869 pub async fn get_scope_notification_settings(scope: crate::enums::NotificationSettingsScope, client_id: i32) -> Result<crate::enums::ScopeNotificationSettings, crate::types::Error> {
19870 let request = json!({
19871 "@type": "getScopeNotificationSettings",
19872 "scope": scope,
19873 });
19874 let response = send_request(client_id, request).await;
19875 if response["@type"] == "error" {
19876 return Err(serde_json::from_value(response).unwrap())
19877 }
19878 Ok(serde_json::from_value(response).unwrap())
19879 }
19880 #[allow(clippy::too_many_arguments)]
19886 pub async fn set_scope_notification_settings(scope: crate::enums::NotificationSettingsScope, notification_settings: crate::types::ScopeNotificationSettings, client_id: i32) -> Result<(), crate::types::Error> {
19887 let request = json!({
19888 "@type": "setScopeNotificationSettings",
19889 "scope": scope,
19890 "notification_settings": notification_settings,
19891 });
19892 let response = send_request(client_id, request).await;
19893 if response["@type"] == "error" {
19894 return Err(serde_json::from_value(response).unwrap())
19895 }
19896 Ok(())
19897 }
19898 #[allow(clippy::too_many_arguments)]
19902 pub async fn reset_all_notification_settings(client_id: i32) -> Result<(), crate::types::Error> {
19903 let request = json!({
19904 "@type": "resetAllNotificationSettings",
19905 });
19906 let response = send_request(client_id, request).await;
19907 if response["@type"] == "error" {
19908 return Err(serde_json::from_value(response).unwrap())
19909 }
19910 Ok(())
19911 }
19912 #[allow(clippy::too_many_arguments)]
19919 pub async fn toggle_chat_is_pinned(chat_list: crate::enums::ChatList, chat_id: i64, is_pinned: bool, client_id: i32) -> Result<(), crate::types::Error> {
19920 let request = json!({
19921 "@type": "toggleChatIsPinned",
19922 "chat_list": chat_list,
19923 "chat_id": chat_id,
19924 "is_pinned": is_pinned,
19925 });
19926 let response = send_request(client_id, request).await;
19927 if response["@type"] == "error" {
19928 return Err(serde_json::from_value(response).unwrap())
19929 }
19930 Ok(())
19931 }
19932 #[allow(clippy::too_many_arguments)]
19938 pub async fn set_pinned_chats(chat_list: crate::enums::ChatList, chat_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
19939 let request = json!({
19940 "@type": "setPinnedChats",
19941 "chat_list": chat_list,
19942 "chat_ids": chat_ids,
19943 });
19944 let response = send_request(client_id, request).await;
19945 if response["@type"] == "error" {
19946 return Err(serde_json::from_value(response).unwrap())
19947 }
19948 Ok(())
19949 }
19950 #[allow(clippy::too_many_arguments)]
19955 pub async fn read_chat_list(chat_list: crate::enums::ChatList, client_id: i32) -> Result<(), crate::types::Error> {
19956 let request = json!({
19957 "@type": "readChatList",
19958 "chat_list": chat_list,
19959 });
19960 let response = send_request(client_id, request).await;
19961 if response["@type"] == "error" {
19962 return Err(serde_json::from_value(response).unwrap())
19963 }
19964 Ok(())
19965 }
19966 #[allow(clippy::too_many_arguments)]
19973 pub async fn get_story(story_sender_chat_id: i64, story_id: i32, only_local: bool, client_id: i32) -> Result<crate::enums::Story, crate::types::Error> {
19974 let request = json!({
19975 "@type": "getStory",
19976 "story_sender_chat_id": story_sender_chat_id,
19977 "story_id": story_id,
19978 "only_local": only_local,
19979 });
19980 let response = send_request(client_id, request).await;
19981 if response["@type"] == "error" {
19982 return Err(serde_json::from_value(response).unwrap())
19983 }
19984 Ok(serde_json::from_value(response).unwrap())
19985 }
19986 #[allow(clippy::too_many_arguments)]
19990 pub async fn get_chats_to_send_stories(client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
19991 let request = json!({
19992 "@type": "getChatsToSendStories",
19993 });
19994 let response = send_request(client_id, request).await;
19995 if response["@type"] == "error" {
19996 return Err(serde_json::from_value(response).unwrap())
19997 }
19998 Ok(serde_json::from_value(response).unwrap())
19999 }
20000 #[allow(clippy::too_many_arguments)]
20005 pub async fn can_send_story(chat_id: i64, client_id: i32) -> Result<crate::enums::CanSendStoryResult, crate::types::Error> {
20006 let request = json!({
20007 "@type": "canSendStory",
20008 "chat_id": chat_id,
20009 });
20010 let response = send_request(client_id, request).await;
20011 if response["@type"] == "error" {
20012 return Err(serde_json::from_value(response).unwrap())
20013 }
20014 Ok(serde_json::from_value(response).unwrap())
20015 }
20016 #[allow(clippy::too_many_arguments)]
20028 pub async fn send_story(chat_id: i64, content: crate::enums::InputStoryContent, areas: Option<crate::types::InputStoryAreas>, caption: Option<crate::types::FormattedText>, privacy_settings: crate::enums::StoryPrivacySettings, active_period: i32, is_pinned: bool, protect_content: bool, client_id: i32) -> Result<crate::enums::Story, crate::types::Error> {
20029 let request = json!({
20030 "@type": "sendStory",
20031 "chat_id": chat_id,
20032 "content": content,
20033 "areas": areas,
20034 "caption": caption,
20035 "privacy_settings": privacy_settings,
20036 "active_period": active_period,
20037 "is_pinned": is_pinned,
20038 "protect_content": protect_content,
20039 });
20040 let response = send_request(client_id, request).await;
20041 if response["@type"] == "error" {
20042 return Err(serde_json::from_value(response).unwrap())
20043 }
20044 Ok(serde_json::from_value(response).unwrap())
20045 }
20046 #[allow(clippy::too_many_arguments)]
20055 pub async fn edit_story(story_sender_chat_id: i64, story_id: i32, content: Option<crate::enums::InputStoryContent>, areas: Option<crate::types::InputStoryAreas>, caption: Option<crate::types::FormattedText>, client_id: i32) -> Result<(), crate::types::Error> {
20056 let request = json!({
20057 "@type": "editStory",
20058 "story_sender_chat_id": story_sender_chat_id,
20059 "story_id": story_id,
20060 "content": content,
20061 "areas": areas,
20062 "caption": caption,
20063 });
20064 let response = send_request(client_id, request).await;
20065 if response["@type"] == "error" {
20066 return Err(serde_json::from_value(response).unwrap())
20067 }
20068 Ok(())
20069 }
20070 #[allow(clippy::too_many_arguments)]
20077 pub async fn set_story_privacy_settings(story_sender_chat_id: i64, story_id: i32, privacy_settings: crate::enums::StoryPrivacySettings, client_id: i32) -> Result<(), crate::types::Error> {
20078 let request = json!({
20079 "@type": "setStoryPrivacySettings",
20080 "story_sender_chat_id": story_sender_chat_id,
20081 "story_id": story_id,
20082 "privacy_settings": privacy_settings,
20083 });
20084 let response = send_request(client_id, request).await;
20085 if response["@type"] == "error" {
20086 return Err(serde_json::from_value(response).unwrap())
20087 }
20088 Ok(())
20089 }
20090 #[allow(clippy::too_many_arguments)]
20097 pub async fn toggle_story_is_pinned(story_sender_chat_id: i64, story_id: i32, is_pinned: bool, client_id: i32) -> Result<(), crate::types::Error> {
20098 let request = json!({
20099 "@type": "toggleStoryIsPinned",
20100 "story_sender_chat_id": story_sender_chat_id,
20101 "story_id": story_id,
20102 "is_pinned": is_pinned,
20103 });
20104 let response = send_request(client_id, request).await;
20105 if response["@type"] == "error" {
20106 return Err(serde_json::from_value(response).unwrap())
20107 }
20108 Ok(())
20109 }
20110 #[allow(clippy::too_many_arguments)]
20116 pub async fn delete_story(story_sender_chat_id: i64, story_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
20117 let request = json!({
20118 "@type": "deleteStory",
20119 "story_sender_chat_id": story_sender_chat_id,
20120 "story_id": story_id,
20121 });
20122 let response = send_request(client_id, request).await;
20123 if response["@type"] == "error" {
20124 return Err(serde_json::from_value(response).unwrap())
20125 }
20126 Ok(())
20127 }
20128 #[allow(clippy::too_many_arguments)]
20132 pub async fn get_story_notification_settings_exceptions(client_id: i32) -> Result<crate::enums::Chats, crate::types::Error> {
20133 let request = json!({
20134 "@type": "getStoryNotificationSettingsExceptions",
20135 });
20136 let response = send_request(client_id, request).await;
20137 if response["@type"] == "error" {
20138 return Err(serde_json::from_value(response).unwrap())
20139 }
20140 Ok(serde_json::from_value(response).unwrap())
20141 }
20142 #[allow(clippy::too_many_arguments)]
20148 pub async fn load_active_stories(story_list: crate::enums::StoryList, client_id: i32) -> Result<(), crate::types::Error> {
20149 let request = json!({
20150 "@type": "loadActiveStories",
20151 "story_list": story_list,
20152 });
20153 let response = send_request(client_id, request).await;
20154 if response["@type"] == "error" {
20155 return Err(serde_json::from_value(response).unwrap())
20156 }
20157 Ok(())
20158 }
20159 #[allow(clippy::too_many_arguments)]
20165 pub async fn set_chat_active_stories_list(chat_id: i64, story_list: crate::enums::StoryList, client_id: i32) -> Result<(), crate::types::Error> {
20166 let request = json!({
20167 "@type": "setChatActiveStoriesList",
20168 "chat_id": chat_id,
20169 "story_list": story_list,
20170 });
20171 let response = send_request(client_id, request).await;
20172 if response["@type"] == "error" {
20173 return Err(serde_json::from_value(response).unwrap())
20174 }
20175 Ok(())
20176 }
20177 #[allow(clippy::too_many_arguments)]
20182 pub async fn get_chat_active_stories(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatActiveStories, crate::types::Error> {
20183 let request = json!({
20184 "@type": "getChatActiveStories",
20185 "chat_id": chat_id,
20186 });
20187 let response = send_request(client_id, request).await;
20188 if response["@type"] == "error" {
20189 return Err(serde_json::from_value(response).unwrap())
20190 }
20191 Ok(serde_json::from_value(response).unwrap())
20192 }
20193 #[allow(clippy::too_many_arguments)]
20202 pub async fn get_chat_pinned_stories(chat_id: i64, from_story_id: i32, limit: i32, client_id: i32) -> Result<crate::enums::Stories, crate::types::Error> {
20203 let request = json!({
20204 "@type": "getChatPinnedStories",
20205 "chat_id": chat_id,
20206 "from_story_id": from_story_id,
20207 "limit": limit,
20208 });
20209 let response = send_request(client_id, request).await;
20210 if response["@type"] == "error" {
20211 return Err(serde_json::from_value(response).unwrap())
20212 }
20213 Ok(serde_json::from_value(response).unwrap())
20214 }
20215 #[allow(clippy::too_many_arguments)]
20224 pub async fn get_chat_archived_stories(chat_id: i64, from_story_id: i32, limit: i32, client_id: i32) -> Result<crate::enums::Stories, crate::types::Error> {
20225 let request = json!({
20226 "@type": "getChatArchivedStories",
20227 "chat_id": chat_id,
20228 "from_story_id": from_story_id,
20229 "limit": limit,
20230 });
20231 let response = send_request(client_id, request).await;
20232 if response["@type"] == "error" {
20233 return Err(serde_json::from_value(response).unwrap())
20234 }
20235 Ok(serde_json::from_value(response).unwrap())
20236 }
20237 #[allow(clippy::too_many_arguments)]
20243 pub async fn open_story(story_sender_chat_id: i64, story_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
20244 let request = json!({
20245 "@type": "openStory",
20246 "story_sender_chat_id": story_sender_chat_id,
20247 "story_id": story_id,
20248 });
20249 let response = send_request(client_id, request).await;
20250 if response["@type"] == "error" {
20251 return Err(serde_json::from_value(response).unwrap())
20252 }
20253 Ok(())
20254 }
20255 #[allow(clippy::too_many_arguments)]
20261 pub async fn close_story(story_sender_chat_id: i64, story_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
20262 let request = json!({
20263 "@type": "closeStory",
20264 "story_sender_chat_id": story_sender_chat_id,
20265 "story_id": story_id,
20266 });
20267 let response = send_request(client_id, request).await;
20268 if response["@type"] == "error" {
20269 return Err(serde_json::from_value(response).unwrap())
20270 }
20271 Ok(())
20272 }
20273 #[allow(clippy::too_many_arguments)]
20278 pub async fn get_story_available_reactions(row_size: i32, client_id: i32) -> Result<crate::enums::AvailableReactions, crate::types::Error> {
20279 let request = json!({
20280 "@type": "getStoryAvailableReactions",
20281 "row_size": row_size,
20282 });
20283 let response = send_request(client_id, request).await;
20284 if response["@type"] == "error" {
20285 return Err(serde_json::from_value(response).unwrap())
20286 }
20287 Ok(serde_json::from_value(response).unwrap())
20288 }
20289 #[allow(clippy::too_many_arguments)]
20297 pub async fn set_story_reaction(story_sender_chat_id: i64, story_id: i32, reaction_type: Option<crate::enums::ReactionType>, update_recent_reactions: bool, client_id: i32) -> Result<(), crate::types::Error> {
20298 let request = json!({
20299 "@type": "setStoryReaction",
20300 "story_sender_chat_id": story_sender_chat_id,
20301 "story_id": story_id,
20302 "reaction_type": reaction_type,
20303 "update_recent_reactions": update_recent_reactions,
20304 });
20305 let response = send_request(client_id, request).await;
20306 if response["@type"] == "error" {
20307 return Err(serde_json::from_value(response).unwrap())
20308 }
20309 Ok(())
20310 }
20311 #[allow(clippy::too_many_arguments)]
20321 pub async fn get_story_viewers(story_id: i32, query: String, only_contacts: bool, prefer_with_reaction: bool, offset: String, limit: i32, client_id: i32) -> Result<crate::enums::StoryViewers, crate::types::Error> {
20322 let request = json!({
20323 "@type": "getStoryViewers",
20324 "story_id": story_id,
20325 "query": query,
20326 "only_contacts": only_contacts,
20327 "prefer_with_reaction": prefer_with_reaction,
20328 "offset": offset,
20329 "limit": limit,
20330 });
20331 let response = send_request(client_id, request).await;
20332 if response["@type"] == "error" {
20333 return Err(serde_json::from_value(response).unwrap())
20334 }
20335 Ok(serde_json::from_value(response).unwrap())
20336 }
20337 #[allow(clippy::too_many_arguments)]
20345 pub async fn report_story(story_sender_chat_id: i64, story_id: i32, reason: crate::enums::ReportReason, text: String, client_id: i32) -> Result<(), crate::types::Error> {
20346 let request = json!({
20347 "@type": "reportStory",
20348 "story_sender_chat_id": story_sender_chat_id,
20349 "story_id": story_id,
20350 "reason": reason,
20351 "text": text,
20352 });
20353 let response = send_request(client_id, request).await;
20354 if response["@type"] == "error" {
20355 return Err(serde_json::from_value(response).unwrap())
20356 }
20357 Ok(())
20358 }
20359 #[allow(clippy::too_many_arguments)]
20364 pub async fn activate_story_stealth_mode(client_id: i32) -> Result<(), crate::types::Error> {
20365 let request = json!({
20366 "@type": "activateStoryStealthMode",
20367 });
20368 let response = send_request(client_id, request).await;
20369 if response["@type"] == "error" {
20370 return Err(serde_json::from_value(response).unwrap())
20371 }
20372 Ok(())
20373 }
20374 #[allow(clippy::too_many_arguments)]
20379 pub async fn get_chat_boost_status(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatBoostStatus, crate::types::Error> {
20380 let request = json!({
20381 "@type": "getChatBoostStatus",
20382 "chat_id": chat_id,
20383 });
20384 let response = send_request(client_id, request).await;
20385 if response["@type"] == "error" {
20386 return Err(serde_json::from_value(response).unwrap())
20387 }
20388 Ok(serde_json::from_value(response).unwrap())
20389 }
20390 #[allow(clippy::too_many_arguments)]
20395 pub async fn can_boost_chat(chat_id: i64, client_id: i32) -> Result<crate::enums::CanBoostChatResult, crate::types::Error> {
20396 let request = json!({
20397 "@type": "canBoostChat",
20398 "chat_id": chat_id,
20399 });
20400 let response = send_request(client_id, request).await;
20401 if response["@type"] == "error" {
20402 return Err(serde_json::from_value(response).unwrap())
20403 }
20404 Ok(serde_json::from_value(response).unwrap())
20405 }
20406 #[allow(clippy::too_many_arguments)]
20411 pub async fn boost_chat(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
20412 let request = json!({
20413 "@type": "boostChat",
20414 "chat_id": chat_id,
20415 });
20416 let response = send_request(client_id, request).await;
20417 if response["@type"] == "error" {
20418 return Err(serde_json::from_value(response).unwrap())
20419 }
20420 Ok(())
20421 }
20422 #[allow(clippy::too_many_arguments)]
20427 pub async fn get_chat_boost_link(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatBoostLink, crate::types::Error> {
20428 let request = json!({
20429 "@type": "getChatBoostLink",
20430 "chat_id": chat_id,
20431 });
20432 let response = send_request(client_id, request).await;
20433 if response["@type"] == "error" {
20434 return Err(serde_json::from_value(response).unwrap())
20435 }
20436 Ok(serde_json::from_value(response).unwrap())
20437 }
20438 #[allow(clippy::too_many_arguments)]
20443 pub async fn get_chat_boost_link_info(url: String, client_id: i32) -> Result<crate::enums::ChatBoostLinkInfo, crate::types::Error> {
20444 let request = json!({
20445 "@type": "getChatBoostLinkInfo",
20446 "url": url,
20447 });
20448 let response = send_request(client_id, request).await;
20449 if response["@type"] == "error" {
20450 return Err(serde_json::from_value(response).unwrap())
20451 }
20452 Ok(serde_json::from_value(response).unwrap())
20453 }
20454 #[allow(clippy::too_many_arguments)]
20461 pub async fn get_chat_boosts(chat_id: i64, offset: String, limit: i32, client_id: i32) -> Result<crate::enums::FoundChatBoosts, crate::types::Error> {
20462 let request = json!({
20463 "@type": "getChatBoosts",
20464 "chat_id": chat_id,
20465 "offset": offset,
20466 "limit": limit,
20467 });
20468 let response = send_request(client_id, request).await;
20469 if response["@type"] == "error" {
20470 return Err(serde_json::from_value(response).unwrap())
20471 }
20472 Ok(serde_json::from_value(response).unwrap())
20473 }
20474 #[allow(clippy::too_many_arguments)]
20479 pub async fn get_attachment_menu_bot(bot_user_id: i64, client_id: i32) -> Result<crate::enums::AttachmentMenuBot, crate::types::Error> {
20480 let request = json!({
20481 "@type": "getAttachmentMenuBot",
20482 "bot_user_id": bot_user_id,
20483 });
20484 let response = send_request(client_id, request).await;
20485 if response["@type"] == "error" {
20486 return Err(serde_json::from_value(response).unwrap())
20487 }
20488 Ok(serde_json::from_value(response).unwrap())
20489 }
20490 #[allow(clippy::too_many_arguments)]
20497 pub async fn toggle_bot_is_added_to_attachment_menu(bot_user_id: i64, is_added: bool, allow_write_access: bool, client_id: i32) -> Result<(), crate::types::Error> {
20498 let request = json!({
20499 "@type": "toggleBotIsAddedToAttachmentMenu",
20500 "bot_user_id": bot_user_id,
20501 "is_added": is_added,
20502 "allow_write_access": allow_write_access,
20503 });
20504 let response = send_request(client_id, request).await;
20505 if response["@type"] == "error" {
20506 return Err(serde_json::from_value(response).unwrap())
20507 }
20508 Ok(())
20509 }
20510 #[allow(clippy::too_many_arguments)]
20514 pub async fn get_themed_emoji_statuses(client_id: i32) -> Result<crate::enums::EmojiStatuses, crate::types::Error> {
20515 let request = json!({
20516 "@type": "getThemedEmojiStatuses",
20517 });
20518 let response = send_request(client_id, request).await;
20519 if response["@type"] == "error" {
20520 return Err(serde_json::from_value(response).unwrap())
20521 }
20522 Ok(serde_json::from_value(response).unwrap())
20523 }
20524 #[allow(clippy::too_many_arguments)]
20528 pub async fn get_recent_emoji_statuses(client_id: i32) -> Result<crate::enums::EmojiStatuses, crate::types::Error> {
20529 let request = json!({
20530 "@type": "getRecentEmojiStatuses",
20531 });
20532 let response = send_request(client_id, request).await;
20533 if response["@type"] == "error" {
20534 return Err(serde_json::from_value(response).unwrap())
20535 }
20536 Ok(serde_json::from_value(response).unwrap())
20537 }
20538 #[allow(clippy::too_many_arguments)]
20542 pub async fn get_default_emoji_statuses(client_id: i32) -> Result<crate::enums::EmojiStatuses, crate::types::Error> {
20543 let request = json!({
20544 "@type": "getDefaultEmojiStatuses",
20545 });
20546 let response = send_request(client_id, request).await;
20547 if response["@type"] == "error" {
20548 return Err(serde_json::from_value(response).unwrap())
20549 }
20550 Ok(serde_json::from_value(response).unwrap())
20551 }
20552 #[allow(clippy::too_many_arguments)]
20556 pub async fn clear_recent_emoji_statuses(client_id: i32) -> Result<(), crate::types::Error> {
20557 let request = json!({
20558 "@type": "clearRecentEmojiStatuses",
20559 });
20560 let response = send_request(client_id, request).await;
20561 if response["@type"] == "error" {
20562 return Err(serde_json::from_value(response).unwrap())
20563 }
20564 Ok(())
20565 }
20566 #[allow(clippy::too_many_arguments)]
20575 pub async fn download_file(file_id: i32, priority: i32, offset: i64, limit: i64, synchronous: bool, client_id: i32) -> Result<crate::enums::File, crate::types::Error> {
20576 let request = json!({
20577 "@type": "downloadFile",
20578 "file_id": file_id,
20579 "priority": priority,
20580 "offset": offset,
20581 "limit": limit,
20582 "synchronous": synchronous,
20583 });
20584 let response = send_request(client_id, request).await;
20585 if response["@type"] == "error" {
20586 return Err(serde_json::from_value(response).unwrap())
20587 }
20588 Ok(serde_json::from_value(response).unwrap())
20589 }
20590 #[allow(clippy::too_many_arguments)]
20596 pub async fn get_file_downloaded_prefix_size(file_id: i32, offset: i64, client_id: i32) -> Result<crate::enums::FileDownloadedPrefixSize, crate::types::Error> {
20597 let request = json!({
20598 "@type": "getFileDownloadedPrefixSize",
20599 "file_id": file_id,
20600 "offset": offset,
20601 });
20602 let response = send_request(client_id, request).await;
20603 if response["@type"] == "error" {
20604 return Err(serde_json::from_value(response).unwrap())
20605 }
20606 Ok(serde_json::from_value(response).unwrap())
20607 }
20608 #[allow(clippy::too_many_arguments)]
20614 pub async fn cancel_download_file(file_id: i32, only_if_pending: bool, client_id: i32) -> Result<(), crate::types::Error> {
20615 let request = json!({
20616 "@type": "cancelDownloadFile",
20617 "file_id": file_id,
20618 "only_if_pending": only_if_pending,
20619 });
20620 let response = send_request(client_id, request).await;
20621 if response["@type"] == "error" {
20622 return Err(serde_json::from_value(response).unwrap())
20623 }
20624 Ok(())
20625 }
20626 #[allow(clippy::too_many_arguments)]
20632 pub async fn get_suggested_file_name(file_id: i32, directory: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
20633 let request = json!({
20634 "@type": "getSuggestedFileName",
20635 "file_id": file_id,
20636 "directory": directory,
20637 });
20638 let response = send_request(client_id, request).await;
20639 if response["@type"] == "error" {
20640 return Err(serde_json::from_value(response).unwrap())
20641 }
20642 Ok(serde_json::from_value(response).unwrap())
20643 }
20644 #[allow(clippy::too_many_arguments)]
20652 pub async fn preliminary_upload_file(file: crate::enums::InputFile, file_type: Option<crate::enums::FileType>, priority: i32, client_id: i32) -> Result<crate::enums::File, crate::types::Error> {
20653 let request = json!({
20654 "@type": "preliminaryUploadFile",
20655 "file": file,
20656 "file_type": file_type,
20657 "priority": priority,
20658 });
20659 let response = send_request(client_id, request).await;
20660 if response["@type"] == "error" {
20661 return Err(serde_json::from_value(response).unwrap())
20662 }
20663 Ok(serde_json::from_value(response).unwrap())
20664 }
20665 #[allow(clippy::too_many_arguments)]
20670 pub async fn cancel_preliminary_upload_file(file_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
20671 let request = json!({
20672 "@type": "cancelPreliminaryUploadFile",
20673 "file_id": file_id,
20674 });
20675 let response = send_request(client_id, request).await;
20676 if response["@type"] == "error" {
20677 return Err(serde_json::from_value(response).unwrap())
20678 }
20679 Ok(())
20680 }
20681 #[allow(clippy::too_many_arguments)]
20688 pub async fn write_generated_file_part(generation_id: i64, offset: i64, data: String, client_id: i32) -> Result<(), crate::types::Error> {
20689 let request = json!({
20690 "@type": "writeGeneratedFilePart",
20691 "generation_id": generation_id,
20692 "offset": offset,
20693 "data": data,
20694 });
20695 let response = send_request(client_id, request).await;
20696 if response["@type"] == "error" {
20697 return Err(serde_json::from_value(response).unwrap())
20698 }
20699 Ok(())
20700 }
20701 #[allow(clippy::too_many_arguments)]
20708 pub async fn set_file_generation_progress(generation_id: i64, expected_size: i64, local_prefix_size: i64, client_id: i32) -> Result<(), crate::types::Error> {
20709 let request = json!({
20710 "@type": "setFileGenerationProgress",
20711 "generation_id": generation_id,
20712 "expected_size": expected_size,
20713 "local_prefix_size": local_prefix_size,
20714 });
20715 let response = send_request(client_id, request).await;
20716 if response["@type"] == "error" {
20717 return Err(serde_json::from_value(response).unwrap())
20718 }
20719 Ok(())
20720 }
20721 #[allow(clippy::too_many_arguments)]
20727 pub async fn finish_file_generation(generation_id: i64, error: Option<crate::types::Error>, client_id: i32) -> Result<(), crate::types::Error> {
20728 let request = json!({
20729 "@type": "finishFileGeneration",
20730 "generation_id": generation_id,
20731 "error": error,
20732 });
20733 let response = send_request(client_id, request).await;
20734 if response["@type"] == "error" {
20735 return Err(serde_json::from_value(response).unwrap())
20736 }
20737 Ok(())
20738 }
20739 #[allow(clippy::too_many_arguments)]
20746 pub async fn read_file_part(file_id: i32, offset: i64, count: i64, client_id: i32) -> Result<crate::enums::FilePart, crate::types::Error> {
20747 let request = json!({
20748 "@type": "readFilePart",
20749 "file_id": file_id,
20750 "offset": offset,
20751 "count": count,
20752 });
20753 let response = send_request(client_id, request).await;
20754 if response["@type"] == "error" {
20755 return Err(serde_json::from_value(response).unwrap())
20756 }
20757 Ok(serde_json::from_value(response).unwrap())
20758 }
20759 #[allow(clippy::too_many_arguments)]
20764 pub async fn delete_file(file_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
20765 let request = json!({
20766 "@type": "deleteFile",
20767 "file_id": file_id,
20768 });
20769 let response = send_request(client_id, request).await;
20770 if response["@type"] == "error" {
20771 return Err(serde_json::from_value(response).unwrap())
20772 }
20773 Ok(())
20774 }
20775 #[allow(clippy::too_many_arguments)]
20784 pub async fn add_file_to_downloads(file_id: i32, chat_id: i64, message_id: i64, priority: i32, client_id: i32) -> Result<crate::enums::File, crate::types::Error> {
20785 let request = json!({
20786 "@type": "addFileToDownloads",
20787 "file_id": file_id,
20788 "chat_id": chat_id,
20789 "message_id": message_id,
20790 "priority": priority,
20791 });
20792 let response = send_request(client_id, request).await;
20793 if response["@type"] == "error" {
20794 return Err(serde_json::from_value(response).unwrap())
20795 }
20796 Ok(serde_json::from_value(response).unwrap())
20797 }
20798 #[allow(clippy::too_many_arguments)]
20804 pub async fn toggle_download_is_paused(file_id: i32, is_paused: bool, client_id: i32) -> Result<(), crate::types::Error> {
20805 let request = json!({
20806 "@type": "toggleDownloadIsPaused",
20807 "file_id": file_id,
20808 "is_paused": is_paused,
20809 });
20810 let response = send_request(client_id, request).await;
20811 if response["@type"] == "error" {
20812 return Err(serde_json::from_value(response).unwrap())
20813 }
20814 Ok(())
20815 }
20816 #[allow(clippy::too_many_arguments)]
20821 pub async fn toggle_all_downloads_are_paused(are_paused: bool, client_id: i32) -> Result<(), crate::types::Error> {
20822 let request = json!({
20823 "@type": "toggleAllDownloadsArePaused",
20824 "are_paused": are_paused,
20825 });
20826 let response = send_request(client_id, request).await;
20827 if response["@type"] == "error" {
20828 return Err(serde_json::from_value(response).unwrap())
20829 }
20830 Ok(())
20831 }
20832 #[allow(clippy::too_many_arguments)]
20838 pub async fn remove_file_from_downloads(file_id: i32, delete_from_cache: bool, client_id: i32) -> Result<(), crate::types::Error> {
20839 let request = json!({
20840 "@type": "removeFileFromDownloads",
20841 "file_id": file_id,
20842 "delete_from_cache": delete_from_cache,
20843 });
20844 let response = send_request(client_id, request).await;
20845 if response["@type"] == "error" {
20846 return Err(serde_json::from_value(response).unwrap())
20847 }
20848 Ok(())
20849 }
20850 #[allow(clippy::too_many_arguments)]
20857 pub async fn remove_all_files_from_downloads(only_active: bool, only_completed: bool, delete_from_cache: bool, client_id: i32) -> Result<(), crate::types::Error> {
20858 let request = json!({
20859 "@type": "removeAllFilesFromDownloads",
20860 "only_active": only_active,
20861 "only_completed": only_completed,
20862 "delete_from_cache": delete_from_cache,
20863 });
20864 let response = send_request(client_id, request).await;
20865 if response["@type"] == "error" {
20866 return Err(serde_json::from_value(response).unwrap())
20867 }
20868 Ok(())
20869 }
20870 #[allow(clippy::too_many_arguments)]
20879 pub async fn search_file_downloads(query: String, only_active: bool, only_completed: bool, offset: String, limit: i32, client_id: i32) -> Result<crate::enums::FoundFileDownloads, crate::types::Error> {
20880 let request = json!({
20881 "@type": "searchFileDownloads",
20882 "query": query,
20883 "only_active": only_active,
20884 "only_completed": only_completed,
20885 "offset": offset,
20886 "limit": limit,
20887 });
20888 let response = send_request(client_id, request).await;
20889 if response["@type"] == "error" {
20890 return Err(serde_json::from_value(response).unwrap())
20891 }
20892 Ok(serde_json::from_value(response).unwrap())
20893 }
20894 #[allow(clippy::too_many_arguments)]
20899 pub async fn get_message_file_type(message_file_head: String, client_id: i32) -> Result<crate::enums::MessageFileType, crate::types::Error> {
20900 let request = json!({
20901 "@type": "getMessageFileType",
20902 "message_file_head": message_file_head,
20903 });
20904 let response = send_request(client_id, request).await;
20905 if response["@type"] == "error" {
20906 return Err(serde_json::from_value(response).unwrap())
20907 }
20908 Ok(serde_json::from_value(response).unwrap())
20909 }
20910 #[allow(clippy::too_many_arguments)]
20915 pub async fn get_message_import_confirmation_text(chat_id: i64, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
20916 let request = json!({
20917 "@type": "getMessageImportConfirmationText",
20918 "chat_id": chat_id,
20919 });
20920 let response = send_request(client_id, request).await;
20921 if response["@type"] == "error" {
20922 return Err(serde_json::from_value(response).unwrap())
20923 }
20924 Ok(serde_json::from_value(response).unwrap())
20925 }
20926 #[allow(clippy::too_many_arguments)]
20933 pub async fn import_messages(chat_id: i64, message_file: crate::enums::InputFile, attached_files: Vec<crate::enums::InputFile>, client_id: i32) -> Result<(), crate::types::Error> {
20934 let request = json!({
20935 "@type": "importMessages",
20936 "chat_id": chat_id,
20937 "message_file": message_file,
20938 "attached_files": attached_files,
20939 });
20940 let response = send_request(client_id, request).await;
20941 if response["@type"] == "error" {
20942 return Err(serde_json::from_value(response).unwrap())
20943 }
20944 Ok(())
20945 }
20946 #[allow(clippy::too_many_arguments)]
20951 pub async fn replace_primary_chat_invite_link(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatInviteLink, crate::types::Error> {
20952 let request = json!({
20953 "@type": "replacePrimaryChatInviteLink",
20954 "chat_id": chat_id,
20955 });
20956 let response = send_request(client_id, request).await;
20957 if response["@type"] == "error" {
20958 return Err(serde_json::from_value(response).unwrap())
20959 }
20960 Ok(serde_json::from_value(response).unwrap())
20961 }
20962 #[allow(clippy::too_many_arguments)]
20971 pub async fn create_chat_invite_link(chat_id: i64, name: String, expiration_date: i32, member_limit: i32, creates_join_request: bool, client_id: i32) -> Result<crate::enums::ChatInviteLink, crate::types::Error> {
20972 let request = json!({
20973 "@type": "createChatInviteLink",
20974 "chat_id": chat_id,
20975 "name": name,
20976 "expiration_date": expiration_date,
20977 "member_limit": member_limit,
20978 "creates_join_request": creates_join_request,
20979 });
20980 let response = send_request(client_id, request).await;
20981 if response["@type"] == "error" {
20982 return Err(serde_json::from_value(response).unwrap())
20983 }
20984 Ok(serde_json::from_value(response).unwrap())
20985 }
20986 #[allow(clippy::too_many_arguments)]
20996 pub async fn edit_chat_invite_link(chat_id: i64, invite_link: String, name: String, expiration_date: i32, member_limit: i32, creates_join_request: bool, client_id: i32) -> Result<crate::enums::ChatInviteLink, crate::types::Error> {
20997 let request = json!({
20998 "@type": "editChatInviteLink",
20999 "chat_id": chat_id,
21000 "invite_link": invite_link,
21001 "name": name,
21002 "expiration_date": expiration_date,
21003 "member_limit": member_limit,
21004 "creates_join_request": creates_join_request,
21005 });
21006 let response = send_request(client_id, request).await;
21007 if response["@type"] == "error" {
21008 return Err(serde_json::from_value(response).unwrap())
21009 }
21010 Ok(serde_json::from_value(response).unwrap())
21011 }
21012 #[allow(clippy::too_many_arguments)]
21018 pub async fn get_chat_invite_link(chat_id: i64, invite_link: String, client_id: i32) -> Result<crate::enums::ChatInviteLink, crate::types::Error> {
21019 let request = json!({
21020 "@type": "getChatInviteLink",
21021 "chat_id": chat_id,
21022 "invite_link": invite_link,
21023 });
21024 let response = send_request(client_id, request).await;
21025 if response["@type"] == "error" {
21026 return Err(serde_json::from_value(response).unwrap())
21027 }
21028 Ok(serde_json::from_value(response).unwrap())
21029 }
21030 #[allow(clippy::too_many_arguments)]
21035 pub async fn get_chat_invite_link_counts(chat_id: i64, client_id: i32) -> Result<crate::enums::ChatInviteLinkCounts, crate::types::Error> {
21036 let request = json!({
21037 "@type": "getChatInviteLinkCounts",
21038 "chat_id": chat_id,
21039 });
21040 let response = send_request(client_id, request).await;
21041 if response["@type"] == "error" {
21042 return Err(serde_json::from_value(response).unwrap())
21043 }
21044 Ok(serde_json::from_value(response).unwrap())
21045 }
21046 #[allow(clippy::too_many_arguments)]
21056 pub async fn get_chat_invite_links(chat_id: i64, creator_user_id: i64, is_revoked: bool, offset_date: i32, offset_invite_link: String, limit: i32, client_id: i32) -> Result<crate::enums::ChatInviteLinks, crate::types::Error> {
21057 let request = json!({
21058 "@type": "getChatInviteLinks",
21059 "chat_id": chat_id,
21060 "creator_user_id": creator_user_id,
21061 "is_revoked": is_revoked,
21062 "offset_date": offset_date,
21063 "offset_invite_link": offset_invite_link,
21064 "limit": limit,
21065 });
21066 let response = send_request(client_id, request).await;
21067 if response["@type"] == "error" {
21068 return Err(serde_json::from_value(response).unwrap())
21069 }
21070 Ok(serde_json::from_value(response).unwrap())
21071 }
21072 #[allow(clippy::too_many_arguments)]
21080 pub async fn get_chat_invite_link_members(chat_id: i64, invite_link: String, offset_member: Option<crate::types::ChatInviteLinkMember>, limit: i32, client_id: i32) -> Result<crate::enums::ChatInviteLinkMembers, crate::types::Error> {
21081 let request = json!({
21082 "@type": "getChatInviteLinkMembers",
21083 "chat_id": chat_id,
21084 "invite_link": invite_link,
21085 "offset_member": offset_member,
21086 "limit": limit,
21087 });
21088 let response = send_request(client_id, request).await;
21089 if response["@type"] == "error" {
21090 return Err(serde_json::from_value(response).unwrap())
21091 }
21092 Ok(serde_json::from_value(response).unwrap())
21093 }
21094 #[allow(clippy::too_many_arguments)]
21101 pub async fn revoke_chat_invite_link(chat_id: i64, invite_link: String, client_id: i32) -> Result<crate::enums::ChatInviteLinks, crate::types::Error> {
21102 let request = json!({
21103 "@type": "revokeChatInviteLink",
21104 "chat_id": chat_id,
21105 "invite_link": invite_link,
21106 });
21107 let response = send_request(client_id, request).await;
21108 if response["@type"] == "error" {
21109 return Err(serde_json::from_value(response).unwrap())
21110 }
21111 Ok(serde_json::from_value(response).unwrap())
21112 }
21113 #[allow(clippy::too_many_arguments)]
21119 pub async fn delete_revoked_chat_invite_link(chat_id: i64, invite_link: String, client_id: i32) -> Result<(), crate::types::Error> {
21120 let request = json!({
21121 "@type": "deleteRevokedChatInviteLink",
21122 "chat_id": chat_id,
21123 "invite_link": invite_link,
21124 });
21125 let response = send_request(client_id, request).await;
21126 if response["@type"] == "error" {
21127 return Err(serde_json::from_value(response).unwrap())
21128 }
21129 Ok(())
21130 }
21131 #[allow(clippy::too_many_arguments)]
21137 pub async fn delete_all_revoked_chat_invite_links(chat_id: i64, creator_user_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
21138 let request = json!({
21139 "@type": "deleteAllRevokedChatInviteLinks",
21140 "chat_id": chat_id,
21141 "creator_user_id": creator_user_id,
21142 });
21143 let response = send_request(client_id, request).await;
21144 if response["@type"] == "error" {
21145 return Err(serde_json::from_value(response).unwrap())
21146 }
21147 Ok(())
21148 }
21149 #[allow(clippy::too_many_arguments)]
21154 pub async fn check_chat_invite_link(invite_link: String, client_id: i32) -> Result<crate::enums::ChatInviteLinkInfo, crate::types::Error> {
21155 let request = json!({
21156 "@type": "checkChatInviteLink",
21157 "invite_link": invite_link,
21158 });
21159 let response = send_request(client_id, request).await;
21160 if response["@type"] == "error" {
21161 return Err(serde_json::from_value(response).unwrap())
21162 }
21163 Ok(serde_json::from_value(response).unwrap())
21164 }
21165 #[allow(clippy::too_many_arguments)]
21170 pub async fn join_chat_by_invite_link(invite_link: String, client_id: i32) -> Result<crate::enums::Chat, crate::types::Error> {
21171 let request = json!({
21172 "@type": "joinChatByInviteLink",
21173 "invite_link": invite_link,
21174 });
21175 let response = send_request(client_id, request).await;
21176 if response["@type"] == "error" {
21177 return Err(serde_json::from_value(response).unwrap())
21178 }
21179 Ok(serde_json::from_value(response).unwrap())
21180 }
21181 #[allow(clippy::too_many_arguments)]
21190 pub async fn get_chat_join_requests(chat_id: i64, invite_link: String, query: String, offset_request: Option<crate::types::ChatJoinRequest>, limit: i32, client_id: i32) -> Result<crate::enums::ChatJoinRequests, crate::types::Error> {
21191 let request = json!({
21192 "@type": "getChatJoinRequests",
21193 "chat_id": chat_id,
21194 "invite_link": invite_link,
21195 "query": query,
21196 "offset_request": offset_request,
21197 "limit": limit,
21198 });
21199 let response = send_request(client_id, request).await;
21200 if response["@type"] == "error" {
21201 return Err(serde_json::from_value(response).unwrap())
21202 }
21203 Ok(serde_json::from_value(response).unwrap())
21204 }
21205 #[allow(clippy::too_many_arguments)]
21212 pub async fn process_chat_join_request(chat_id: i64, user_id: i64, approve: bool, client_id: i32) -> Result<(), crate::types::Error> {
21213 let request = json!({
21214 "@type": "processChatJoinRequest",
21215 "chat_id": chat_id,
21216 "user_id": user_id,
21217 "approve": approve,
21218 });
21219 let response = send_request(client_id, request).await;
21220 if response["@type"] == "error" {
21221 return Err(serde_json::from_value(response).unwrap())
21222 }
21223 Ok(())
21224 }
21225 #[allow(clippy::too_many_arguments)]
21232 pub async fn process_chat_join_requests(chat_id: i64, invite_link: String, approve: bool, client_id: i32) -> Result<(), crate::types::Error> {
21233 let request = json!({
21234 "@type": "processChatJoinRequests",
21235 "chat_id": chat_id,
21236 "invite_link": invite_link,
21237 "approve": approve,
21238 });
21239 let response = send_request(client_id, request).await;
21240 if response["@type"] == "error" {
21241 return Err(serde_json::from_value(response).unwrap())
21242 }
21243 Ok(())
21244 }
21245 #[allow(clippy::too_many_arguments)]
21252 pub async fn create_call(user_id: i64, protocol: crate::types::CallProtocol, is_video: bool, client_id: i32) -> Result<crate::enums::CallId, crate::types::Error> {
21253 let request = json!({
21254 "@type": "createCall",
21255 "user_id": user_id,
21256 "protocol": protocol,
21257 "is_video": is_video,
21258 });
21259 let response = send_request(client_id, request).await;
21260 if response["@type"] == "error" {
21261 return Err(serde_json::from_value(response).unwrap())
21262 }
21263 Ok(serde_json::from_value(response).unwrap())
21264 }
21265 #[allow(clippy::too_many_arguments)]
21271 pub async fn accept_call(call_id: i32, protocol: crate::types::CallProtocol, client_id: i32) -> Result<(), crate::types::Error> {
21272 let request = json!({
21273 "@type": "acceptCall",
21274 "call_id": call_id,
21275 "protocol": protocol,
21276 });
21277 let response = send_request(client_id, request).await;
21278 if response["@type"] == "error" {
21279 return Err(serde_json::from_value(response).unwrap())
21280 }
21281 Ok(())
21282 }
21283 #[allow(clippy::too_many_arguments)]
21289 pub async fn send_call_signaling_data(call_id: i32, data: String, client_id: i32) -> Result<(), crate::types::Error> {
21290 let request = json!({
21291 "@type": "sendCallSignalingData",
21292 "call_id": call_id,
21293 "data": data,
21294 });
21295 let response = send_request(client_id, request).await;
21296 if response["@type"] == "error" {
21297 return Err(serde_json::from_value(response).unwrap())
21298 }
21299 Ok(())
21300 }
21301 #[allow(clippy::too_many_arguments)]
21310 pub async fn discard_call(call_id: i32, is_disconnected: bool, duration: i32, is_video: bool, connection_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
21311 let request = json!({
21312 "@type": "discardCall",
21313 "call_id": call_id,
21314 "is_disconnected": is_disconnected,
21315 "duration": duration,
21316 "is_video": is_video,
21317 "connection_id": connection_id,
21318 });
21319 let response = send_request(client_id, request).await;
21320 if response["@type"] == "error" {
21321 return Err(serde_json::from_value(response).unwrap())
21322 }
21323 Ok(())
21324 }
21325 #[allow(clippy::too_many_arguments)]
21333 pub async fn send_call_rating(call_id: i32, rating: i32, comment: String, problems: Vec<crate::enums::CallProblem>, client_id: i32) -> Result<(), crate::types::Error> {
21334 let request = json!({
21335 "@type": "sendCallRating",
21336 "call_id": call_id,
21337 "rating": rating,
21338 "comment": comment,
21339 "problems": problems,
21340 });
21341 let response = send_request(client_id, request).await;
21342 if response["@type"] == "error" {
21343 return Err(serde_json::from_value(response).unwrap())
21344 }
21345 Ok(())
21346 }
21347 #[allow(clippy::too_many_arguments)]
21353 pub async fn send_call_debug_information(call_id: i32, debug_information: String, client_id: i32) -> Result<(), crate::types::Error> {
21354 let request = json!({
21355 "@type": "sendCallDebugInformation",
21356 "call_id": call_id,
21357 "debug_information": debug_information,
21358 });
21359 let response = send_request(client_id, request).await;
21360 if response["@type"] == "error" {
21361 return Err(serde_json::from_value(response).unwrap())
21362 }
21363 Ok(())
21364 }
21365 #[allow(clippy::too_many_arguments)]
21371 pub async fn send_call_log(call_id: i32, log_file: crate::enums::InputFile, client_id: i32) -> Result<(), crate::types::Error> {
21372 let request = json!({
21373 "@type": "sendCallLog",
21374 "call_id": call_id,
21375 "log_file": log_file,
21376 });
21377 let response = send_request(client_id, request).await;
21378 if response["@type"] == "error" {
21379 return Err(serde_json::from_value(response).unwrap())
21380 }
21381 Ok(())
21382 }
21383 #[allow(clippy::too_many_arguments)]
21388 pub async fn get_video_chat_available_participants(chat_id: i64, client_id: i32) -> Result<crate::enums::MessageSenders, crate::types::Error> {
21389 let request = json!({
21390 "@type": "getVideoChatAvailableParticipants",
21391 "chat_id": chat_id,
21392 });
21393 let response = send_request(client_id, request).await;
21394 if response["@type"] == "error" {
21395 return Err(serde_json::from_value(response).unwrap())
21396 }
21397 Ok(serde_json::from_value(response).unwrap())
21398 }
21399 #[allow(clippy::too_many_arguments)]
21405 pub async fn set_video_chat_default_participant(chat_id: i64, default_participant_id: crate::enums::MessageSender, client_id: i32) -> Result<(), crate::types::Error> {
21406 let request = json!({
21407 "@type": "setVideoChatDefaultParticipant",
21408 "chat_id": chat_id,
21409 "default_participant_id": default_participant_id,
21410 });
21411 let response = send_request(client_id, request).await;
21412 if response["@type"] == "error" {
21413 return Err(serde_json::from_value(response).unwrap())
21414 }
21415 Ok(())
21416 }
21417 #[allow(clippy::too_many_arguments)]
21425 pub async fn create_video_chat(chat_id: i64, title: String, start_date: i32, is_rtmp_stream: bool, client_id: i32) -> Result<crate::enums::GroupCallId, crate::types::Error> {
21426 let request = json!({
21427 "@type": "createVideoChat",
21428 "chat_id": chat_id,
21429 "title": title,
21430 "start_date": start_date,
21431 "is_rtmp_stream": is_rtmp_stream,
21432 });
21433 let response = send_request(client_id, request).await;
21434 if response["@type"] == "error" {
21435 return Err(serde_json::from_value(response).unwrap())
21436 }
21437 Ok(serde_json::from_value(response).unwrap())
21438 }
21439 #[allow(clippy::too_many_arguments)]
21444 pub async fn get_video_chat_rtmp_url(chat_id: i64, client_id: i32) -> Result<crate::enums::RtmpUrl, crate::types::Error> {
21445 let request = json!({
21446 "@type": "getVideoChatRtmpUrl",
21447 "chat_id": chat_id,
21448 });
21449 let response = send_request(client_id, request).await;
21450 if response["@type"] == "error" {
21451 return Err(serde_json::from_value(response).unwrap())
21452 }
21453 Ok(serde_json::from_value(response).unwrap())
21454 }
21455 #[allow(clippy::too_many_arguments)]
21460 pub async fn replace_video_chat_rtmp_url(chat_id: i64, client_id: i32) -> Result<crate::enums::RtmpUrl, crate::types::Error> {
21461 let request = json!({
21462 "@type": "replaceVideoChatRtmpUrl",
21463 "chat_id": chat_id,
21464 });
21465 let response = send_request(client_id, request).await;
21466 if response["@type"] == "error" {
21467 return Err(serde_json::from_value(response).unwrap())
21468 }
21469 Ok(serde_json::from_value(response).unwrap())
21470 }
21471 #[allow(clippy::too_many_arguments)]
21476 pub async fn get_group_call(group_call_id: i32, client_id: i32) -> Result<crate::enums::GroupCall, crate::types::Error> {
21477 let request = json!({
21478 "@type": "getGroupCall",
21479 "group_call_id": group_call_id,
21480 });
21481 let response = send_request(client_id, request).await;
21482 if response["@type"] == "error" {
21483 return Err(serde_json::from_value(response).unwrap())
21484 }
21485 Ok(serde_json::from_value(response).unwrap())
21486 }
21487 #[allow(clippy::too_many_arguments)]
21492 pub async fn start_scheduled_group_call(group_call_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
21493 let request = json!({
21494 "@type": "startScheduledGroupCall",
21495 "group_call_id": group_call_id,
21496 });
21497 let response = send_request(client_id, request).await;
21498 if response["@type"] == "error" {
21499 return Err(serde_json::from_value(response).unwrap())
21500 }
21501 Ok(())
21502 }
21503 #[allow(clippy::too_many_arguments)]
21509 pub async fn toggle_group_call_enabled_start_notification(group_call_id: i32, enabled_start_notification: bool, client_id: i32) -> Result<(), crate::types::Error> {
21510 let request = json!({
21511 "@type": "toggleGroupCallEnabledStartNotification",
21512 "group_call_id": group_call_id,
21513 "enabled_start_notification": enabled_start_notification,
21514 });
21515 let response = send_request(client_id, request).await;
21516 if response["@type"] == "error" {
21517 return Err(serde_json::from_value(response).unwrap())
21518 }
21519 Ok(())
21520 }
21521 #[allow(clippy::too_many_arguments)]
21532 pub async fn join_group_call(group_call_id: i32, participant_id: Option<crate::enums::MessageSender>, audio_source_id: i32, payload: String, is_muted: bool, is_my_video_enabled: bool, invite_hash: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
21533 let request = json!({
21534 "@type": "joinGroupCall",
21535 "group_call_id": group_call_id,
21536 "participant_id": participant_id,
21537 "audio_source_id": audio_source_id,
21538 "payload": payload,
21539 "is_muted": is_muted,
21540 "is_my_video_enabled": is_my_video_enabled,
21541 "invite_hash": invite_hash,
21542 });
21543 let response = send_request(client_id, request).await;
21544 if response["@type"] == "error" {
21545 return Err(serde_json::from_value(response).unwrap())
21546 }
21547 Ok(serde_json::from_value(response).unwrap())
21548 }
21549 #[allow(clippy::too_many_arguments)]
21556 pub async fn start_group_call_screen_sharing(group_call_id: i32, audio_source_id: i32, payload: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
21557 let request = json!({
21558 "@type": "startGroupCallScreenSharing",
21559 "group_call_id": group_call_id,
21560 "audio_source_id": audio_source_id,
21561 "payload": payload,
21562 });
21563 let response = send_request(client_id, request).await;
21564 if response["@type"] == "error" {
21565 return Err(serde_json::from_value(response).unwrap())
21566 }
21567 Ok(serde_json::from_value(response).unwrap())
21568 }
21569 #[allow(clippy::too_many_arguments)]
21575 pub async fn toggle_group_call_screen_sharing_is_paused(group_call_id: i32, is_paused: bool, client_id: i32) -> Result<(), crate::types::Error> {
21576 let request = json!({
21577 "@type": "toggleGroupCallScreenSharingIsPaused",
21578 "group_call_id": group_call_id,
21579 "is_paused": is_paused,
21580 });
21581 let response = send_request(client_id, request).await;
21582 if response["@type"] == "error" {
21583 return Err(serde_json::from_value(response).unwrap())
21584 }
21585 Ok(())
21586 }
21587 #[allow(clippy::too_many_arguments)]
21592 pub async fn end_group_call_screen_sharing(group_call_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
21593 let request = json!({
21594 "@type": "endGroupCallScreenSharing",
21595 "group_call_id": group_call_id,
21596 });
21597 let response = send_request(client_id, request).await;
21598 if response["@type"] == "error" {
21599 return Err(serde_json::from_value(response).unwrap())
21600 }
21601 Ok(())
21602 }
21603 #[allow(clippy::too_many_arguments)]
21609 pub async fn set_group_call_title(group_call_id: i32, title: String, client_id: i32) -> Result<(), crate::types::Error> {
21610 let request = json!({
21611 "@type": "setGroupCallTitle",
21612 "group_call_id": group_call_id,
21613 "title": title,
21614 });
21615 let response = send_request(client_id, request).await;
21616 if response["@type"] == "error" {
21617 return Err(serde_json::from_value(response).unwrap())
21618 }
21619 Ok(())
21620 }
21621 #[allow(clippy::too_many_arguments)]
21627 pub async fn toggle_group_call_mute_new_participants(group_call_id: i32, mute_new_participants: bool, client_id: i32) -> Result<(), crate::types::Error> {
21628 let request = json!({
21629 "@type": "toggleGroupCallMuteNewParticipants",
21630 "group_call_id": group_call_id,
21631 "mute_new_participants": mute_new_participants,
21632 });
21633 let response = send_request(client_id, request).await;
21634 if response["@type"] == "error" {
21635 return Err(serde_json::from_value(response).unwrap())
21636 }
21637 Ok(())
21638 }
21639 #[allow(clippy::too_many_arguments)]
21645 pub async fn invite_group_call_participants(group_call_id: i32, user_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
21646 let request = json!({
21647 "@type": "inviteGroupCallParticipants",
21648 "group_call_id": group_call_id,
21649 "user_ids": user_ids,
21650 });
21651 let response = send_request(client_id, request).await;
21652 if response["@type"] == "error" {
21653 return Err(serde_json::from_value(response).unwrap())
21654 }
21655 Ok(())
21656 }
21657 #[allow(clippy::too_many_arguments)]
21663 pub async fn get_group_call_invite_link(group_call_id: i32, can_self_unmute: bool, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
21664 let request = json!({
21665 "@type": "getGroupCallInviteLink",
21666 "group_call_id": group_call_id,
21667 "can_self_unmute": can_self_unmute,
21668 });
21669 let response = send_request(client_id, request).await;
21670 if response["@type"] == "error" {
21671 return Err(serde_json::from_value(response).unwrap())
21672 }
21673 Ok(serde_json::from_value(response).unwrap())
21674 }
21675 #[allow(clippy::too_many_arguments)]
21680 pub async fn revoke_group_call_invite_link(group_call_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
21681 let request = json!({
21682 "@type": "revokeGroupCallInviteLink",
21683 "group_call_id": group_call_id,
21684 });
21685 let response = send_request(client_id, request).await;
21686 if response["@type"] == "error" {
21687 return Err(serde_json::from_value(response).unwrap())
21688 }
21689 Ok(())
21690 }
21691 #[allow(clippy::too_many_arguments)]
21699 pub async fn start_group_call_recording(group_call_id: i32, title: String, record_video: bool, use_portrait_orientation: bool, client_id: i32) -> Result<(), crate::types::Error> {
21700 let request = json!({
21701 "@type": "startGroupCallRecording",
21702 "group_call_id": group_call_id,
21703 "title": title,
21704 "record_video": record_video,
21705 "use_portrait_orientation": use_portrait_orientation,
21706 });
21707 let response = send_request(client_id, request).await;
21708 if response["@type"] == "error" {
21709 return Err(serde_json::from_value(response).unwrap())
21710 }
21711 Ok(())
21712 }
21713 #[allow(clippy::too_many_arguments)]
21718 pub async fn end_group_call_recording(group_call_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
21719 let request = json!({
21720 "@type": "endGroupCallRecording",
21721 "group_call_id": group_call_id,
21722 });
21723 let response = send_request(client_id, request).await;
21724 if response["@type"] == "error" {
21725 return Err(serde_json::from_value(response).unwrap())
21726 }
21727 Ok(())
21728 }
21729 #[allow(clippy::too_many_arguments)]
21735 pub async fn toggle_group_call_is_my_video_paused(group_call_id: i32, is_my_video_paused: bool, client_id: i32) -> Result<(), crate::types::Error> {
21736 let request = json!({
21737 "@type": "toggleGroupCallIsMyVideoPaused",
21738 "group_call_id": group_call_id,
21739 "is_my_video_paused": is_my_video_paused,
21740 });
21741 let response = send_request(client_id, request).await;
21742 if response["@type"] == "error" {
21743 return Err(serde_json::from_value(response).unwrap())
21744 }
21745 Ok(())
21746 }
21747 #[allow(clippy::too_many_arguments)]
21753 pub async fn toggle_group_call_is_my_video_enabled(group_call_id: i32, is_my_video_enabled: bool, client_id: i32) -> Result<(), crate::types::Error> {
21754 let request = json!({
21755 "@type": "toggleGroupCallIsMyVideoEnabled",
21756 "group_call_id": group_call_id,
21757 "is_my_video_enabled": is_my_video_enabled,
21758 });
21759 let response = send_request(client_id, request).await;
21760 if response["@type"] == "error" {
21761 return Err(serde_json::from_value(response).unwrap())
21762 }
21763 Ok(())
21764 }
21765 #[allow(clippy::too_many_arguments)]
21772 pub async fn set_group_call_participant_is_speaking(group_call_id: i32, audio_source: i32, is_speaking: bool, client_id: i32) -> Result<(), crate::types::Error> {
21773 let request = json!({
21774 "@type": "setGroupCallParticipantIsSpeaking",
21775 "group_call_id": group_call_id,
21776 "audio_source": audio_source,
21777 "is_speaking": is_speaking,
21778 });
21779 let response = send_request(client_id, request).await;
21780 if response["@type"] == "error" {
21781 return Err(serde_json::from_value(response).unwrap())
21782 }
21783 Ok(())
21784 }
21785 #[allow(clippy::too_many_arguments)]
21792 pub async fn toggle_group_call_participant_is_muted(group_call_id: i32, participant_id: crate::enums::MessageSender, is_muted: bool, client_id: i32) -> Result<(), crate::types::Error> {
21793 let request = json!({
21794 "@type": "toggleGroupCallParticipantIsMuted",
21795 "group_call_id": group_call_id,
21796 "participant_id": participant_id,
21797 "is_muted": is_muted,
21798 });
21799 let response = send_request(client_id, request).await;
21800 if response["@type"] == "error" {
21801 return Err(serde_json::from_value(response).unwrap())
21802 }
21803 Ok(())
21804 }
21805 #[allow(clippy::too_many_arguments)]
21812 pub async fn set_group_call_participant_volume_level(group_call_id: i32, participant_id: crate::enums::MessageSender, volume_level: i32, client_id: i32) -> Result<(), crate::types::Error> {
21813 let request = json!({
21814 "@type": "setGroupCallParticipantVolumeLevel",
21815 "group_call_id": group_call_id,
21816 "participant_id": participant_id,
21817 "volume_level": volume_level,
21818 });
21819 let response = send_request(client_id, request).await;
21820 if response["@type"] == "error" {
21821 return Err(serde_json::from_value(response).unwrap())
21822 }
21823 Ok(())
21824 }
21825 #[allow(clippy::too_many_arguments)]
21832 pub async fn toggle_group_call_participant_is_hand_raised(group_call_id: i32, participant_id: crate::enums::MessageSender, is_hand_raised: bool, client_id: i32) -> Result<(), crate::types::Error> {
21833 let request = json!({
21834 "@type": "toggleGroupCallParticipantIsHandRaised",
21835 "group_call_id": group_call_id,
21836 "participant_id": participant_id,
21837 "is_hand_raised": is_hand_raised,
21838 });
21839 let response = send_request(client_id, request).await;
21840 if response["@type"] == "error" {
21841 return Err(serde_json::from_value(response).unwrap())
21842 }
21843 Ok(())
21844 }
21845 #[allow(clippy::too_many_arguments)]
21851 pub async fn load_group_call_participants(group_call_id: i32, limit: i32, client_id: i32) -> Result<(), crate::types::Error> {
21852 let request = json!({
21853 "@type": "loadGroupCallParticipants",
21854 "group_call_id": group_call_id,
21855 "limit": limit,
21856 });
21857 let response = send_request(client_id, request).await;
21858 if response["@type"] == "error" {
21859 return Err(serde_json::from_value(response).unwrap())
21860 }
21861 Ok(())
21862 }
21863 #[allow(clippy::too_many_arguments)]
21868 pub async fn leave_group_call(group_call_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
21869 let request = json!({
21870 "@type": "leaveGroupCall",
21871 "group_call_id": group_call_id,
21872 });
21873 let response = send_request(client_id, request).await;
21874 if response["@type"] == "error" {
21875 return Err(serde_json::from_value(response).unwrap())
21876 }
21877 Ok(())
21878 }
21879 #[allow(clippy::too_many_arguments)]
21884 pub async fn end_group_call(group_call_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
21885 let request = json!({
21886 "@type": "endGroupCall",
21887 "group_call_id": group_call_id,
21888 });
21889 let response = send_request(client_id, request).await;
21890 if response["@type"] == "error" {
21891 return Err(serde_json::from_value(response).unwrap())
21892 }
21893 Ok(())
21894 }
21895 #[allow(clippy::too_many_arguments)]
21900 pub async fn get_group_call_streams(group_call_id: i32, client_id: i32) -> Result<crate::enums::GroupCallStreams, crate::types::Error> {
21901 let request = json!({
21902 "@type": "getGroupCallStreams",
21903 "group_call_id": group_call_id,
21904 });
21905 let response = send_request(client_id, request).await;
21906 if response["@type"] == "error" {
21907 return Err(serde_json::from_value(response).unwrap())
21908 }
21909 Ok(serde_json::from_value(response).unwrap())
21910 }
21911 #[allow(clippy::too_many_arguments)]
21920 pub async fn get_group_call_stream_segment(group_call_id: i32, time_offset: i64, scale: i32, channel_id: i32, video_quality: Option<crate::enums::GroupCallVideoQuality>, client_id: i32) -> Result<crate::enums::FilePart, crate::types::Error> {
21921 let request = json!({
21922 "@type": "getGroupCallStreamSegment",
21923 "group_call_id": group_call_id,
21924 "time_offset": time_offset,
21925 "scale": scale,
21926 "channel_id": channel_id,
21927 "video_quality": video_quality,
21928 });
21929 let response = send_request(client_id, request).await;
21930 if response["@type"] == "error" {
21931 return Err(serde_json::from_value(response).unwrap())
21932 }
21933 Ok(serde_json::from_value(response).unwrap())
21934 }
21935 #[allow(clippy::too_many_arguments)]
21941 pub async fn set_message_sender_block_list(sender_id: crate::enums::MessageSender, block_list: Option<crate::enums::BlockList>, client_id: i32) -> Result<(), crate::types::Error> {
21942 let request = json!({
21943 "@type": "setMessageSenderBlockList",
21944 "sender_id": sender_id,
21945 "block_list": block_list,
21946 });
21947 let response = send_request(client_id, request).await;
21948 if response["@type"] == "error" {
21949 return Err(serde_json::from_value(response).unwrap())
21950 }
21951 Ok(())
21952 }
21953 #[allow(clippy::too_many_arguments)]
21961 pub async fn block_message_sender_from_replies(message_id: i64, delete_message: bool, delete_all_messages: bool, report_spam: bool, client_id: i32) -> Result<(), crate::types::Error> {
21962 let request = json!({
21963 "@type": "blockMessageSenderFromReplies",
21964 "message_id": message_id,
21965 "delete_message": delete_message,
21966 "delete_all_messages": delete_all_messages,
21967 "report_spam": report_spam,
21968 });
21969 let response = send_request(client_id, request).await;
21970 if response["@type"] == "error" {
21971 return Err(serde_json::from_value(response).unwrap())
21972 }
21973 Ok(())
21974 }
21975 #[allow(clippy::too_many_arguments)]
21982 pub async fn get_blocked_message_senders(block_list: crate::enums::BlockList, offset: i32, limit: i32, client_id: i32) -> Result<crate::enums::MessageSenders, crate::types::Error> {
21983 let request = json!({
21984 "@type": "getBlockedMessageSenders",
21985 "block_list": block_list,
21986 "offset": offset,
21987 "limit": limit,
21988 });
21989 let response = send_request(client_id, request).await;
21990 if response["@type"] == "error" {
21991 return Err(serde_json::from_value(response).unwrap())
21992 }
21993 Ok(serde_json::from_value(response).unwrap())
21994 }
21995 #[allow(clippy::too_many_arguments)]
22002 pub async fn add_contact(contact: crate::types::Contact, share_phone_number: bool, client_id: i32) -> Result<(), crate::types::Error> {
22003 let request = json!({
22004 "@type": "addContact",
22005 "contact": contact,
22006 "share_phone_number": share_phone_number,
22007 });
22008 let response = send_request(client_id, request).await;
22009 if response["@type"] == "error" {
22010 return Err(serde_json::from_value(response).unwrap())
22011 }
22012 Ok(())
22013 }
22014 #[allow(clippy::too_many_arguments)]
22019 pub async fn import_contacts(contacts: Vec<crate::types::Contact>, client_id: i32) -> Result<crate::enums::ImportedContacts, crate::types::Error> {
22020 let request = json!({
22021 "@type": "importContacts",
22022 "contacts": contacts,
22023 });
22024 let response = send_request(client_id, request).await;
22025 if response["@type"] == "error" {
22026 return Err(serde_json::from_value(response).unwrap())
22027 }
22028 Ok(serde_json::from_value(response).unwrap())
22029 }
22030 #[allow(clippy::too_many_arguments)]
22034 pub async fn get_contacts(client_id: i32) -> Result<crate::enums::Users, crate::types::Error> {
22035 let request = json!({
22036 "@type": "getContacts",
22037 });
22038 let response = send_request(client_id, request).await;
22039 if response["@type"] == "error" {
22040 return Err(serde_json::from_value(response).unwrap())
22041 }
22042 Ok(serde_json::from_value(response).unwrap())
22043 }
22044 #[allow(clippy::too_many_arguments)]
22050 pub async fn search_contacts(query: String, limit: i32, client_id: i32) -> Result<crate::enums::Users, crate::types::Error> {
22051 let request = json!({
22052 "@type": "searchContacts",
22053 "query": query,
22054 "limit": limit,
22055 });
22056 let response = send_request(client_id, request).await;
22057 if response["@type"] == "error" {
22058 return Err(serde_json::from_value(response).unwrap())
22059 }
22060 Ok(serde_json::from_value(response).unwrap())
22061 }
22062 #[allow(clippy::too_many_arguments)]
22067 pub async fn remove_contacts(user_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
22068 let request = json!({
22069 "@type": "removeContacts",
22070 "user_ids": user_ids,
22071 });
22072 let response = send_request(client_id, request).await;
22073 if response["@type"] == "error" {
22074 return Err(serde_json::from_value(response).unwrap())
22075 }
22076 Ok(())
22077 }
22078 #[allow(clippy::too_many_arguments)]
22082 pub async fn get_imported_contact_count(client_id: i32) -> Result<crate::enums::Count, crate::types::Error> {
22083 let request = json!({
22084 "@type": "getImportedContactCount",
22085 });
22086 let response = send_request(client_id, request).await;
22087 if response["@type"] == "error" {
22088 return Err(serde_json::from_value(response).unwrap())
22089 }
22090 Ok(serde_json::from_value(response).unwrap())
22091 }
22092 #[allow(clippy::too_many_arguments)]
22098 pub async fn change_imported_contacts(contacts: Vec<crate::types::Contact>, client_id: i32) -> Result<crate::enums::ImportedContacts, crate::types::Error> {
22099 let request = json!({
22100 "@type": "changeImportedContacts",
22101 "contacts": contacts,
22102 });
22103 let response = send_request(client_id, request).await;
22104 if response["@type"] == "error" {
22105 return Err(serde_json::from_value(response).unwrap())
22106 }
22107 Ok(serde_json::from_value(response).unwrap())
22108 }
22109 #[allow(clippy::too_many_arguments)]
22113 pub async fn clear_imported_contacts(client_id: i32) -> Result<(), crate::types::Error> {
22114 let request = json!({
22115 "@type": "clearImportedContacts",
22116 });
22117 let response = send_request(client_id, request).await;
22118 if response["@type"] == "error" {
22119 return Err(serde_json::from_value(response).unwrap())
22120 }
22121 Ok(())
22122 }
22123 #[allow(clippy::too_many_arguments)]
22128 pub async fn set_close_friends(user_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
22129 let request = json!({
22130 "@type": "setCloseFriends",
22131 "user_ids": user_ids,
22132 });
22133 let response = send_request(client_id, request).await;
22134 if response["@type"] == "error" {
22135 return Err(serde_json::from_value(response).unwrap())
22136 }
22137 Ok(())
22138 }
22139 #[allow(clippy::too_many_arguments)]
22143 pub async fn get_close_friends(client_id: i32) -> Result<crate::enums::Users, crate::types::Error> {
22144 let request = json!({
22145 "@type": "getCloseFriends",
22146 });
22147 let response = send_request(client_id, request).await;
22148 if response["@type"] == "error" {
22149 return Err(serde_json::from_value(response).unwrap())
22150 }
22151 Ok(serde_json::from_value(response).unwrap())
22152 }
22153 #[allow(clippy::too_many_arguments)]
22159 pub async fn set_user_personal_profile_photo(user_id: i64, photo: Option<crate::enums::InputChatPhoto>, client_id: i32) -> Result<(), crate::types::Error> {
22160 let request = json!({
22161 "@type": "setUserPersonalProfilePhoto",
22162 "user_id": user_id,
22163 "photo": photo,
22164 });
22165 let response = send_request(client_id, request).await;
22166 if response["@type"] == "error" {
22167 return Err(serde_json::from_value(response).unwrap())
22168 }
22169 Ok(())
22170 }
22171 #[allow(clippy::too_many_arguments)]
22177 pub async fn suggest_user_profile_photo(user_id: i64, photo: crate::enums::InputChatPhoto, client_id: i32) -> Result<(), crate::types::Error> {
22178 let request = json!({
22179 "@type": "suggestUserProfilePhoto",
22180 "user_id": user_id,
22181 "photo": photo,
22182 });
22183 let response = send_request(client_id, request).await;
22184 if response["@type"] == "error" {
22185 return Err(serde_json::from_value(response).unwrap())
22186 }
22187 Ok(())
22188 }
22189 #[allow(clippy::too_many_arguments)]
22194 pub async fn search_user_by_phone_number(phone_number: String, client_id: i32) -> Result<crate::enums::User, crate::types::Error> {
22195 let request = json!({
22196 "@type": "searchUserByPhoneNumber",
22197 "phone_number": phone_number,
22198 });
22199 let response = send_request(client_id, request).await;
22200 if response["@type"] == "error" {
22201 return Err(serde_json::from_value(response).unwrap())
22202 }
22203 Ok(serde_json::from_value(response).unwrap())
22204 }
22205 #[allow(clippy::too_many_arguments)]
22210 pub async fn share_phone_number(user_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
22211 let request = json!({
22212 "@type": "sharePhoneNumber",
22213 "user_id": user_id,
22214 });
22215 let response = send_request(client_id, request).await;
22216 if response["@type"] == "error" {
22217 return Err(serde_json::from_value(response).unwrap())
22218 }
22219 Ok(())
22220 }
22221 #[allow(clippy::too_many_arguments)]
22228 pub async fn get_user_profile_photos(user_id: i64, offset: i32, limit: i32, client_id: i32) -> Result<crate::enums::ChatPhotos, crate::types::Error> {
22229 let request = json!({
22230 "@type": "getUserProfilePhotos",
22231 "user_id": user_id,
22232 "offset": offset,
22233 "limit": limit,
22234 });
22235 let response = send_request(client_id, request).await;
22236 if response["@type"] == "error" {
22237 return Err(serde_json::from_value(response).unwrap())
22238 }
22239 Ok(serde_json::from_value(response).unwrap())
22240 }
22241 #[allow(clippy::too_many_arguments)]
22249 pub async fn get_stickers(sticker_type: crate::enums::StickerType, query: String, limit: i32, chat_id: i64, client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22250 let request = json!({
22251 "@type": "getStickers",
22252 "sticker_type": sticker_type,
22253 "query": query,
22254 "limit": limit,
22255 "chat_id": chat_id,
22256 });
22257 let response = send_request(client_id, request).await;
22258 if response["@type"] == "error" {
22259 return Err(serde_json::from_value(response).unwrap())
22260 }
22261 Ok(serde_json::from_value(response).unwrap())
22262 }
22263 #[allow(clippy::too_many_arguments)]
22271 pub async fn get_all_sticker_emojis(sticker_type: crate::enums::StickerType, query: String, chat_id: i64, return_only_main_emoji: bool, client_id: i32) -> Result<crate::enums::Emojis, crate::types::Error> {
22272 let request = json!({
22273 "@type": "getAllStickerEmojis",
22274 "sticker_type": sticker_type,
22275 "query": query,
22276 "chat_id": chat_id,
22277 "return_only_main_emoji": return_only_main_emoji,
22278 });
22279 let response = send_request(client_id, request).await;
22280 if response["@type"] == "error" {
22281 return Err(serde_json::from_value(response).unwrap())
22282 }
22283 Ok(serde_json::from_value(response).unwrap())
22284 }
22285 #[allow(clippy::too_many_arguments)]
22292 pub async fn search_stickers(sticker_type: crate::enums::StickerType, emojis: String, limit: i32, client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22293 let request = json!({
22294 "@type": "searchStickers",
22295 "sticker_type": sticker_type,
22296 "emojis": emojis,
22297 "limit": limit,
22298 });
22299 let response = send_request(client_id, request).await;
22300 if response["@type"] == "error" {
22301 return Err(serde_json::from_value(response).unwrap())
22302 }
22303 Ok(serde_json::from_value(response).unwrap())
22304 }
22305 #[allow(clippy::too_many_arguments)]
22310 pub async fn get_premium_stickers(limit: i32, client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22311 let request = json!({
22312 "@type": "getPremiumStickers",
22313 "limit": limit,
22314 });
22315 let response = send_request(client_id, request).await;
22316 if response["@type"] == "error" {
22317 return Err(serde_json::from_value(response).unwrap())
22318 }
22319 Ok(serde_json::from_value(response).unwrap())
22320 }
22321 #[allow(clippy::too_many_arguments)]
22326 pub async fn get_installed_sticker_sets(sticker_type: crate::enums::StickerType, client_id: i32) -> Result<crate::enums::StickerSets, crate::types::Error> {
22327 let request = json!({
22328 "@type": "getInstalledStickerSets",
22329 "sticker_type": sticker_type,
22330 });
22331 let response = send_request(client_id, request).await;
22332 if response["@type"] == "error" {
22333 return Err(serde_json::from_value(response).unwrap())
22334 }
22335 Ok(serde_json::from_value(response).unwrap())
22336 }
22337 #[allow(clippy::too_many_arguments)]
22344 pub async fn get_archived_sticker_sets(sticker_type: crate::enums::StickerType, offset_sticker_set_id: i64, limit: i32, client_id: i32) -> Result<crate::enums::StickerSets, crate::types::Error> {
22345 let request = json!({
22346 "@type": "getArchivedStickerSets",
22347 "sticker_type": sticker_type,
22348 "offset_sticker_set_id": offset_sticker_set_id,
22349 "limit": limit,
22350 });
22351 let response = send_request(client_id, request).await;
22352 if response["@type"] == "error" {
22353 return Err(serde_json::from_value(response).unwrap())
22354 }
22355 Ok(serde_json::from_value(response).unwrap())
22356 }
22357 #[allow(clippy::too_many_arguments)]
22364 pub async fn get_trending_sticker_sets(sticker_type: crate::enums::StickerType, offset: i32, limit: i32, client_id: i32) -> Result<crate::enums::TrendingStickerSets, crate::types::Error> {
22365 let request = json!({
22366 "@type": "getTrendingStickerSets",
22367 "sticker_type": sticker_type,
22368 "offset": offset,
22369 "limit": limit,
22370 });
22371 let response = send_request(client_id, request).await;
22372 if response["@type"] == "error" {
22373 return Err(serde_json::from_value(response).unwrap())
22374 }
22375 Ok(serde_json::from_value(response).unwrap())
22376 }
22377 #[allow(clippy::too_many_arguments)]
22382 pub async fn get_attached_sticker_sets(file_id: i32, client_id: i32) -> Result<crate::enums::StickerSets, crate::types::Error> {
22383 let request = json!({
22384 "@type": "getAttachedStickerSets",
22385 "file_id": file_id,
22386 });
22387 let response = send_request(client_id, request).await;
22388 if response["@type"] == "error" {
22389 return Err(serde_json::from_value(response).unwrap())
22390 }
22391 Ok(serde_json::from_value(response).unwrap())
22392 }
22393 #[allow(clippy::too_many_arguments)]
22398 pub async fn get_sticker_set(set_id: i64, client_id: i32) -> Result<crate::enums::StickerSet, crate::types::Error> {
22399 let request = json!({
22400 "@type": "getStickerSet",
22401 "set_id": set_id,
22402 });
22403 let response = send_request(client_id, request).await;
22404 if response["@type"] == "error" {
22405 return Err(serde_json::from_value(response).unwrap())
22406 }
22407 Ok(serde_json::from_value(response).unwrap())
22408 }
22409 #[allow(clippy::too_many_arguments)]
22414 pub async fn search_sticker_set(name: String, client_id: i32) -> Result<crate::enums::StickerSet, crate::types::Error> {
22415 let request = json!({
22416 "@type": "searchStickerSet",
22417 "name": name,
22418 });
22419 let response = send_request(client_id, request).await;
22420 if response["@type"] == "error" {
22421 return Err(serde_json::from_value(response).unwrap())
22422 }
22423 Ok(serde_json::from_value(response).unwrap())
22424 }
22425 #[allow(clippy::too_many_arguments)]
22432 pub async fn search_installed_sticker_sets(sticker_type: crate::enums::StickerType, query: String, limit: i32, client_id: i32) -> Result<crate::enums::StickerSets, crate::types::Error> {
22433 let request = json!({
22434 "@type": "searchInstalledStickerSets",
22435 "sticker_type": sticker_type,
22436 "query": query,
22437 "limit": limit,
22438 });
22439 let response = send_request(client_id, request).await;
22440 if response["@type"] == "error" {
22441 return Err(serde_json::from_value(response).unwrap())
22442 }
22443 Ok(serde_json::from_value(response).unwrap())
22444 }
22445 #[allow(clippy::too_many_arguments)]
22450 pub async fn search_sticker_sets(query: String, client_id: i32) -> Result<crate::enums::StickerSets, crate::types::Error> {
22451 let request = json!({
22452 "@type": "searchStickerSets",
22453 "query": query,
22454 });
22455 let response = send_request(client_id, request).await;
22456 if response["@type"] == "error" {
22457 return Err(serde_json::from_value(response).unwrap())
22458 }
22459 Ok(serde_json::from_value(response).unwrap())
22460 }
22461 #[allow(clippy::too_many_arguments)]
22468 pub async fn change_sticker_set(set_id: i64, is_installed: bool, is_archived: bool, client_id: i32) -> Result<(), crate::types::Error> {
22469 let request = json!({
22470 "@type": "changeStickerSet",
22471 "set_id": set_id,
22472 "is_installed": is_installed,
22473 "is_archived": is_archived,
22474 });
22475 let response = send_request(client_id, request).await;
22476 if response["@type"] == "error" {
22477 return Err(serde_json::from_value(response).unwrap())
22478 }
22479 Ok(())
22480 }
22481 #[allow(clippy::too_many_arguments)]
22486 pub async fn view_trending_sticker_sets(sticker_set_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
22487 let request = json!({
22488 "@type": "viewTrendingStickerSets",
22489 "sticker_set_ids": sticker_set_ids,
22490 });
22491 let response = send_request(client_id, request).await;
22492 if response["@type"] == "error" {
22493 return Err(serde_json::from_value(response).unwrap())
22494 }
22495 Ok(())
22496 }
22497 #[allow(clippy::too_many_arguments)]
22503 pub async fn reorder_installed_sticker_sets(sticker_type: crate::enums::StickerType, sticker_set_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
22504 let request = json!({
22505 "@type": "reorderInstalledStickerSets",
22506 "sticker_type": sticker_type,
22507 "sticker_set_ids": sticker_set_ids,
22508 });
22509 let response = send_request(client_id, request).await;
22510 if response["@type"] == "error" {
22511 return Err(serde_json::from_value(response).unwrap())
22512 }
22513 Ok(())
22514 }
22515 #[allow(clippy::too_many_arguments)]
22520 pub async fn get_recent_stickers(is_attached: bool, client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22521 let request = json!({
22522 "@type": "getRecentStickers",
22523 "is_attached": is_attached,
22524 });
22525 let response = send_request(client_id, request).await;
22526 if response["@type"] == "error" {
22527 return Err(serde_json::from_value(response).unwrap())
22528 }
22529 Ok(serde_json::from_value(response).unwrap())
22530 }
22531 #[allow(clippy::too_many_arguments)]
22538 pub async fn add_recent_sticker(is_attached: bool, sticker: crate::enums::InputFile, client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22539 let request = json!({
22540 "@type": "addRecentSticker",
22541 "is_attached": is_attached,
22542 "sticker": sticker,
22543 });
22544 let response = send_request(client_id, request).await;
22545 if response["@type"] == "error" {
22546 return Err(serde_json::from_value(response).unwrap())
22547 }
22548 Ok(serde_json::from_value(response).unwrap())
22549 }
22550 #[allow(clippy::too_many_arguments)]
22556 pub async fn remove_recent_sticker(is_attached: bool, sticker: crate::enums::InputFile, client_id: i32) -> Result<(), crate::types::Error> {
22557 let request = json!({
22558 "@type": "removeRecentSticker",
22559 "is_attached": is_attached,
22560 "sticker": sticker,
22561 });
22562 let response = send_request(client_id, request).await;
22563 if response["@type"] == "error" {
22564 return Err(serde_json::from_value(response).unwrap())
22565 }
22566 Ok(())
22567 }
22568 #[allow(clippy::too_many_arguments)]
22573 pub async fn clear_recent_stickers(is_attached: bool, client_id: i32) -> Result<(), crate::types::Error> {
22574 let request = json!({
22575 "@type": "clearRecentStickers",
22576 "is_attached": is_attached,
22577 });
22578 let response = send_request(client_id, request).await;
22579 if response["@type"] == "error" {
22580 return Err(serde_json::from_value(response).unwrap())
22581 }
22582 Ok(())
22583 }
22584 #[allow(clippy::too_many_arguments)]
22588 pub async fn get_favorite_stickers(client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22589 let request = json!({
22590 "@type": "getFavoriteStickers",
22591 });
22592 let response = send_request(client_id, request).await;
22593 if response["@type"] == "error" {
22594 return Err(serde_json::from_value(response).unwrap())
22595 }
22596 Ok(serde_json::from_value(response).unwrap())
22597 }
22598 #[allow(clippy::too_many_arguments)]
22604 pub async fn add_favorite_sticker(sticker: crate::enums::InputFile, client_id: i32) -> Result<(), crate::types::Error> {
22605 let request = json!({
22606 "@type": "addFavoriteSticker",
22607 "sticker": sticker,
22608 });
22609 let response = send_request(client_id, request).await;
22610 if response["@type"] == "error" {
22611 return Err(serde_json::from_value(response).unwrap())
22612 }
22613 Ok(())
22614 }
22615 #[allow(clippy::too_many_arguments)]
22620 pub async fn remove_favorite_sticker(sticker: crate::enums::InputFile, client_id: i32) -> Result<(), crate::types::Error> {
22621 let request = json!({
22622 "@type": "removeFavoriteSticker",
22623 "sticker": sticker,
22624 });
22625 let response = send_request(client_id, request).await;
22626 if response["@type"] == "error" {
22627 return Err(serde_json::from_value(response).unwrap())
22628 }
22629 Ok(())
22630 }
22631 #[allow(clippy::too_many_arguments)]
22636 pub async fn get_sticker_emojis(sticker: crate::enums::InputFile, client_id: i32) -> Result<crate::enums::Emojis, crate::types::Error> {
22637 let request = json!({
22638 "@type": "getStickerEmojis",
22639 "sticker": sticker,
22640 });
22641 let response = send_request(client_id, request).await;
22642 if response["@type"] == "error" {
22643 return Err(serde_json::from_value(response).unwrap())
22644 }
22645 Ok(serde_json::from_value(response).unwrap())
22646 }
22647 #[allow(clippy::too_many_arguments)]
22654 pub async fn search_emojis(text: String, exact_match: bool, input_language_codes: Vec<String>, client_id: i32) -> Result<crate::enums::Emojis, crate::types::Error> {
22655 let request = json!({
22656 "@type": "searchEmojis",
22657 "text": text,
22658 "exact_match": exact_match,
22659 "input_language_codes": input_language_codes,
22660 });
22661 let response = send_request(client_id, request).await;
22662 if response["@type"] == "error" {
22663 return Err(serde_json::from_value(response).unwrap())
22664 }
22665 Ok(serde_json::from_value(response).unwrap())
22666 }
22667 #[allow(clippy::too_many_arguments)]
22672 pub async fn get_emoji_categories(r#type: Option<crate::enums::EmojiCategoryType>, client_id: i32) -> Result<crate::enums::EmojiCategories, crate::types::Error> {
22673 let request = json!({
22674 "@type": "getEmojiCategories",
22675 "type": r#type,
22676 });
22677 let response = send_request(client_id, request).await;
22678 if response["@type"] == "error" {
22679 return Err(serde_json::from_value(response).unwrap())
22680 }
22681 Ok(serde_json::from_value(response).unwrap())
22682 }
22683 #[allow(clippy::too_many_arguments)]
22688 pub async fn get_animated_emoji(emoji: String, client_id: i32) -> Result<crate::enums::AnimatedEmoji, crate::types::Error> {
22689 let request = json!({
22690 "@type": "getAnimatedEmoji",
22691 "emoji": emoji,
22692 });
22693 let response = send_request(client_id, request).await;
22694 if response["@type"] == "error" {
22695 return Err(serde_json::from_value(response).unwrap())
22696 }
22697 Ok(serde_json::from_value(response).unwrap())
22698 }
22699 #[allow(clippy::too_many_arguments)]
22704 pub async fn get_emoji_suggestions_url(language_code: String, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
22705 let request = json!({
22706 "@type": "getEmojiSuggestionsUrl",
22707 "language_code": language_code,
22708 });
22709 let response = send_request(client_id, request).await;
22710 if response["@type"] == "error" {
22711 return Err(serde_json::from_value(response).unwrap())
22712 }
22713 Ok(serde_json::from_value(response).unwrap())
22714 }
22715 #[allow(clippy::too_many_arguments)]
22720 pub async fn get_custom_emoji_stickers(custom_emoji_ids: Vec<i64>, client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22721 let request = json!({
22722 "@type": "getCustomEmojiStickers",
22723 "custom_emoji_ids": custom_emoji_ids,
22724 });
22725 let response = send_request(client_id, request).await;
22726 if response["@type"] == "error" {
22727 return Err(serde_json::from_value(response).unwrap())
22728 }
22729 Ok(serde_json::from_value(response).unwrap())
22730 }
22731 #[allow(clippy::too_many_arguments)]
22735 pub async fn get_default_chat_photo_custom_emoji_stickers(client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22736 let request = json!({
22737 "@type": "getDefaultChatPhotoCustomEmojiStickers",
22738 });
22739 let response = send_request(client_id, request).await;
22740 if response["@type"] == "error" {
22741 return Err(serde_json::from_value(response).unwrap())
22742 }
22743 Ok(serde_json::from_value(response).unwrap())
22744 }
22745 #[allow(clippy::too_many_arguments)]
22749 pub async fn get_default_profile_photo_custom_emoji_stickers(client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
22750 let request = json!({
22751 "@type": "getDefaultProfilePhotoCustomEmojiStickers",
22752 });
22753 let response = send_request(client_id, request).await;
22754 if response["@type"] == "error" {
22755 return Err(serde_json::from_value(response).unwrap())
22756 }
22757 Ok(serde_json::from_value(response).unwrap())
22758 }
22759 #[allow(clippy::too_many_arguments)]
22763 pub async fn get_saved_animations(client_id: i32) -> Result<crate::enums::Animations, crate::types::Error> {
22764 let request = json!({
22765 "@type": "getSavedAnimations",
22766 });
22767 let response = send_request(client_id, request).await;
22768 if response["@type"] == "error" {
22769 return Err(serde_json::from_value(response).unwrap())
22770 }
22771 Ok(serde_json::from_value(response).unwrap())
22772 }
22773 #[allow(clippy::too_many_arguments)]
22778 pub async fn add_saved_animation(animation: crate::enums::InputFile, client_id: i32) -> Result<(), crate::types::Error> {
22779 let request = json!({
22780 "@type": "addSavedAnimation",
22781 "animation": animation,
22782 });
22783 let response = send_request(client_id, request).await;
22784 if response["@type"] == "error" {
22785 return Err(serde_json::from_value(response).unwrap())
22786 }
22787 Ok(())
22788 }
22789 #[allow(clippy::too_many_arguments)]
22794 pub async fn remove_saved_animation(animation: crate::enums::InputFile, client_id: i32) -> Result<(), crate::types::Error> {
22795 let request = json!({
22796 "@type": "removeSavedAnimation",
22797 "animation": animation,
22798 });
22799 let response = send_request(client_id, request).await;
22800 if response["@type"] == "error" {
22801 return Err(serde_json::from_value(response).unwrap())
22802 }
22803 Ok(())
22804 }
22805 #[allow(clippy::too_many_arguments)]
22809 pub async fn get_recent_inline_bots(client_id: i32) -> Result<crate::enums::Users, crate::types::Error> {
22810 let request = json!({
22811 "@type": "getRecentInlineBots",
22812 });
22813 let response = send_request(client_id, request).await;
22814 if response["@type"] == "error" {
22815 return Err(serde_json::from_value(response).unwrap())
22816 }
22817 Ok(serde_json::from_value(response).unwrap())
22818 }
22819 #[allow(clippy::too_many_arguments)]
22825 pub async fn search_hashtags(prefix: String, limit: i32, client_id: i32) -> Result<crate::enums::Hashtags, crate::types::Error> {
22826 let request = json!({
22827 "@type": "searchHashtags",
22828 "prefix": prefix,
22829 "limit": limit,
22830 });
22831 let response = send_request(client_id, request).await;
22832 if response["@type"] == "error" {
22833 return Err(serde_json::from_value(response).unwrap())
22834 }
22835 Ok(serde_json::from_value(response).unwrap())
22836 }
22837 #[allow(clippy::too_many_arguments)]
22842 pub async fn remove_recent_hashtag(hashtag: String, client_id: i32) -> Result<(), crate::types::Error> {
22843 let request = json!({
22844 "@type": "removeRecentHashtag",
22845 "hashtag": hashtag,
22846 });
22847 let response = send_request(client_id, request).await;
22848 if response["@type"] == "error" {
22849 return Err(serde_json::from_value(response).unwrap())
22850 }
22851 Ok(())
22852 }
22853 #[allow(clippy::too_many_arguments)]
22858 pub async fn get_web_page_preview(text: crate::types::FormattedText, client_id: i32) -> Result<crate::enums::WebPage, crate::types::Error> {
22859 let request = json!({
22860 "@type": "getWebPagePreview",
22861 "text": text,
22862 });
22863 let response = send_request(client_id, request).await;
22864 if response["@type"] == "error" {
22865 return Err(serde_json::from_value(response).unwrap())
22866 }
22867 Ok(serde_json::from_value(response).unwrap())
22868 }
22869 #[allow(clippy::too_many_arguments)]
22875 pub async fn get_web_page_instant_view(url: String, force_full: bool, client_id: i32) -> Result<crate::enums::WebPageInstantView, crate::types::Error> {
22876 let request = json!({
22877 "@type": "getWebPageInstantView",
22878 "url": url,
22879 "force_full": force_full,
22880 });
22881 let response = send_request(client_id, request).await;
22882 if response["@type"] == "error" {
22883 return Err(serde_json::from_value(response).unwrap())
22884 }
22885 Ok(serde_json::from_value(response).unwrap())
22886 }
22887 #[allow(clippy::too_many_arguments)]
22893 pub async fn set_profile_photo(photo: crate::enums::InputChatPhoto, is_public: bool, client_id: i32) -> Result<(), crate::types::Error> {
22894 let request = json!({
22895 "@type": "setProfilePhoto",
22896 "photo": photo,
22897 "is_public": is_public,
22898 });
22899 let response = send_request(client_id, request).await;
22900 if response["@type"] == "error" {
22901 return Err(serde_json::from_value(response).unwrap())
22902 }
22903 Ok(())
22904 }
22905 #[allow(clippy::too_many_arguments)]
22910 pub async fn delete_profile_photo(profile_photo_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
22911 let request = json!({
22912 "@type": "deleteProfilePhoto",
22913 "profile_photo_id": profile_photo_id,
22914 });
22915 let response = send_request(client_id, request).await;
22916 if response["@type"] == "error" {
22917 return Err(serde_json::from_value(response).unwrap())
22918 }
22919 Ok(())
22920 }
22921 #[allow(clippy::too_many_arguments)]
22927 pub async fn set_name(first_name: String, last_name: String, client_id: i32) -> Result<(), crate::types::Error> {
22928 let request = json!({
22929 "@type": "setName",
22930 "first_name": first_name,
22931 "last_name": last_name,
22932 });
22933 let response = send_request(client_id, request).await;
22934 if response["@type"] == "error" {
22935 return Err(serde_json::from_value(response).unwrap())
22936 }
22937 Ok(())
22938 }
22939 #[allow(clippy::too_many_arguments)]
22944 pub async fn set_bio(bio: String, client_id: i32) -> Result<(), crate::types::Error> {
22945 let request = json!({
22946 "@type": "setBio",
22947 "bio": bio,
22948 });
22949 let response = send_request(client_id, request).await;
22950 if response["@type"] == "error" {
22951 return Err(serde_json::from_value(response).unwrap())
22952 }
22953 Ok(())
22954 }
22955 #[allow(clippy::too_many_arguments)]
22960 pub async fn set_username(username: String, client_id: i32) -> Result<(), crate::types::Error> {
22961 let request = json!({
22962 "@type": "setUsername",
22963 "username": username,
22964 });
22965 let response = send_request(client_id, request).await;
22966 if response["@type"] == "error" {
22967 return Err(serde_json::from_value(response).unwrap())
22968 }
22969 Ok(())
22970 }
22971 #[allow(clippy::too_many_arguments)]
22977 pub async fn toggle_username_is_active(username: String, is_active: bool, client_id: i32) -> Result<(), crate::types::Error> {
22978 let request = json!({
22979 "@type": "toggleUsernameIsActive",
22980 "username": username,
22981 "is_active": is_active,
22982 });
22983 let response = send_request(client_id, request).await;
22984 if response["@type"] == "error" {
22985 return Err(serde_json::from_value(response).unwrap())
22986 }
22987 Ok(())
22988 }
22989 #[allow(clippy::too_many_arguments)]
22994 pub async fn reorder_active_usernames(usernames: Vec<String>, client_id: i32) -> Result<(), crate::types::Error> {
22995 let request = json!({
22996 "@type": "reorderActiveUsernames",
22997 "usernames": usernames,
22998 });
22999 let response = send_request(client_id, request).await;
23000 if response["@type"] == "error" {
23001 return Err(serde_json::from_value(response).unwrap())
23002 }
23003 Ok(())
23004 }
23005 #[allow(clippy::too_many_arguments)]
23010 pub async fn set_emoji_status(emoji_status: Option<crate::types::EmojiStatus>, client_id: i32) -> Result<(), crate::types::Error> {
23011 let request = json!({
23012 "@type": "setEmojiStatus",
23013 "emoji_status": emoji_status,
23014 });
23015 let response = send_request(client_id, request).await;
23016 if response["@type"] == "error" {
23017 return Err(serde_json::from_value(response).unwrap())
23018 }
23019 Ok(())
23020 }
23021 #[allow(clippy::too_many_arguments)]
23026 pub async fn set_location(location: crate::types::Location, client_id: i32) -> Result<(), crate::types::Error> {
23027 let request = json!({
23028 "@type": "setLocation",
23029 "location": location,
23030 });
23031 let response = send_request(client_id, request).await;
23032 if response["@type"] == "error" {
23033 return Err(serde_json::from_value(response).unwrap())
23034 }
23035 Ok(())
23036 }
23037 #[allow(clippy::too_many_arguments)]
23043 pub async fn change_phone_number(phone_number: String, settings: Option<crate::types::PhoneNumberAuthenticationSettings>, client_id: i32) -> Result<crate::enums::AuthenticationCodeInfo, crate::types::Error> {
23044 let request = json!({
23045 "@type": "changePhoneNumber",
23046 "phone_number": phone_number,
23047 "settings": settings,
23048 });
23049 let response = send_request(client_id, request).await;
23050 if response["@type"] == "error" {
23051 return Err(serde_json::from_value(response).unwrap())
23052 }
23053 Ok(serde_json::from_value(response).unwrap())
23054 }
23055 #[allow(clippy::too_many_arguments)]
23059 pub async fn resend_change_phone_number_code(client_id: i32) -> Result<crate::enums::AuthenticationCodeInfo, crate::types::Error> {
23060 let request = json!({
23061 "@type": "resendChangePhoneNumberCode",
23062 });
23063 let response = send_request(client_id, request).await;
23064 if response["@type"] == "error" {
23065 return Err(serde_json::from_value(response).unwrap())
23066 }
23067 Ok(serde_json::from_value(response).unwrap())
23068 }
23069 #[allow(clippy::too_many_arguments)]
23074 pub async fn check_change_phone_number_code(code: String, client_id: i32) -> Result<(), crate::types::Error> {
23075 let request = json!({
23076 "@type": "checkChangePhoneNumberCode",
23077 "code": code,
23078 });
23079 let response = send_request(client_id, request).await;
23080 if response["@type"] == "error" {
23081 return Err(serde_json::from_value(response).unwrap())
23082 }
23083 Ok(())
23084 }
23085 #[allow(clippy::too_many_arguments)]
23089 pub async fn get_user_link(client_id: i32) -> Result<crate::enums::UserLink, crate::types::Error> {
23090 let request = json!({
23091 "@type": "getUserLink",
23092 });
23093 let response = send_request(client_id, request).await;
23094 if response["@type"] == "error" {
23095 return Err(serde_json::from_value(response).unwrap())
23096 }
23097 Ok(serde_json::from_value(response).unwrap())
23098 }
23099 #[allow(clippy::too_many_arguments)]
23104 pub async fn search_user_by_token(token: String, client_id: i32) -> Result<crate::enums::User, crate::types::Error> {
23105 let request = json!({
23106 "@type": "searchUserByToken",
23107 "token": token,
23108 });
23109 let response = send_request(client_id, request).await;
23110 if response["@type"] == "error" {
23111 return Err(serde_json::from_value(response).unwrap())
23112 }
23113 Ok(serde_json::from_value(response).unwrap())
23114 }
23115 #[allow(clippy::too_many_arguments)]
23122 pub async fn set_commands(scope: Option<crate::enums::BotCommandScope>, language_code: String, commands: Vec<crate::types::BotCommand>, client_id: i32) -> Result<(), crate::types::Error> {
23123 let request = json!({
23124 "@type": "setCommands",
23125 "scope": scope,
23126 "language_code": language_code,
23127 "commands": commands,
23128 });
23129 let response = send_request(client_id, request).await;
23130 if response["@type"] == "error" {
23131 return Err(serde_json::from_value(response).unwrap())
23132 }
23133 Ok(())
23134 }
23135 #[allow(clippy::too_many_arguments)]
23141 pub async fn delete_commands(scope: Option<crate::enums::BotCommandScope>, language_code: String, client_id: i32) -> Result<(), crate::types::Error> {
23142 let request = json!({
23143 "@type": "deleteCommands",
23144 "scope": scope,
23145 "language_code": language_code,
23146 });
23147 let response = send_request(client_id, request).await;
23148 if response["@type"] == "error" {
23149 return Err(serde_json::from_value(response).unwrap())
23150 }
23151 Ok(())
23152 }
23153 #[allow(clippy::too_many_arguments)]
23159 pub async fn get_commands(scope: Option<crate::enums::BotCommandScope>, language_code: String, client_id: i32) -> Result<crate::enums::BotCommands, crate::types::Error> {
23160 let request = json!({
23161 "@type": "getCommands",
23162 "scope": scope,
23163 "language_code": language_code,
23164 });
23165 let response = send_request(client_id, request).await;
23166 if response["@type"] == "error" {
23167 return Err(serde_json::from_value(response).unwrap())
23168 }
23169 Ok(serde_json::from_value(response).unwrap())
23170 }
23171 #[allow(clippy::too_many_arguments)]
23177 pub async fn set_menu_button(user_id: i64, menu_button: crate::types::BotMenuButton, client_id: i32) -> Result<(), crate::types::Error> {
23178 let request = json!({
23179 "@type": "setMenuButton",
23180 "user_id": user_id,
23181 "menu_button": menu_button,
23182 });
23183 let response = send_request(client_id, request).await;
23184 if response["@type"] == "error" {
23185 return Err(serde_json::from_value(response).unwrap())
23186 }
23187 Ok(())
23188 }
23189 #[allow(clippy::too_many_arguments)]
23194 pub async fn get_menu_button(user_id: i64, client_id: i32) -> Result<crate::enums::BotMenuButton, crate::types::Error> {
23195 let request = json!({
23196 "@type": "getMenuButton",
23197 "user_id": user_id,
23198 });
23199 let response = send_request(client_id, request).await;
23200 if response["@type"] == "error" {
23201 return Err(serde_json::from_value(response).unwrap())
23202 }
23203 Ok(serde_json::from_value(response).unwrap())
23204 }
23205 #[allow(clippy::too_many_arguments)]
23210 pub async fn set_default_group_administrator_rights(default_group_administrator_rights: Option<crate::types::ChatAdministratorRights>, client_id: i32) -> Result<(), crate::types::Error> {
23211 let request = json!({
23212 "@type": "setDefaultGroupAdministratorRights",
23213 "default_group_administrator_rights": default_group_administrator_rights,
23214 });
23215 let response = send_request(client_id, request).await;
23216 if response["@type"] == "error" {
23217 return Err(serde_json::from_value(response).unwrap())
23218 }
23219 Ok(())
23220 }
23221 #[allow(clippy::too_many_arguments)]
23226 pub async fn set_default_channel_administrator_rights(default_channel_administrator_rights: Option<crate::types::ChatAdministratorRights>, client_id: i32) -> Result<(), crate::types::Error> {
23227 let request = json!({
23228 "@type": "setDefaultChannelAdministratorRights",
23229 "default_channel_administrator_rights": default_channel_administrator_rights,
23230 });
23231 let response = send_request(client_id, request).await;
23232 if response["@type"] == "error" {
23233 return Err(serde_json::from_value(response).unwrap())
23234 }
23235 Ok(())
23236 }
23237 #[allow(clippy::too_many_arguments)]
23242 pub async fn can_bot_send_messages(bot_user_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23243 let request = json!({
23244 "@type": "canBotSendMessages",
23245 "bot_user_id": bot_user_id,
23246 });
23247 let response = send_request(client_id, request).await;
23248 if response["@type"] == "error" {
23249 return Err(serde_json::from_value(response).unwrap())
23250 }
23251 Ok(())
23252 }
23253 #[allow(clippy::too_many_arguments)]
23258 pub async fn allow_bot_to_send_messages(bot_user_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23259 let request = json!({
23260 "@type": "allowBotToSendMessages",
23261 "bot_user_id": bot_user_id,
23262 });
23263 let response = send_request(client_id, request).await;
23264 if response["@type"] == "error" {
23265 return Err(serde_json::from_value(response).unwrap())
23266 }
23267 Ok(())
23268 }
23269 #[allow(clippy::too_many_arguments)]
23276 pub async fn send_web_app_custom_request(bot_user_id: i64, method: String, parameters: String, client_id: i32) -> Result<crate::enums::CustomRequestResult, crate::types::Error> {
23277 let request = json!({
23278 "@type": "sendWebAppCustomRequest",
23279 "bot_user_id": bot_user_id,
23280 "method": method,
23281 "parameters": parameters,
23282 });
23283 let response = send_request(client_id, request).await;
23284 if response["@type"] == "error" {
23285 return Err(serde_json::from_value(response).unwrap())
23286 }
23287 Ok(serde_json::from_value(response).unwrap())
23288 }
23289 #[allow(clippy::too_many_arguments)]
23296 pub async fn set_bot_name(bot_user_id: i64, language_code: String, name: String, client_id: i32) -> Result<(), crate::types::Error> {
23297 let request = json!({
23298 "@type": "setBotName",
23299 "bot_user_id": bot_user_id,
23300 "language_code": language_code,
23301 "name": name,
23302 });
23303 let response = send_request(client_id, request).await;
23304 if response["@type"] == "error" {
23305 return Err(serde_json::from_value(response).unwrap())
23306 }
23307 Ok(())
23308 }
23309 #[allow(clippy::too_many_arguments)]
23315 pub async fn get_bot_name(bot_user_id: i64, language_code: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
23316 let request = json!({
23317 "@type": "getBotName",
23318 "bot_user_id": bot_user_id,
23319 "language_code": language_code,
23320 });
23321 let response = send_request(client_id, request).await;
23322 if response["@type"] == "error" {
23323 return Err(serde_json::from_value(response).unwrap())
23324 }
23325 Ok(serde_json::from_value(response).unwrap())
23326 }
23327 #[allow(clippy::too_many_arguments)]
23333 pub async fn set_bot_profile_photo(bot_user_id: i64, photo: Option<crate::enums::InputChatPhoto>, client_id: i32) -> Result<(), crate::types::Error> {
23334 let request = json!({
23335 "@type": "setBotProfilePhoto",
23336 "bot_user_id": bot_user_id,
23337 "photo": photo,
23338 });
23339 let response = send_request(client_id, request).await;
23340 if response["@type"] == "error" {
23341 return Err(serde_json::from_value(response).unwrap())
23342 }
23343 Ok(())
23344 }
23345 #[allow(clippy::too_many_arguments)]
23352 pub async fn toggle_bot_username_is_active(bot_user_id: i64, username: String, is_active: bool, client_id: i32) -> Result<(), crate::types::Error> {
23353 let request = json!({
23354 "@type": "toggleBotUsernameIsActive",
23355 "bot_user_id": bot_user_id,
23356 "username": username,
23357 "is_active": is_active,
23358 });
23359 let response = send_request(client_id, request).await;
23360 if response["@type"] == "error" {
23361 return Err(serde_json::from_value(response).unwrap())
23362 }
23363 Ok(())
23364 }
23365 #[allow(clippy::too_many_arguments)]
23371 pub async fn reorder_bot_active_usernames(bot_user_id: i64, usernames: Vec<String>, client_id: i32) -> Result<(), crate::types::Error> {
23372 let request = json!({
23373 "@type": "reorderBotActiveUsernames",
23374 "bot_user_id": bot_user_id,
23375 "usernames": usernames,
23376 });
23377 let response = send_request(client_id, request).await;
23378 if response["@type"] == "error" {
23379 return Err(serde_json::from_value(response).unwrap())
23380 }
23381 Ok(())
23382 }
23383 #[allow(clippy::too_many_arguments)]
23390 pub async fn set_bot_info_description(bot_user_id: i64, language_code: String, description: String, client_id: i32) -> Result<(), crate::types::Error> {
23391 let request = json!({
23392 "@type": "setBotInfoDescription",
23393 "bot_user_id": bot_user_id,
23394 "language_code": language_code,
23395 "description": description,
23396 });
23397 let response = send_request(client_id, request).await;
23398 if response["@type"] == "error" {
23399 return Err(serde_json::from_value(response).unwrap())
23400 }
23401 Ok(())
23402 }
23403 #[allow(clippy::too_many_arguments)]
23409 pub async fn get_bot_info_description(bot_user_id: i64, language_code: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
23410 let request = json!({
23411 "@type": "getBotInfoDescription",
23412 "bot_user_id": bot_user_id,
23413 "language_code": language_code,
23414 });
23415 let response = send_request(client_id, request).await;
23416 if response["@type"] == "error" {
23417 return Err(serde_json::from_value(response).unwrap())
23418 }
23419 Ok(serde_json::from_value(response).unwrap())
23420 }
23421 #[allow(clippy::too_many_arguments)]
23428 pub async fn set_bot_info_short_description(bot_user_id: i64, language_code: String, short_description: String, client_id: i32) -> Result<(), crate::types::Error> {
23429 let request = json!({
23430 "@type": "setBotInfoShortDescription",
23431 "bot_user_id": bot_user_id,
23432 "language_code": language_code,
23433 "short_description": short_description,
23434 });
23435 let response = send_request(client_id, request).await;
23436 if response["@type"] == "error" {
23437 return Err(serde_json::from_value(response).unwrap())
23438 }
23439 Ok(())
23440 }
23441 #[allow(clippy::too_many_arguments)]
23447 pub async fn get_bot_info_short_description(bot_user_id: i64, language_code: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
23448 let request = json!({
23449 "@type": "getBotInfoShortDescription",
23450 "bot_user_id": bot_user_id,
23451 "language_code": language_code,
23452 });
23453 let response = send_request(client_id, request).await;
23454 if response["@type"] == "error" {
23455 return Err(serde_json::from_value(response).unwrap())
23456 }
23457 Ok(serde_json::from_value(response).unwrap())
23458 }
23459 #[allow(clippy::too_many_arguments)]
23463 pub async fn get_active_sessions(client_id: i32) -> Result<crate::enums::Sessions, crate::types::Error> {
23464 let request = json!({
23465 "@type": "getActiveSessions",
23466 });
23467 let response = send_request(client_id, request).await;
23468 if response["@type"] == "error" {
23469 return Err(serde_json::from_value(response).unwrap())
23470 }
23471 Ok(serde_json::from_value(response).unwrap())
23472 }
23473 #[allow(clippy::too_many_arguments)]
23478 pub async fn terminate_session(session_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23479 let request = json!({
23480 "@type": "terminateSession",
23481 "session_id": session_id,
23482 });
23483 let response = send_request(client_id, request).await;
23484 if response["@type"] == "error" {
23485 return Err(serde_json::from_value(response).unwrap())
23486 }
23487 Ok(())
23488 }
23489 #[allow(clippy::too_many_arguments)]
23493 pub async fn terminate_all_other_sessions(client_id: i32) -> Result<(), crate::types::Error> {
23494 let request = json!({
23495 "@type": "terminateAllOtherSessions",
23496 });
23497 let response = send_request(client_id, request).await;
23498 if response["@type"] == "error" {
23499 return Err(serde_json::from_value(response).unwrap())
23500 }
23501 Ok(())
23502 }
23503 #[allow(clippy::too_many_arguments)]
23508 pub async fn confirm_session(session_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23509 let request = json!({
23510 "@type": "confirmSession",
23511 "session_id": session_id,
23512 });
23513 let response = send_request(client_id, request).await;
23514 if response["@type"] == "error" {
23515 return Err(serde_json::from_value(response).unwrap())
23516 }
23517 Ok(())
23518 }
23519 #[allow(clippy::too_many_arguments)]
23525 pub async fn toggle_session_can_accept_calls(session_id: i64, can_accept_calls: bool, client_id: i32) -> Result<(), crate::types::Error> {
23526 let request = json!({
23527 "@type": "toggleSessionCanAcceptCalls",
23528 "session_id": session_id,
23529 "can_accept_calls": can_accept_calls,
23530 });
23531 let response = send_request(client_id, request).await;
23532 if response["@type"] == "error" {
23533 return Err(serde_json::from_value(response).unwrap())
23534 }
23535 Ok(())
23536 }
23537 #[allow(clippy::too_many_arguments)]
23543 pub async fn toggle_session_can_accept_secret_chats(session_id: i64, can_accept_secret_chats: bool, client_id: i32) -> Result<(), crate::types::Error> {
23544 let request = json!({
23545 "@type": "toggleSessionCanAcceptSecretChats",
23546 "session_id": session_id,
23547 "can_accept_secret_chats": can_accept_secret_chats,
23548 });
23549 let response = send_request(client_id, request).await;
23550 if response["@type"] == "error" {
23551 return Err(serde_json::from_value(response).unwrap())
23552 }
23553 Ok(())
23554 }
23555 #[allow(clippy::too_many_arguments)]
23560 pub async fn set_inactive_session_ttl(inactive_session_ttl_days: i32, client_id: i32) -> Result<(), crate::types::Error> {
23561 let request = json!({
23562 "@type": "setInactiveSessionTtl",
23563 "inactive_session_ttl_days": inactive_session_ttl_days,
23564 });
23565 let response = send_request(client_id, request).await;
23566 if response["@type"] == "error" {
23567 return Err(serde_json::from_value(response).unwrap())
23568 }
23569 Ok(())
23570 }
23571 #[allow(clippy::too_many_arguments)]
23575 pub async fn get_connected_websites(client_id: i32) -> Result<crate::enums::ConnectedWebsites, crate::types::Error> {
23576 let request = json!({
23577 "@type": "getConnectedWebsites",
23578 });
23579 let response = send_request(client_id, request).await;
23580 if response["@type"] == "error" {
23581 return Err(serde_json::from_value(response).unwrap())
23582 }
23583 Ok(serde_json::from_value(response).unwrap())
23584 }
23585 #[allow(clippy::too_many_arguments)]
23590 pub async fn disconnect_website(website_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23591 let request = json!({
23592 "@type": "disconnectWebsite",
23593 "website_id": website_id,
23594 });
23595 let response = send_request(client_id, request).await;
23596 if response["@type"] == "error" {
23597 return Err(serde_json::from_value(response).unwrap())
23598 }
23599 Ok(())
23600 }
23601 #[allow(clippy::too_many_arguments)]
23605 pub async fn disconnect_all_websites(client_id: i32) -> Result<(), crate::types::Error> {
23606 let request = json!({
23607 "@type": "disconnectAllWebsites",
23608 });
23609 let response = send_request(client_id, request).await;
23610 if response["@type"] == "error" {
23611 return Err(serde_json::from_value(response).unwrap())
23612 }
23613 Ok(())
23614 }
23615 #[allow(clippy::too_many_arguments)]
23621 pub async fn set_supergroup_username(supergroup_id: i64, username: String, client_id: i32) -> Result<(), crate::types::Error> {
23622 let request = json!({
23623 "@type": "setSupergroupUsername",
23624 "supergroup_id": supergroup_id,
23625 "username": username,
23626 });
23627 let response = send_request(client_id, request).await;
23628 if response["@type"] == "error" {
23629 return Err(serde_json::from_value(response).unwrap())
23630 }
23631 Ok(())
23632 }
23633 #[allow(clippy::too_many_arguments)]
23641 pub async fn toggle_supergroup_username_is_active(supergroup_id: i64, username: String, is_active: bool, client_id: i32) -> Result<(), crate::types::Error> {
23642 let request = json!({
23643 "@type": "toggleSupergroupUsernameIsActive",
23644 "supergroup_id": supergroup_id,
23645 "username": username,
23646 "is_active": is_active,
23647 });
23648 let response = send_request(client_id, request).await;
23649 if response["@type"] == "error" {
23650 return Err(serde_json::from_value(response).unwrap())
23651 }
23652 Ok(())
23653 }
23654 #[allow(clippy::too_many_arguments)]
23659 pub async fn disable_all_supergroup_usernames(supergroup_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23660 let request = json!({
23661 "@type": "disableAllSupergroupUsernames",
23662 "supergroup_id": supergroup_id,
23663 });
23664 let response = send_request(client_id, request).await;
23665 if response["@type"] == "error" {
23666 return Err(serde_json::from_value(response).unwrap())
23667 }
23668 Ok(())
23669 }
23670 #[allow(clippy::too_many_arguments)]
23676 pub async fn reorder_supergroup_active_usernames(supergroup_id: i64, usernames: Vec<String>, client_id: i32) -> Result<(), crate::types::Error> {
23677 let request = json!({
23678 "@type": "reorderSupergroupActiveUsernames",
23679 "supergroup_id": supergroup_id,
23680 "usernames": usernames,
23681 });
23682 let response = send_request(client_id, request).await;
23683 if response["@type"] == "error" {
23684 return Err(serde_json::from_value(response).unwrap())
23685 }
23686 Ok(())
23687 }
23688 #[allow(clippy::too_many_arguments)]
23694 pub async fn set_supergroup_sticker_set(supergroup_id: i64, sticker_set_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23695 let request = json!({
23696 "@type": "setSupergroupStickerSet",
23697 "supergroup_id": supergroup_id,
23698 "sticker_set_id": sticker_set_id,
23699 });
23700 let response = send_request(client_id, request).await;
23701 if response["@type"] == "error" {
23702 return Err(serde_json::from_value(response).unwrap())
23703 }
23704 Ok(())
23705 }
23706 #[allow(clippy::too_many_arguments)]
23712 pub async fn toggle_supergroup_sign_messages(supergroup_id: i64, sign_messages: bool, client_id: i32) -> Result<(), crate::types::Error> {
23713 let request = json!({
23714 "@type": "toggleSupergroupSignMessages",
23715 "supergroup_id": supergroup_id,
23716 "sign_messages": sign_messages,
23717 });
23718 let response = send_request(client_id, request).await;
23719 if response["@type"] == "error" {
23720 return Err(serde_json::from_value(response).unwrap())
23721 }
23722 Ok(())
23723 }
23724 #[allow(clippy::too_many_arguments)]
23730 pub async fn toggle_supergroup_join_to_send_messages(supergroup_id: i64, join_to_send_messages: bool, client_id: i32) -> Result<(), crate::types::Error> {
23731 let request = json!({
23732 "@type": "toggleSupergroupJoinToSendMessages",
23733 "supergroup_id": supergroup_id,
23734 "join_to_send_messages": join_to_send_messages,
23735 });
23736 let response = send_request(client_id, request).await;
23737 if response["@type"] == "error" {
23738 return Err(serde_json::from_value(response).unwrap())
23739 }
23740 Ok(())
23741 }
23742 #[allow(clippy::too_many_arguments)]
23748 pub async fn toggle_supergroup_join_by_request(supergroup_id: i64, join_by_request: bool, client_id: i32) -> Result<(), crate::types::Error> {
23749 let request = json!({
23750 "@type": "toggleSupergroupJoinByRequest",
23751 "supergroup_id": supergroup_id,
23752 "join_by_request": join_by_request,
23753 });
23754 let response = send_request(client_id, request).await;
23755 if response["@type"] == "error" {
23756 return Err(serde_json::from_value(response).unwrap())
23757 }
23758 Ok(())
23759 }
23760 #[allow(clippy::too_many_arguments)]
23766 pub async fn toggle_supergroup_is_all_history_available(supergroup_id: i64, is_all_history_available: bool, client_id: i32) -> Result<(), crate::types::Error> {
23767 let request = json!({
23768 "@type": "toggleSupergroupIsAllHistoryAvailable",
23769 "supergroup_id": supergroup_id,
23770 "is_all_history_available": is_all_history_available,
23771 });
23772 let response = send_request(client_id, request).await;
23773 if response["@type"] == "error" {
23774 return Err(serde_json::from_value(response).unwrap())
23775 }
23776 Ok(())
23777 }
23778 #[allow(clippy::too_many_arguments)]
23784 pub async fn toggle_supergroup_has_hidden_members(supergroup_id: i64, has_hidden_members: bool, client_id: i32) -> Result<(), crate::types::Error> {
23785 let request = json!({
23786 "@type": "toggleSupergroupHasHiddenMembers",
23787 "supergroup_id": supergroup_id,
23788 "has_hidden_members": has_hidden_members,
23789 });
23790 let response = send_request(client_id, request).await;
23791 if response["@type"] == "error" {
23792 return Err(serde_json::from_value(response).unwrap())
23793 }
23794 Ok(())
23795 }
23796 #[allow(clippy::too_many_arguments)]
23802 pub async fn toggle_supergroup_has_aggressive_anti_spam_enabled(supergroup_id: i64, has_aggressive_anti_spam_enabled: bool, client_id: i32) -> Result<(), crate::types::Error> {
23803 let request = json!({
23804 "@type": "toggleSupergroupHasAggressiveAntiSpamEnabled",
23805 "supergroup_id": supergroup_id,
23806 "has_aggressive_anti_spam_enabled": has_aggressive_anti_spam_enabled,
23807 });
23808 let response = send_request(client_id, request).await;
23809 if response["@type"] == "error" {
23810 return Err(serde_json::from_value(response).unwrap())
23811 }
23812 Ok(())
23813 }
23814 #[allow(clippy::too_many_arguments)]
23820 pub async fn toggle_supergroup_is_forum(supergroup_id: i64, is_forum: bool, client_id: i32) -> Result<(), crate::types::Error> {
23821 let request = json!({
23822 "@type": "toggleSupergroupIsForum",
23823 "supergroup_id": supergroup_id,
23824 "is_forum": is_forum,
23825 });
23826 let response = send_request(client_id, request).await;
23827 if response["@type"] == "error" {
23828 return Err(serde_json::from_value(response).unwrap())
23829 }
23830 Ok(())
23831 }
23832 #[allow(clippy::too_many_arguments)]
23837 pub async fn toggle_supergroup_is_broadcast_group(supergroup_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23838 let request = json!({
23839 "@type": "toggleSupergroupIsBroadcastGroup",
23840 "supergroup_id": supergroup_id,
23841 });
23842 let response = send_request(client_id, request).await;
23843 if response["@type"] == "error" {
23844 return Err(serde_json::from_value(response).unwrap())
23845 }
23846 Ok(())
23847 }
23848 #[allow(clippy::too_many_arguments)]
23854 pub async fn report_supergroup_spam(supergroup_id: i64, message_ids: Vec<i64>, client_id: i32) -> Result<(), crate::types::Error> {
23855 let request = json!({
23856 "@type": "reportSupergroupSpam",
23857 "supergroup_id": supergroup_id,
23858 "message_ids": message_ids,
23859 });
23860 let response = send_request(client_id, request).await;
23861 if response["@type"] == "error" {
23862 return Err(serde_json::from_value(response).unwrap())
23863 }
23864 Ok(())
23865 }
23866 #[allow(clippy::too_many_arguments)]
23872 pub async fn report_supergroup_anti_spam_false_positive(supergroup_id: i64, message_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
23873 let request = json!({
23874 "@type": "reportSupergroupAntiSpamFalsePositive",
23875 "supergroup_id": supergroup_id,
23876 "message_id": message_id,
23877 });
23878 let response = send_request(client_id, request).await;
23879 if response["@type"] == "error" {
23880 return Err(serde_json::from_value(response).unwrap())
23881 }
23882 Ok(())
23883 }
23884 #[allow(clippy::too_many_arguments)]
23892 pub async fn get_supergroup_members(supergroup_id: i64, filter: Option<crate::enums::SupergroupMembersFilter>, offset: i32, limit: i32, client_id: i32) -> Result<crate::enums::ChatMembers, crate::types::Error> {
23893 let request = json!({
23894 "@type": "getSupergroupMembers",
23895 "supergroup_id": supergroup_id,
23896 "filter": filter,
23897 "offset": offset,
23898 "limit": limit,
23899 });
23900 let response = send_request(client_id, request).await;
23901 if response["@type"] == "error" {
23902 return Err(serde_json::from_value(response).unwrap())
23903 }
23904 Ok(serde_json::from_value(response).unwrap())
23905 }
23906 #[allow(clippy::too_many_arguments)]
23911 pub async fn close_secret_chat(secret_chat_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
23912 let request = json!({
23913 "@type": "closeSecretChat",
23914 "secret_chat_id": secret_chat_id,
23915 });
23916 let response = send_request(client_id, request).await;
23917 if response["@type"] == "error" {
23918 return Err(serde_json::from_value(response).unwrap())
23919 }
23920 Ok(())
23921 }
23922 #[allow(clippy::too_many_arguments)]
23932 pub async fn get_chat_event_log(chat_id: i64, query: String, from_event_id: i64, limit: i32, filters: Option<crate::types::ChatEventLogFilters>, user_ids: Vec<i64>, client_id: i32) -> Result<crate::enums::ChatEvents, crate::types::Error> {
23933 let request = json!({
23934 "@type": "getChatEventLog",
23935 "chat_id": chat_id,
23936 "query": query,
23937 "from_event_id": from_event_id,
23938 "limit": limit,
23939 "filters": filters,
23940 "user_ids": user_ids,
23941 });
23942 let response = send_request(client_id, request).await;
23943 if response["@type"] == "error" {
23944 return Err(serde_json::from_value(response).unwrap())
23945 }
23946 Ok(serde_json::from_value(response).unwrap())
23947 }
23948 #[allow(clippy::too_many_arguments)]
23954 pub async fn get_payment_form(input_invoice: crate::enums::InputInvoice, theme: Option<crate::types::ThemeParameters>, client_id: i32) -> Result<crate::enums::PaymentForm, crate::types::Error> {
23955 let request = json!({
23956 "@type": "getPaymentForm",
23957 "input_invoice": input_invoice,
23958 "theme": theme,
23959 });
23960 let response = send_request(client_id, request).await;
23961 if response["@type"] == "error" {
23962 return Err(serde_json::from_value(response).unwrap())
23963 }
23964 Ok(serde_json::from_value(response).unwrap())
23965 }
23966 #[allow(clippy::too_many_arguments)]
23973 pub async fn validate_order_info(input_invoice: crate::enums::InputInvoice, order_info: Option<crate::types::OrderInfo>, allow_save: bool, client_id: i32) -> Result<crate::enums::ValidatedOrderInfo, crate::types::Error> {
23974 let request = json!({
23975 "@type": "validateOrderInfo",
23976 "input_invoice": input_invoice,
23977 "order_info": order_info,
23978 "allow_save": allow_save,
23979 });
23980 let response = send_request(client_id, request).await;
23981 if response["@type"] == "error" {
23982 return Err(serde_json::from_value(response).unwrap())
23983 }
23984 Ok(serde_json::from_value(response).unwrap())
23985 }
23986 #[allow(clippy::too_many_arguments)]
23996 pub async fn send_payment_form(input_invoice: crate::enums::InputInvoice, payment_form_id: i64, order_info_id: String, shipping_option_id: String, credentials: crate::enums::InputCredentials, tip_amount: i64, client_id: i32) -> Result<crate::enums::PaymentResult, crate::types::Error> {
23997 let request = json!({
23998 "@type": "sendPaymentForm",
23999 "input_invoice": input_invoice,
24000 "payment_form_id": payment_form_id,
24001 "order_info_id": order_info_id,
24002 "shipping_option_id": shipping_option_id,
24003 "credentials": credentials,
24004 "tip_amount": tip_amount,
24005 });
24006 let response = send_request(client_id, request).await;
24007 if response["@type"] == "error" {
24008 return Err(serde_json::from_value(response).unwrap())
24009 }
24010 Ok(serde_json::from_value(response).unwrap())
24011 }
24012 #[allow(clippy::too_many_arguments)]
24018 pub async fn get_payment_receipt(chat_id: i64, message_id: i64, client_id: i32) -> Result<crate::enums::PaymentReceipt, crate::types::Error> {
24019 let request = json!({
24020 "@type": "getPaymentReceipt",
24021 "chat_id": chat_id,
24022 "message_id": message_id,
24023 });
24024 let response = send_request(client_id, request).await;
24025 if response["@type"] == "error" {
24026 return Err(serde_json::from_value(response).unwrap())
24027 }
24028 Ok(serde_json::from_value(response).unwrap())
24029 }
24030 #[allow(clippy::too_many_arguments)]
24034 pub async fn get_saved_order_info(client_id: i32) -> Result<crate::enums::OrderInfo, crate::types::Error> {
24035 let request = json!({
24036 "@type": "getSavedOrderInfo",
24037 });
24038 let response = send_request(client_id, request).await;
24039 if response["@type"] == "error" {
24040 return Err(serde_json::from_value(response).unwrap())
24041 }
24042 Ok(serde_json::from_value(response).unwrap())
24043 }
24044 #[allow(clippy::too_many_arguments)]
24048 pub async fn delete_saved_order_info(client_id: i32) -> Result<(), crate::types::Error> {
24049 let request = json!({
24050 "@type": "deleteSavedOrderInfo",
24051 });
24052 let response = send_request(client_id, request).await;
24053 if response["@type"] == "error" {
24054 return Err(serde_json::from_value(response).unwrap())
24055 }
24056 Ok(())
24057 }
24058 #[allow(clippy::too_many_arguments)]
24062 pub async fn delete_saved_credentials(client_id: i32) -> Result<(), crate::types::Error> {
24063 let request = json!({
24064 "@type": "deleteSavedCredentials",
24065 });
24066 let response = send_request(client_id, request).await;
24067 if response["@type"] == "error" {
24068 return Err(serde_json::from_value(response).unwrap())
24069 }
24070 Ok(())
24071 }
24072 #[allow(clippy::too_many_arguments)]
24077 pub async fn create_invoice_link(invoice: crate::enums::InputMessageContent, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
24078 let request = json!({
24079 "@type": "createInvoiceLink",
24080 "invoice": invoice,
24081 });
24082 let response = send_request(client_id, request).await;
24083 if response["@type"] == "error" {
24084 return Err(serde_json::from_value(response).unwrap())
24085 }
24086 Ok(serde_json::from_value(response).unwrap())
24087 }
24088 #[allow(clippy::too_many_arguments)]
24092 pub async fn get_support_user(client_id: i32) -> Result<crate::enums::User, crate::types::Error> {
24093 let request = json!({
24094 "@type": "getSupportUser",
24095 });
24096 let response = send_request(client_id, request).await;
24097 if response["@type"] == "error" {
24098 return Err(serde_json::from_value(response).unwrap())
24099 }
24100 Ok(serde_json::from_value(response).unwrap())
24101 }
24102 #[allow(clippy::too_many_arguments)]
24107 pub async fn get_backgrounds(for_dark_theme: bool, client_id: i32) -> Result<crate::enums::Backgrounds, crate::types::Error> {
24108 let request = json!({
24109 "@type": "getBackgrounds",
24110 "for_dark_theme": for_dark_theme,
24111 });
24112 let response = send_request(client_id, request).await;
24113 if response["@type"] == "error" {
24114 return Err(serde_json::from_value(response).unwrap())
24115 }
24116 Ok(serde_json::from_value(response).unwrap())
24117 }
24118 #[allow(clippy::too_many_arguments)]
24124 pub async fn get_background_url(name: String, r#type: crate::enums::BackgroundType, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
24125 let request = json!({
24126 "@type": "getBackgroundUrl",
24127 "name": name,
24128 "type": r#type,
24129 });
24130 let response = send_request(client_id, request).await;
24131 if response["@type"] == "error" {
24132 return Err(serde_json::from_value(response).unwrap())
24133 }
24134 Ok(serde_json::from_value(response).unwrap())
24135 }
24136 #[allow(clippy::too_many_arguments)]
24141 pub async fn search_background(name: String, client_id: i32) -> Result<crate::enums::Background, crate::types::Error> {
24142 let request = json!({
24143 "@type": "searchBackground",
24144 "name": name,
24145 });
24146 let response = send_request(client_id, request).await;
24147 if response["@type"] == "error" {
24148 return Err(serde_json::from_value(response).unwrap())
24149 }
24150 Ok(serde_json::from_value(response).unwrap())
24151 }
24152 #[allow(clippy::too_many_arguments)]
24159 pub async fn set_background(background: Option<crate::enums::InputBackground>, r#type: Option<crate::enums::BackgroundType>, for_dark_theme: bool, client_id: i32) -> Result<crate::enums::Background, crate::types::Error> {
24160 let request = json!({
24161 "@type": "setBackground",
24162 "background": background,
24163 "type": r#type,
24164 "for_dark_theme": for_dark_theme,
24165 });
24166 let response = send_request(client_id, request).await;
24167 if response["@type"] == "error" {
24168 return Err(serde_json::from_value(response).unwrap())
24169 }
24170 Ok(serde_json::from_value(response).unwrap())
24171 }
24172 #[allow(clippy::too_many_arguments)]
24177 pub async fn remove_background(background_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
24178 let request = json!({
24179 "@type": "removeBackground",
24180 "background_id": background_id,
24181 });
24182 let response = send_request(client_id, request).await;
24183 if response["@type"] == "error" {
24184 return Err(serde_json::from_value(response).unwrap())
24185 }
24186 Ok(())
24187 }
24188 #[allow(clippy::too_many_arguments)]
24192 pub async fn reset_backgrounds(client_id: i32) -> Result<(), crate::types::Error> {
24193 let request = json!({
24194 "@type": "resetBackgrounds",
24195 });
24196 let response = send_request(client_id, request).await;
24197 if response["@type"] == "error" {
24198 return Err(serde_json::from_value(response).unwrap())
24199 }
24200 Ok(())
24201 }
24202 #[allow(clippy::too_many_arguments)]
24207 pub async fn get_localization_target_info(only_local: bool, client_id: i32) -> Result<crate::enums::LocalizationTargetInfo, crate::types::Error> {
24208 let request = json!({
24209 "@type": "getLocalizationTargetInfo",
24210 "only_local": only_local,
24211 });
24212 let response = send_request(client_id, request).await;
24213 if response["@type"] == "error" {
24214 return Err(serde_json::from_value(response).unwrap())
24215 }
24216 Ok(serde_json::from_value(response).unwrap())
24217 }
24218 #[allow(clippy::too_many_arguments)]
24223 pub async fn get_language_pack_info(language_pack_id: String, client_id: i32) -> Result<crate::enums::LanguagePackInfo, crate::types::Error> {
24224 let request = json!({
24225 "@type": "getLanguagePackInfo",
24226 "language_pack_id": language_pack_id,
24227 });
24228 let response = send_request(client_id, request).await;
24229 if response["@type"] == "error" {
24230 return Err(serde_json::from_value(response).unwrap())
24231 }
24232 Ok(serde_json::from_value(response).unwrap())
24233 }
24234 #[allow(clippy::too_many_arguments)]
24240 pub async fn get_language_pack_strings(language_pack_id: String, keys: Vec<String>, client_id: i32) -> Result<crate::enums::LanguagePackStrings, crate::types::Error> {
24241 let request = json!({
24242 "@type": "getLanguagePackStrings",
24243 "language_pack_id": language_pack_id,
24244 "keys": keys,
24245 });
24246 let response = send_request(client_id, request).await;
24247 if response["@type"] == "error" {
24248 return Err(serde_json::from_value(response).unwrap())
24249 }
24250 Ok(serde_json::from_value(response).unwrap())
24251 }
24252 #[allow(clippy::too_many_arguments)]
24258 pub async fn synchronize_language_pack(language_pack_id: String, client_id: i32) -> Result<(), crate::types::Error> {
24259 let request = json!({
24260 "@type": "synchronizeLanguagePack",
24261 "language_pack_id": language_pack_id,
24262 });
24263 let response = send_request(client_id, request).await;
24264 if response["@type"] == "error" {
24265 return Err(serde_json::from_value(response).unwrap())
24266 }
24267 Ok(())
24268 }
24269 #[allow(clippy::too_many_arguments)]
24274 pub async fn add_custom_server_language_pack(language_pack_id: String, client_id: i32) -> Result<(), crate::types::Error> {
24275 let request = json!({
24276 "@type": "addCustomServerLanguagePack",
24277 "language_pack_id": language_pack_id,
24278 });
24279 let response = send_request(client_id, request).await;
24280 if response["@type"] == "error" {
24281 return Err(serde_json::from_value(response).unwrap())
24282 }
24283 Ok(())
24284 }
24285 #[allow(clippy::too_many_arguments)]
24291 pub async fn set_custom_language_pack(info: crate::types::LanguagePackInfo, strings: Vec<crate::types::LanguagePackString>, client_id: i32) -> Result<(), crate::types::Error> {
24292 let request = json!({
24293 "@type": "setCustomLanguagePack",
24294 "info": info,
24295 "strings": strings,
24296 });
24297 let response = send_request(client_id, request).await;
24298 if response["@type"] == "error" {
24299 return Err(serde_json::from_value(response).unwrap())
24300 }
24301 Ok(())
24302 }
24303 #[allow(clippy::too_many_arguments)]
24308 pub async fn edit_custom_language_pack_info(info: crate::types::LanguagePackInfo, client_id: i32) -> Result<(), crate::types::Error> {
24309 let request = json!({
24310 "@type": "editCustomLanguagePackInfo",
24311 "info": info,
24312 });
24313 let response = send_request(client_id, request).await;
24314 if response["@type"] == "error" {
24315 return Err(serde_json::from_value(response).unwrap())
24316 }
24317 Ok(())
24318 }
24319 #[allow(clippy::too_many_arguments)]
24325 pub async fn set_custom_language_pack_string(language_pack_id: String, new_string: crate::types::LanguagePackString, client_id: i32) -> Result<(), crate::types::Error> {
24326 let request = json!({
24327 "@type": "setCustomLanguagePackString",
24328 "language_pack_id": language_pack_id,
24329 "new_string": new_string,
24330 });
24331 let response = send_request(client_id, request).await;
24332 if response["@type"] == "error" {
24333 return Err(serde_json::from_value(response).unwrap())
24334 }
24335 Ok(())
24336 }
24337 #[allow(clippy::too_many_arguments)]
24343 pub async fn delete_language_pack(language_pack_id: String, client_id: i32) -> Result<(), crate::types::Error> {
24344 let request = json!({
24345 "@type": "deleteLanguagePack",
24346 "language_pack_id": language_pack_id,
24347 });
24348 let response = send_request(client_id, request).await;
24349 if response["@type"] == "error" {
24350 return Err(serde_json::from_value(response).unwrap())
24351 }
24352 Ok(())
24353 }
24354 #[allow(clippy::too_many_arguments)]
24360 pub async fn register_device(device_token: crate::enums::DeviceToken, other_user_ids: Vec<i64>, client_id: i32) -> Result<crate::enums::PushReceiverId, crate::types::Error> {
24361 let request = json!({
24362 "@type": "registerDevice",
24363 "device_token": device_token,
24364 "other_user_ids": other_user_ids,
24365 });
24366 let response = send_request(client_id, request).await;
24367 if response["@type"] == "error" {
24368 return Err(serde_json::from_value(response).unwrap())
24369 }
24370 Ok(serde_json::from_value(response).unwrap())
24371 }
24372 #[allow(clippy::too_many_arguments)]
24377 pub async fn process_push_notification(payload: String, client_id: i32) -> Result<(), crate::types::Error> {
24378 let request = json!({
24379 "@type": "processPushNotification",
24380 "payload": payload,
24381 });
24382 let response = send_request(client_id, request).await;
24383 if response["@type"] == "error" {
24384 return Err(serde_json::from_value(response).unwrap())
24385 }
24386 Ok(())
24387 }
24388 #[allow(clippy::too_many_arguments)]
24393 pub async fn get_push_receiver_id(payload: String, client_id: i32) -> Result<crate::enums::PushReceiverId, crate::types::Error> {
24394 let request = json!({
24395 "@type": "getPushReceiverId",
24396 "payload": payload,
24397 });
24398 let response = send_request(client_id, request).await;
24399 if response["@type"] == "error" {
24400 return Err(serde_json::from_value(response).unwrap())
24401 }
24402 Ok(serde_json::from_value(response).unwrap())
24403 }
24404 #[allow(clippy::too_many_arguments)]
24409 pub async fn get_recently_visited_t_me_urls(referrer: String, client_id: i32) -> Result<crate::enums::TmeUrls, crate::types::Error> {
24410 let request = json!({
24411 "@type": "getRecentlyVisitedTMeUrls",
24412 "referrer": referrer,
24413 });
24414 let response = send_request(client_id, request).await;
24415 if response["@type"] == "error" {
24416 return Err(serde_json::from_value(response).unwrap())
24417 }
24418 Ok(serde_json::from_value(response).unwrap())
24419 }
24420 #[allow(clippy::too_many_arguments)]
24426 pub async fn set_user_privacy_setting_rules(setting: crate::enums::UserPrivacySetting, rules: crate::types::UserPrivacySettingRules, client_id: i32) -> Result<(), crate::types::Error> {
24427 let request = json!({
24428 "@type": "setUserPrivacySettingRules",
24429 "setting": setting,
24430 "rules": rules,
24431 });
24432 let response = send_request(client_id, request).await;
24433 if response["@type"] == "error" {
24434 return Err(serde_json::from_value(response).unwrap())
24435 }
24436 Ok(())
24437 }
24438 #[allow(clippy::too_many_arguments)]
24443 pub async fn get_user_privacy_setting_rules(setting: crate::enums::UserPrivacySetting, client_id: i32) -> Result<crate::enums::UserPrivacySettingRules, crate::types::Error> {
24444 let request = json!({
24445 "@type": "getUserPrivacySettingRules",
24446 "setting": setting,
24447 });
24448 let response = send_request(client_id, request).await;
24449 if response["@type"] == "error" {
24450 return Err(serde_json::from_value(response).unwrap())
24451 }
24452 Ok(serde_json::from_value(response).unwrap())
24453 }
24454 #[allow(clippy::too_many_arguments)]
24459 pub async fn get_option(name: String, client_id: i32) -> Result<crate::enums::OptionValue, crate::types::Error> {
24460 let request = json!({
24461 "@type": "getOption",
24462 "name": name,
24463 });
24464 let response = send_request(client_id, request).await;
24465 if response["@type"] == "error" {
24466 return Err(serde_json::from_value(response).unwrap())
24467 }
24468 Ok(serde_json::from_value(response).unwrap())
24469 }
24470 #[allow(clippy::too_many_arguments)]
24476 pub async fn set_option(name: String, value: Option<crate::enums::OptionValue>, client_id: i32) -> Result<(), crate::types::Error> {
24477 let request = json!({
24478 "@type": "setOption",
24479 "name": name,
24480 "value": value,
24481 });
24482 let response = send_request(client_id, request).await;
24483 if response["@type"] == "error" {
24484 return Err(serde_json::from_value(response).unwrap())
24485 }
24486 Ok(())
24487 }
24488 #[allow(clippy::too_many_arguments)]
24493 pub async fn set_account_ttl(ttl: crate::types::AccountTtl, client_id: i32) -> Result<(), crate::types::Error> {
24494 let request = json!({
24495 "@type": "setAccountTtl",
24496 "ttl": ttl,
24497 });
24498 let response = send_request(client_id, request).await;
24499 if response["@type"] == "error" {
24500 return Err(serde_json::from_value(response).unwrap())
24501 }
24502 Ok(())
24503 }
24504 #[allow(clippy::too_many_arguments)]
24508 pub async fn get_account_ttl(client_id: i32) -> Result<crate::enums::AccountTtl, crate::types::Error> {
24509 let request = json!({
24510 "@type": "getAccountTtl",
24511 });
24512 let response = send_request(client_id, request).await;
24513 if response["@type"] == "error" {
24514 return Err(serde_json::from_value(response).unwrap())
24515 }
24516 Ok(serde_json::from_value(response).unwrap())
24517 }
24518 #[allow(clippy::too_many_arguments)]
24525 pub async fn delete_account(reason: String, password: String, client_id: i32) -> Result<(), crate::types::Error> {
24526 let request = json!({
24527 "@type": "deleteAccount",
24528 "reason": reason,
24529 "password": password,
24530 });
24531 let response = send_request(client_id, request).await;
24532 if response["@type"] == "error" {
24533 return Err(serde_json::from_value(response).unwrap())
24534 }
24535 Ok(())
24536 }
24537 #[allow(clippy::too_many_arguments)]
24542 pub async fn set_default_message_auto_delete_time(message_auto_delete_time: crate::types::MessageAutoDeleteTime, client_id: i32) -> Result<(), crate::types::Error> {
24543 let request = json!({
24544 "@type": "setDefaultMessageAutoDeleteTime",
24545 "message_auto_delete_time": message_auto_delete_time,
24546 });
24547 let response = send_request(client_id, request).await;
24548 if response["@type"] == "error" {
24549 return Err(serde_json::from_value(response).unwrap())
24550 }
24551 Ok(())
24552 }
24553 #[allow(clippy::too_many_arguments)]
24557 pub async fn get_default_message_auto_delete_time(client_id: i32) -> Result<crate::enums::MessageAutoDeleteTime, crate::types::Error> {
24558 let request = json!({
24559 "@type": "getDefaultMessageAutoDeleteTime",
24560 });
24561 let response = send_request(client_id, request).await;
24562 if response["@type"] == "error" {
24563 return Err(serde_json::from_value(response).unwrap())
24564 }
24565 Ok(serde_json::from_value(response).unwrap())
24566 }
24567 #[allow(clippy::too_many_arguments)]
24572 pub async fn remove_chat_action_bar(chat_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
24573 let request = json!({
24574 "@type": "removeChatActionBar",
24575 "chat_id": chat_id,
24576 });
24577 let response = send_request(client_id, request).await;
24578 if response["@type"] == "error" {
24579 return Err(serde_json::from_value(response).unwrap())
24580 }
24581 Ok(())
24582 }
24583 #[allow(clippy::too_many_arguments)]
24591 pub async fn report_chat(chat_id: i64, message_ids: Vec<i64>, reason: crate::enums::ReportReason, text: String, client_id: i32) -> Result<(), crate::types::Error> {
24592 let request = json!({
24593 "@type": "reportChat",
24594 "chat_id": chat_id,
24595 "message_ids": message_ids,
24596 "reason": reason,
24597 "text": text,
24598 });
24599 let response = send_request(client_id, request).await;
24600 if response["@type"] == "error" {
24601 return Err(serde_json::from_value(response).unwrap())
24602 }
24603 Ok(())
24604 }
24605 #[allow(clippy::too_many_arguments)]
24613 pub async fn report_chat_photo(chat_id: i64, file_id: i32, reason: crate::enums::ReportReason, text: String, client_id: i32) -> Result<(), crate::types::Error> {
24614 let request = json!({
24615 "@type": "reportChatPhoto",
24616 "chat_id": chat_id,
24617 "file_id": file_id,
24618 "reason": reason,
24619 "text": text,
24620 });
24621 let response = send_request(client_id, request).await;
24622 if response["@type"] == "error" {
24623 return Err(serde_json::from_value(response).unwrap())
24624 }
24625 Ok(())
24626 }
24627 #[allow(clippy::too_many_arguments)]
24634 pub async fn report_message_reactions(chat_id: i64, message_id: i64, sender_id: crate::enums::MessageSender, client_id: i32) -> Result<(), crate::types::Error> {
24635 let request = json!({
24636 "@type": "reportMessageReactions",
24637 "chat_id": chat_id,
24638 "message_id": message_id,
24639 "sender_id": sender_id,
24640 });
24641 let response = send_request(client_id, request).await;
24642 if response["@type"] == "error" {
24643 return Err(serde_json::from_value(response).unwrap())
24644 }
24645 Ok(())
24646 }
24647 #[allow(clippy::too_many_arguments)]
24653 pub async fn get_chat_statistics(chat_id: i64, is_dark: bool, client_id: i32) -> Result<crate::enums::ChatStatistics, crate::types::Error> {
24654 let request = json!({
24655 "@type": "getChatStatistics",
24656 "chat_id": chat_id,
24657 "is_dark": is_dark,
24658 });
24659 let response = send_request(client_id, request).await;
24660 if response["@type"] == "error" {
24661 return Err(serde_json::from_value(response).unwrap())
24662 }
24663 Ok(serde_json::from_value(response).unwrap())
24664 }
24665 #[allow(clippy::too_many_arguments)]
24672 pub async fn get_message_statistics(chat_id: i64, message_id: i64, is_dark: bool, client_id: i32) -> Result<crate::enums::MessageStatistics, crate::types::Error> {
24673 let request = json!({
24674 "@type": "getMessageStatistics",
24675 "chat_id": chat_id,
24676 "message_id": message_id,
24677 "is_dark": is_dark,
24678 });
24679 let response = send_request(client_id, request).await;
24680 if response["@type"] == "error" {
24681 return Err(serde_json::from_value(response).unwrap())
24682 }
24683 Ok(serde_json::from_value(response).unwrap())
24684 }
24685 #[allow(clippy::too_many_arguments)]
24692 pub async fn get_statistical_graph(chat_id: i64, token: String, x: i64, client_id: i32) -> Result<crate::enums::StatisticalGraph, crate::types::Error> {
24693 let request = json!({
24694 "@type": "getStatisticalGraph",
24695 "chat_id": chat_id,
24696 "token": token,
24697 "x": x,
24698 });
24699 let response = send_request(client_id, request).await;
24700 if response["@type"] == "error" {
24701 return Err(serde_json::from_value(response).unwrap())
24702 }
24703 Ok(serde_json::from_value(response).unwrap())
24704 }
24705 #[allow(clippy::too_many_arguments)]
24710 pub async fn get_storage_statistics(chat_limit: i32, client_id: i32) -> Result<crate::enums::StorageStatistics, crate::types::Error> {
24711 let request = json!({
24712 "@type": "getStorageStatistics",
24713 "chat_limit": chat_limit,
24714 });
24715 let response = send_request(client_id, request).await;
24716 if response["@type"] == "error" {
24717 return Err(serde_json::from_value(response).unwrap())
24718 }
24719 Ok(serde_json::from_value(response).unwrap())
24720 }
24721 #[allow(clippy::too_many_arguments)]
24725 pub async fn get_storage_statistics_fast(client_id: i32) -> Result<crate::enums::StorageStatisticsFast, crate::types::Error> {
24726 let request = json!({
24727 "@type": "getStorageStatisticsFast",
24728 });
24729 let response = send_request(client_id, request).await;
24730 if response["@type"] == "error" {
24731 return Err(serde_json::from_value(response).unwrap())
24732 }
24733 Ok(serde_json::from_value(response).unwrap())
24734 }
24735 #[allow(clippy::too_many_arguments)]
24739 pub async fn get_database_statistics(client_id: i32) -> Result<crate::enums::DatabaseStatistics, crate::types::Error> {
24740 let request = json!({
24741 "@type": "getDatabaseStatistics",
24742 });
24743 let response = send_request(client_id, request).await;
24744 if response["@type"] == "error" {
24745 return Err(serde_json::from_value(response).unwrap())
24746 }
24747 Ok(serde_json::from_value(response).unwrap())
24748 }
24749 #[allow(clippy::too_many_arguments)]
24762 pub async fn optimize_storage(size: i64, ttl: i32, count: i32, immunity_delay: i32, file_types: Vec<crate::enums::FileType>, chat_ids: Vec<i64>, exclude_chat_ids: Vec<i64>, return_deleted_file_statistics: bool, chat_limit: i32, client_id: i32) -> Result<crate::enums::StorageStatistics, crate::types::Error> {
24763 let request = json!({
24764 "@type": "optimizeStorage",
24765 "size": size,
24766 "ttl": ttl,
24767 "count": count,
24768 "immunity_delay": immunity_delay,
24769 "file_types": file_types,
24770 "chat_ids": chat_ids,
24771 "exclude_chat_ids": exclude_chat_ids,
24772 "return_deleted_file_statistics": return_deleted_file_statistics,
24773 "chat_limit": chat_limit,
24774 });
24775 let response = send_request(client_id, request).await;
24776 if response["@type"] == "error" {
24777 return Err(serde_json::from_value(response).unwrap())
24778 }
24779 Ok(serde_json::from_value(response).unwrap())
24780 }
24781 #[allow(clippy::too_many_arguments)]
24787 pub async fn set_network_type(r#type: Option<crate::enums::NetworkType>, client_id: i32) -> Result<(), crate::types::Error> {
24788 let request = json!({
24789 "@type": "setNetworkType",
24790 "type": r#type,
24791 });
24792 let response = send_request(client_id, request).await;
24793 if response["@type"] == "error" {
24794 return Err(serde_json::from_value(response).unwrap())
24795 }
24796 Ok(())
24797 }
24798 #[allow(clippy::too_many_arguments)]
24803 pub async fn get_network_statistics(only_current: bool, client_id: i32) -> Result<crate::enums::NetworkStatistics, crate::types::Error> {
24804 let request = json!({
24805 "@type": "getNetworkStatistics",
24806 "only_current": only_current,
24807 });
24808 let response = send_request(client_id, request).await;
24809 if response["@type"] == "error" {
24810 return Err(serde_json::from_value(response).unwrap())
24811 }
24812 Ok(serde_json::from_value(response).unwrap())
24813 }
24814 #[allow(clippy::too_many_arguments)]
24819 pub async fn add_network_statistics(entry: crate::enums::NetworkStatisticsEntry, client_id: i32) -> Result<(), crate::types::Error> {
24820 let request = json!({
24821 "@type": "addNetworkStatistics",
24822 "entry": entry,
24823 });
24824 let response = send_request(client_id, request).await;
24825 if response["@type"] == "error" {
24826 return Err(serde_json::from_value(response).unwrap())
24827 }
24828 Ok(())
24829 }
24830 #[allow(clippy::too_many_arguments)]
24834 pub async fn reset_network_statistics(client_id: i32) -> Result<(), crate::types::Error> {
24835 let request = json!({
24836 "@type": "resetNetworkStatistics",
24837 });
24838 let response = send_request(client_id, request).await;
24839 if response["@type"] == "error" {
24840 return Err(serde_json::from_value(response).unwrap())
24841 }
24842 Ok(())
24843 }
24844 #[allow(clippy::too_many_arguments)]
24848 pub async fn get_auto_download_settings_presets(client_id: i32) -> Result<crate::enums::AutoDownloadSettingsPresets, crate::types::Error> {
24849 let request = json!({
24850 "@type": "getAutoDownloadSettingsPresets",
24851 });
24852 let response = send_request(client_id, request).await;
24853 if response["@type"] == "error" {
24854 return Err(serde_json::from_value(response).unwrap())
24855 }
24856 Ok(serde_json::from_value(response).unwrap())
24857 }
24858 #[allow(clippy::too_many_arguments)]
24864 pub async fn set_auto_download_settings(settings: crate::types::AutoDownloadSettings, r#type: crate::enums::NetworkType, client_id: i32) -> Result<(), crate::types::Error> {
24865 let request = json!({
24866 "@type": "setAutoDownloadSettings",
24867 "settings": settings,
24868 "type": r#type,
24869 });
24870 let response = send_request(client_id, request).await;
24871 if response["@type"] == "error" {
24872 return Err(serde_json::from_value(response).unwrap())
24873 }
24874 Ok(())
24875 }
24876 #[allow(clippy::too_many_arguments)]
24880 pub async fn get_autosave_settings(client_id: i32) -> Result<crate::enums::AutosaveSettings, crate::types::Error> {
24881 let request = json!({
24882 "@type": "getAutosaveSettings",
24883 });
24884 let response = send_request(client_id, request).await;
24885 if response["@type"] == "error" {
24886 return Err(serde_json::from_value(response).unwrap())
24887 }
24888 Ok(serde_json::from_value(response).unwrap())
24889 }
24890 #[allow(clippy::too_many_arguments)]
24896 pub async fn set_autosave_settings(scope: crate::enums::AutosaveSettingsScope, settings: Option<crate::types::ScopeAutosaveSettings>, client_id: i32) -> Result<(), crate::types::Error> {
24897 let request = json!({
24898 "@type": "setAutosaveSettings",
24899 "scope": scope,
24900 "settings": settings,
24901 });
24902 let response = send_request(client_id, request).await;
24903 if response["@type"] == "error" {
24904 return Err(serde_json::from_value(response).unwrap())
24905 }
24906 Ok(())
24907 }
24908 #[allow(clippy::too_many_arguments)]
24912 pub async fn clear_autosave_settings_exceptions(client_id: i32) -> Result<(), crate::types::Error> {
24913 let request = json!({
24914 "@type": "clearAutosaveSettingsExceptions",
24915 });
24916 let response = send_request(client_id, request).await;
24917 if response["@type"] == "error" {
24918 return Err(serde_json::from_value(response).unwrap())
24919 }
24920 Ok(())
24921 }
24922 #[allow(clippy::too_many_arguments)]
24927 pub async fn get_bank_card_info(bank_card_number: String, client_id: i32) -> Result<crate::enums::BankCardInfo, crate::types::Error> {
24928 let request = json!({
24929 "@type": "getBankCardInfo",
24930 "bank_card_number": bank_card_number,
24931 });
24932 let response = send_request(client_id, request).await;
24933 if response["@type"] == "error" {
24934 return Err(serde_json::from_value(response).unwrap())
24935 }
24936 Ok(serde_json::from_value(response).unwrap())
24937 }
24938 #[allow(clippy::too_many_arguments)]
24944 pub async fn get_passport_element(r#type: crate::enums::PassportElementType, password: String, client_id: i32) -> Result<crate::enums::PassportElement, crate::types::Error> {
24945 let request = json!({
24946 "@type": "getPassportElement",
24947 "type": r#type,
24948 "password": password,
24949 });
24950 let response = send_request(client_id, request).await;
24951 if response["@type"] == "error" {
24952 return Err(serde_json::from_value(response).unwrap())
24953 }
24954 Ok(serde_json::from_value(response).unwrap())
24955 }
24956 #[allow(clippy::too_many_arguments)]
24961 pub async fn get_all_passport_elements(password: String, client_id: i32) -> Result<crate::enums::PassportElements, crate::types::Error> {
24962 let request = json!({
24963 "@type": "getAllPassportElements",
24964 "password": password,
24965 });
24966 let response = send_request(client_id, request).await;
24967 if response["@type"] == "error" {
24968 return Err(serde_json::from_value(response).unwrap())
24969 }
24970 Ok(serde_json::from_value(response).unwrap())
24971 }
24972 #[allow(clippy::too_many_arguments)]
24978 pub async fn set_passport_element(element: crate::enums::InputPassportElement, password: String, client_id: i32) -> Result<crate::enums::PassportElement, crate::types::Error> {
24979 let request = json!({
24980 "@type": "setPassportElement",
24981 "element": element,
24982 "password": password,
24983 });
24984 let response = send_request(client_id, request).await;
24985 if response["@type"] == "error" {
24986 return Err(serde_json::from_value(response).unwrap())
24987 }
24988 Ok(serde_json::from_value(response).unwrap())
24989 }
24990 #[allow(clippy::too_many_arguments)]
24995 pub async fn delete_passport_element(r#type: crate::enums::PassportElementType, client_id: i32) -> Result<(), crate::types::Error> {
24996 let request = json!({
24997 "@type": "deletePassportElement",
24998 "type": r#type,
24999 });
25000 let response = send_request(client_id, request).await;
25001 if response["@type"] == "error" {
25002 return Err(serde_json::from_value(response).unwrap())
25003 }
25004 Ok(())
25005 }
25006 #[allow(clippy::too_many_arguments)]
25012 pub async fn set_passport_element_errors(user_id: i64, errors: Vec<crate::types::InputPassportElementError>, client_id: i32) -> Result<(), crate::types::Error> {
25013 let request = json!({
25014 "@type": "setPassportElementErrors",
25015 "user_id": user_id,
25016 "errors": errors,
25017 });
25018 let response = send_request(client_id, request).await;
25019 if response["@type"] == "error" {
25020 return Err(serde_json::from_value(response).unwrap())
25021 }
25022 Ok(())
25023 }
25024 #[allow(clippy::too_many_arguments)]
25029 pub async fn get_preferred_country_language(country_code: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
25030 let request = json!({
25031 "@type": "getPreferredCountryLanguage",
25032 "country_code": country_code,
25033 });
25034 let response = send_request(client_id, request).await;
25035 if response["@type"] == "error" {
25036 return Err(serde_json::from_value(response).unwrap())
25037 }
25038 Ok(serde_json::from_value(response).unwrap())
25039 }
25040 #[allow(clippy::too_many_arguments)]
25046 pub async fn send_phone_number_verification_code(phone_number: String, settings: Option<crate::types::PhoneNumberAuthenticationSettings>, client_id: i32) -> Result<crate::enums::AuthenticationCodeInfo, crate::types::Error> {
25047 let request = json!({
25048 "@type": "sendPhoneNumberVerificationCode",
25049 "phone_number": phone_number,
25050 "settings": settings,
25051 });
25052 let response = send_request(client_id, request).await;
25053 if response["@type"] == "error" {
25054 return Err(serde_json::from_value(response).unwrap())
25055 }
25056 Ok(serde_json::from_value(response).unwrap())
25057 }
25058 #[allow(clippy::too_many_arguments)]
25062 pub async fn resend_phone_number_verification_code(client_id: i32) -> Result<crate::enums::AuthenticationCodeInfo, crate::types::Error> {
25063 let request = json!({
25064 "@type": "resendPhoneNumberVerificationCode",
25065 });
25066 let response = send_request(client_id, request).await;
25067 if response["@type"] == "error" {
25068 return Err(serde_json::from_value(response).unwrap())
25069 }
25070 Ok(serde_json::from_value(response).unwrap())
25071 }
25072 #[allow(clippy::too_many_arguments)]
25077 pub async fn check_phone_number_verification_code(code: String, client_id: i32) -> Result<(), crate::types::Error> {
25078 let request = json!({
25079 "@type": "checkPhoneNumberVerificationCode",
25080 "code": code,
25081 });
25082 let response = send_request(client_id, request).await;
25083 if response["@type"] == "error" {
25084 return Err(serde_json::from_value(response).unwrap())
25085 }
25086 Ok(())
25087 }
25088 #[allow(clippy::too_many_arguments)]
25093 pub async fn send_email_address_verification_code(email_address: String, client_id: i32) -> Result<crate::enums::EmailAddressAuthenticationCodeInfo, crate::types::Error> {
25094 let request = json!({
25095 "@type": "sendEmailAddressVerificationCode",
25096 "email_address": email_address,
25097 });
25098 let response = send_request(client_id, request).await;
25099 if response["@type"] == "error" {
25100 return Err(serde_json::from_value(response).unwrap())
25101 }
25102 Ok(serde_json::from_value(response).unwrap())
25103 }
25104 #[allow(clippy::too_many_arguments)]
25108 pub async fn resend_email_address_verification_code(client_id: i32) -> Result<crate::enums::EmailAddressAuthenticationCodeInfo, crate::types::Error> {
25109 let request = json!({
25110 "@type": "resendEmailAddressVerificationCode",
25111 });
25112 let response = send_request(client_id, request).await;
25113 if response["@type"] == "error" {
25114 return Err(serde_json::from_value(response).unwrap())
25115 }
25116 Ok(serde_json::from_value(response).unwrap())
25117 }
25118 #[allow(clippy::too_many_arguments)]
25123 pub async fn check_email_address_verification_code(code: String, client_id: i32) -> Result<(), crate::types::Error> {
25124 let request = json!({
25125 "@type": "checkEmailAddressVerificationCode",
25126 "code": code,
25127 });
25128 let response = send_request(client_id, request).await;
25129 if response["@type"] == "error" {
25130 return Err(serde_json::from_value(response).unwrap())
25131 }
25132 Ok(())
25133 }
25134 #[allow(clippy::too_many_arguments)]
25142 pub async fn get_passport_authorization_form(bot_user_id: i64, scope: String, public_key: String, nonce: String, client_id: i32) -> Result<crate::enums::PassportAuthorizationForm, crate::types::Error> {
25143 let request = json!({
25144 "@type": "getPassportAuthorizationForm",
25145 "bot_user_id": bot_user_id,
25146 "scope": scope,
25147 "public_key": public_key,
25148 "nonce": nonce,
25149 });
25150 let response = send_request(client_id, request).await;
25151 if response["@type"] == "error" {
25152 return Err(serde_json::from_value(response).unwrap())
25153 }
25154 Ok(serde_json::from_value(response).unwrap())
25155 }
25156 #[allow(clippy::too_many_arguments)]
25162 pub async fn get_passport_authorization_form_available_elements(authorization_form_id: i32, password: String, client_id: i32) -> Result<crate::enums::PassportElementsWithErrors, crate::types::Error> {
25163 let request = json!({
25164 "@type": "getPassportAuthorizationFormAvailableElements",
25165 "authorization_form_id": authorization_form_id,
25166 "password": password,
25167 });
25168 let response = send_request(client_id, request).await;
25169 if response["@type"] == "error" {
25170 return Err(serde_json::from_value(response).unwrap())
25171 }
25172 Ok(serde_json::from_value(response).unwrap())
25173 }
25174 #[allow(clippy::too_many_arguments)]
25180 pub async fn send_passport_authorization_form(authorization_form_id: i32, types: Vec<crate::enums::PassportElementType>, client_id: i32) -> Result<(), crate::types::Error> {
25181 let request = json!({
25182 "@type": "sendPassportAuthorizationForm",
25183 "authorization_form_id": authorization_form_id,
25184 "types": types,
25185 });
25186 let response = send_request(client_id, request).await;
25187 if response["@type"] == "error" {
25188 return Err(serde_json::from_value(response).unwrap())
25189 }
25190 Ok(())
25191 }
25192 #[allow(clippy::too_many_arguments)]
25199 pub async fn send_phone_number_confirmation_code(hash: String, phone_number: String, settings: Option<crate::types::PhoneNumberAuthenticationSettings>, client_id: i32) -> Result<crate::enums::AuthenticationCodeInfo, crate::types::Error> {
25200 let request = json!({
25201 "@type": "sendPhoneNumberConfirmationCode",
25202 "hash": hash,
25203 "phone_number": phone_number,
25204 "settings": settings,
25205 });
25206 let response = send_request(client_id, request).await;
25207 if response["@type"] == "error" {
25208 return Err(serde_json::from_value(response).unwrap())
25209 }
25210 Ok(serde_json::from_value(response).unwrap())
25211 }
25212 #[allow(clippy::too_many_arguments)]
25216 pub async fn resend_phone_number_confirmation_code(client_id: i32) -> Result<crate::enums::AuthenticationCodeInfo, crate::types::Error> {
25217 let request = json!({
25218 "@type": "resendPhoneNumberConfirmationCode",
25219 });
25220 let response = send_request(client_id, request).await;
25221 if response["@type"] == "error" {
25222 return Err(serde_json::from_value(response).unwrap())
25223 }
25224 Ok(serde_json::from_value(response).unwrap())
25225 }
25226 #[allow(clippy::too_many_arguments)]
25231 pub async fn check_phone_number_confirmation_code(code: String, client_id: i32) -> Result<(), crate::types::Error> {
25232 let request = json!({
25233 "@type": "checkPhoneNumberConfirmationCode",
25234 "code": code,
25235 });
25236 let response = send_request(client_id, request).await;
25237 if response["@type"] == "error" {
25238 return Err(serde_json::from_value(response).unwrap())
25239 }
25240 Ok(())
25241 }
25242 #[allow(clippy::too_many_arguments)]
25248 pub async fn set_bot_updates_status(pending_update_count: i32, error_message: String, client_id: i32) -> Result<(), crate::types::Error> {
25249 let request = json!({
25250 "@type": "setBotUpdatesStatus",
25251 "pending_update_count": pending_update_count,
25252 "error_message": error_message,
25253 });
25254 let response = send_request(client_id, request).await;
25255 if response["@type"] == "error" {
25256 return Err(serde_json::from_value(response).unwrap())
25257 }
25258 Ok(())
25259 }
25260 #[allow(clippy::too_many_arguments)]
25268 pub async fn upload_sticker_file(user_id: i64, sticker_format: crate::enums::StickerFormat, sticker: crate::enums::InputFile, client_id: i32) -> Result<crate::enums::File, crate::types::Error> {
25269 let request = json!({
25270 "@type": "uploadStickerFile",
25271 "user_id": user_id,
25272 "sticker_format": sticker_format,
25273 "sticker": sticker,
25274 });
25275 let response = send_request(client_id, request).await;
25276 if response["@type"] == "error" {
25277 return Err(serde_json::from_value(response).unwrap())
25278 }
25279 Ok(serde_json::from_value(response).unwrap())
25280 }
25281 #[allow(clippy::too_many_arguments)]
25286 pub async fn get_suggested_sticker_set_name(title: String, client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
25287 let request = json!({
25288 "@type": "getSuggestedStickerSetName",
25289 "title": title,
25290 });
25291 let response = send_request(client_id, request).await;
25292 if response["@type"] == "error" {
25293 return Err(serde_json::from_value(response).unwrap())
25294 }
25295 Ok(serde_json::from_value(response).unwrap())
25296 }
25297 #[allow(clippy::too_many_arguments)]
25302 pub async fn check_sticker_set_name(name: String, client_id: i32) -> Result<crate::enums::CheckStickerSetNameResult, crate::types::Error> {
25303 let request = json!({
25304 "@type": "checkStickerSetName",
25305 "name": name,
25306 });
25307 let response = send_request(client_id, request).await;
25308 if response["@type"] == "error" {
25309 return Err(serde_json::from_value(response).unwrap())
25310 }
25311 Ok(serde_json::from_value(response).unwrap())
25312 }
25313 #[allow(clippy::too_many_arguments)]
25325 pub async fn create_new_sticker_set(user_id: i64, title: String, name: String, sticker_format: crate::enums::StickerFormat, sticker_type: crate::enums::StickerType, needs_repainting: bool, stickers: Vec<crate::types::InputSticker>, source: String, client_id: i32) -> Result<crate::enums::StickerSet, crate::types::Error> {
25326 let request = json!({
25327 "@type": "createNewStickerSet",
25328 "user_id": user_id,
25329 "title": title,
25330 "name": name,
25331 "sticker_format": sticker_format,
25332 "sticker_type": sticker_type,
25333 "needs_repainting": needs_repainting,
25334 "stickers": stickers,
25335 "source": source,
25336 });
25337 let response = send_request(client_id, request).await;
25338 if response["@type"] == "error" {
25339 return Err(serde_json::from_value(response).unwrap())
25340 }
25341 Ok(serde_json::from_value(response).unwrap())
25342 }
25343 #[allow(clippy::too_many_arguments)]
25350 pub async fn add_sticker_to_set(user_id: i64, name: String, sticker: crate::types::InputSticker, client_id: i32) -> Result<(), crate::types::Error> {
25351 let request = json!({
25352 "@type": "addStickerToSet",
25353 "user_id": user_id,
25354 "name": name,
25355 "sticker": sticker,
25356 });
25357 let response = send_request(client_id, request).await;
25358 if response["@type"] == "error" {
25359 return Err(serde_json::from_value(response).unwrap())
25360 }
25361 Ok(())
25362 }
25363 #[allow(clippy::too_many_arguments)]
25370 pub async fn set_sticker_set_thumbnail(user_id: i64, name: String, thumbnail: Option<crate::enums::InputFile>, client_id: i32) -> Result<(), crate::types::Error> {
25371 let request = json!({
25372 "@type": "setStickerSetThumbnail",
25373 "user_id": user_id,
25374 "name": name,
25375 "thumbnail": thumbnail,
25376 });
25377 let response = send_request(client_id, request).await;
25378 if response["@type"] == "error" {
25379 return Err(serde_json::from_value(response).unwrap())
25380 }
25381 Ok(())
25382 }
25383 #[allow(clippy::too_many_arguments)]
25389 pub async fn set_custom_emoji_sticker_set_thumbnail(name: String, custom_emoji_id: i64, client_id: i32) -> Result<(), crate::types::Error> {
25390 let request = json!({
25391 "@type": "setCustomEmojiStickerSetThumbnail",
25392 "name": name,
25393 "custom_emoji_id": custom_emoji_id,
25394 });
25395 let response = send_request(client_id, request).await;
25396 if response["@type"] == "error" {
25397 return Err(serde_json::from_value(response).unwrap())
25398 }
25399 Ok(())
25400 }
25401 #[allow(clippy::too_many_arguments)]
25407 pub async fn set_sticker_set_title(name: String, title: String, client_id: i32) -> Result<(), crate::types::Error> {
25408 let request = json!({
25409 "@type": "setStickerSetTitle",
25410 "name": name,
25411 "title": title,
25412 });
25413 let response = send_request(client_id, request).await;
25414 if response["@type"] == "error" {
25415 return Err(serde_json::from_value(response).unwrap())
25416 }
25417 Ok(())
25418 }
25419 #[allow(clippy::too_many_arguments)]
25424 pub async fn delete_sticker_set(name: String, client_id: i32) -> Result<(), crate::types::Error> {
25425 let request = json!({
25426 "@type": "deleteStickerSet",
25427 "name": name,
25428 });
25429 let response = send_request(client_id, request).await;
25430 if response["@type"] == "error" {
25431 return Err(serde_json::from_value(response).unwrap())
25432 }
25433 Ok(())
25434 }
25435 #[allow(clippy::too_many_arguments)]
25441 pub async fn set_sticker_position_in_set(sticker: crate::enums::InputFile, position: i32, client_id: i32) -> Result<(), crate::types::Error> {
25442 let request = json!({
25443 "@type": "setStickerPositionInSet",
25444 "sticker": sticker,
25445 "position": position,
25446 });
25447 let response = send_request(client_id, request).await;
25448 if response["@type"] == "error" {
25449 return Err(serde_json::from_value(response).unwrap())
25450 }
25451 Ok(())
25452 }
25453 #[allow(clippy::too_many_arguments)]
25458 pub async fn remove_sticker_from_set(sticker: crate::enums::InputFile, client_id: i32) -> Result<(), crate::types::Error> {
25459 let request = json!({
25460 "@type": "removeStickerFromSet",
25461 "sticker": sticker,
25462 });
25463 let response = send_request(client_id, request).await;
25464 if response["@type"] == "error" {
25465 return Err(serde_json::from_value(response).unwrap())
25466 }
25467 Ok(())
25468 }
25469 #[allow(clippy::too_many_arguments)]
25475 pub async fn set_sticker_emojis(sticker: crate::enums::InputFile, emojis: String, client_id: i32) -> Result<(), crate::types::Error> {
25476 let request = json!({
25477 "@type": "setStickerEmojis",
25478 "sticker": sticker,
25479 "emojis": emojis,
25480 });
25481 let response = send_request(client_id, request).await;
25482 if response["@type"] == "error" {
25483 return Err(serde_json::from_value(response).unwrap())
25484 }
25485 Ok(())
25486 }
25487 #[allow(clippy::too_many_arguments)]
25493 pub async fn set_sticker_keywords(sticker: crate::enums::InputFile, keywords: Vec<String>, client_id: i32) -> Result<(), crate::types::Error> {
25494 let request = json!({
25495 "@type": "setStickerKeywords",
25496 "sticker": sticker,
25497 "keywords": keywords,
25498 });
25499 let response = send_request(client_id, request).await;
25500 if response["@type"] == "error" {
25501 return Err(serde_json::from_value(response).unwrap())
25502 }
25503 Ok(())
25504 }
25505 #[allow(clippy::too_many_arguments)]
25511 pub async fn set_sticker_mask_position(sticker: crate::enums::InputFile, mask_position: Option<crate::types::MaskPosition>, client_id: i32) -> Result<(), crate::types::Error> {
25512 let request = json!({
25513 "@type": "setStickerMaskPosition",
25514 "sticker": sticker,
25515 "mask_position": mask_position,
25516 });
25517 let response = send_request(client_id, request).await;
25518 if response["@type"] == "error" {
25519 return Err(serde_json::from_value(response).unwrap())
25520 }
25521 Ok(())
25522 }
25523 #[allow(clippy::too_many_arguments)]
25533 pub async fn get_map_thumbnail_file(location: crate::types::Location, zoom: i32, width: i32, height: i32, scale: i32, chat_id: i64, client_id: i32) -> Result<crate::enums::File, crate::types::Error> {
25534 let request = json!({
25535 "@type": "getMapThumbnailFile",
25536 "location": location,
25537 "zoom": zoom,
25538 "width": width,
25539 "height": height,
25540 "scale": scale,
25541 "chat_id": chat_id,
25542 });
25543 let response = send_request(client_id, request).await;
25544 if response["@type"] == "error" {
25545 return Err(serde_json::from_value(response).unwrap())
25546 }
25547 Ok(serde_json::from_value(response).unwrap())
25548 }
25549 #[allow(clippy::too_many_arguments)]
25554 pub async fn get_premium_limit(limit_type: crate::enums::PremiumLimitType, client_id: i32) -> Result<crate::enums::PremiumLimit, crate::types::Error> {
25555 let request = json!({
25556 "@type": "getPremiumLimit",
25557 "limit_type": limit_type,
25558 });
25559 let response = send_request(client_id, request).await;
25560 if response["@type"] == "error" {
25561 return Err(serde_json::from_value(response).unwrap())
25562 }
25563 Ok(serde_json::from_value(response).unwrap())
25564 }
25565 #[allow(clippy::too_many_arguments)]
25570 pub async fn get_premium_features(source: Option<crate::enums::PremiumSource>, client_id: i32) -> Result<crate::enums::PremiumFeatures, crate::types::Error> {
25571 let request = json!({
25572 "@type": "getPremiumFeatures",
25573 "source": source,
25574 });
25575 let response = send_request(client_id, request).await;
25576 if response["@type"] == "error" {
25577 return Err(serde_json::from_value(response).unwrap())
25578 }
25579 Ok(serde_json::from_value(response).unwrap())
25580 }
25581 #[allow(clippy::too_many_arguments)]
25585 pub async fn get_premium_sticker_examples(client_id: i32) -> Result<crate::enums::Stickers, crate::types::Error> {
25586 let request = json!({
25587 "@type": "getPremiumStickerExamples",
25588 });
25589 let response = send_request(client_id, request).await;
25590 if response["@type"] == "error" {
25591 return Err(serde_json::from_value(response).unwrap())
25592 }
25593 Ok(serde_json::from_value(response).unwrap())
25594 }
25595 #[allow(clippy::too_many_arguments)]
25600 pub async fn view_premium_feature(feature: crate::enums::PremiumFeature, client_id: i32) -> Result<(), crate::types::Error> {
25601 let request = json!({
25602 "@type": "viewPremiumFeature",
25603 "feature": feature,
25604 });
25605 let response = send_request(client_id, request).await;
25606 if response["@type"] == "error" {
25607 return Err(serde_json::from_value(response).unwrap())
25608 }
25609 Ok(())
25610 }
25611 #[allow(clippy::too_many_arguments)]
25615 pub async fn click_premium_subscription_button(client_id: i32) -> Result<(), crate::types::Error> {
25616 let request = json!({
25617 "@type": "clickPremiumSubscriptionButton",
25618 });
25619 let response = send_request(client_id, request).await;
25620 if response["@type"] == "error" {
25621 return Err(serde_json::from_value(response).unwrap())
25622 }
25623 Ok(())
25624 }
25625 #[allow(clippy::too_many_arguments)]
25629 pub async fn get_premium_state(client_id: i32) -> Result<crate::enums::PremiumState, crate::types::Error> {
25630 let request = json!({
25631 "@type": "getPremiumState",
25632 });
25633 let response = send_request(client_id, request).await;
25634 if response["@type"] == "error" {
25635 return Err(serde_json::from_value(response).unwrap())
25636 }
25637 Ok(serde_json::from_value(response).unwrap())
25638 }
25639 #[allow(clippy::too_many_arguments)]
25644 pub async fn can_purchase_premium(purpose: crate::enums::StorePaymentPurpose, client_id: i32) -> Result<(), crate::types::Error> {
25645 let request = json!({
25646 "@type": "canPurchasePremium",
25647 "purpose": purpose,
25648 });
25649 let response = send_request(client_id, request).await;
25650 if response["@type"] == "error" {
25651 return Err(serde_json::from_value(response).unwrap())
25652 }
25653 Ok(())
25654 }
25655 #[allow(clippy::too_many_arguments)]
25661 pub async fn assign_app_store_transaction(receipt: String, purpose: crate::enums::StorePaymentPurpose, client_id: i32) -> Result<(), crate::types::Error> {
25662 let request = json!({
25663 "@type": "assignAppStoreTransaction",
25664 "receipt": receipt,
25665 "purpose": purpose,
25666 });
25667 let response = send_request(client_id, request).await;
25668 if response["@type"] == "error" {
25669 return Err(serde_json::from_value(response).unwrap())
25670 }
25671 Ok(())
25672 }
25673 #[allow(clippy::too_many_arguments)]
25681 pub async fn assign_google_play_transaction(package_name: String, store_product_id: String, purchase_token: String, purpose: crate::enums::StorePaymentPurpose, client_id: i32) -> Result<(), crate::types::Error> {
25682 let request = json!({
25683 "@type": "assignGooglePlayTransaction",
25684 "package_name": package_name,
25685 "store_product_id": store_product_id,
25686 "purchase_token": purchase_token,
25687 "purpose": purpose,
25688 });
25689 let response = send_request(client_id, request).await;
25690 if response["@type"] == "error" {
25691 return Err(serde_json::from_value(response).unwrap())
25692 }
25693 Ok(())
25694 }
25695 #[allow(clippy::too_many_arguments)]
25700 pub async fn accept_terms_of_service(terms_of_service_id: String, client_id: i32) -> Result<(), crate::types::Error> {
25701 let request = json!({
25702 "@type": "acceptTermsOfService",
25703 "terms_of_service_id": terms_of_service_id,
25704 });
25705 let response = send_request(client_id, request).await;
25706 if response["@type"] == "error" {
25707 return Err(serde_json::from_value(response).unwrap())
25708 }
25709 Ok(())
25710 }
25711 #[allow(clippy::too_many_arguments)]
25719 pub async fn search_strings_by_prefix(strings: Vec<String>, query: String, limit: i32, return_none_for_empty_query: bool, client_id: i32) -> Result<crate::enums::FoundPositions, crate::types::Error> {
25720 let request = json!({
25721 "@type": "searchStringsByPrefix",
25722 "strings": strings,
25723 "query": query,
25724 "limit": limit,
25725 "return_none_for_empty_query": return_none_for_empty_query,
25726 });
25727 let response = send_request(client_id, request).await;
25728 if response["@type"] == "error" {
25729 return Err(serde_json::from_value(response).unwrap())
25730 }
25731 Ok(serde_json::from_value(response).unwrap())
25732 }
25733 #[allow(clippy::too_many_arguments)]
25739 pub async fn send_custom_request(method: String, parameters: String, client_id: i32) -> Result<crate::enums::CustomRequestResult, crate::types::Error> {
25740 let request = json!({
25741 "@type": "sendCustomRequest",
25742 "method": method,
25743 "parameters": parameters,
25744 });
25745 let response = send_request(client_id, request).await;
25746 if response["@type"] == "error" {
25747 return Err(serde_json::from_value(response).unwrap())
25748 }
25749 Ok(serde_json::from_value(response).unwrap())
25750 }
25751 #[allow(clippy::too_many_arguments)]
25757 pub async fn answer_custom_query(custom_query_id: i64, data: String, client_id: i32) -> Result<(), crate::types::Error> {
25758 let request = json!({
25759 "@type": "answerCustomQuery",
25760 "custom_query_id": custom_query_id,
25761 "data": data,
25762 });
25763 let response = send_request(client_id, request).await;
25764 if response["@type"] == "error" {
25765 return Err(serde_json::from_value(response).unwrap())
25766 }
25767 Ok(())
25768 }
25769 #[allow(clippy::too_many_arguments)]
25774 pub async fn set_alarm(seconds: f64, client_id: i32) -> Result<(), crate::types::Error> {
25775 let request = json!({
25776 "@type": "setAlarm",
25777 "seconds": seconds,
25778 });
25779 let response = send_request(client_id, request).await;
25780 if response["@type"] == "error" {
25781 return Err(serde_json::from_value(response).unwrap())
25782 }
25783 Ok(())
25784 }
25785 #[allow(clippy::too_many_arguments)]
25789 pub async fn get_countries(client_id: i32) -> Result<crate::enums::Countries, crate::types::Error> {
25790 let request = json!({
25791 "@type": "getCountries",
25792 });
25793 let response = send_request(client_id, request).await;
25794 if response["@type"] == "error" {
25795 return Err(serde_json::from_value(response).unwrap())
25796 }
25797 Ok(serde_json::from_value(response).unwrap())
25798 }
25799 #[allow(clippy::too_many_arguments)]
25803 pub async fn get_country_code(client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
25804 let request = json!({
25805 "@type": "getCountryCode",
25806 });
25807 let response = send_request(client_id, request).await;
25808 if response["@type"] == "error" {
25809 return Err(serde_json::from_value(response).unwrap())
25810 }
25811 Ok(serde_json::from_value(response).unwrap())
25812 }
25813 #[allow(clippy::too_many_arguments)]
25818 pub async fn get_phone_number_info(phone_number_prefix: String, client_id: i32) -> Result<crate::enums::PhoneNumberInfo, crate::types::Error> {
25819 let request = json!({
25820 "@type": "getPhoneNumberInfo",
25821 "phone_number_prefix": phone_number_prefix,
25822 });
25823 let response = send_request(client_id, request).await;
25824 if response["@type"] == "error" {
25825 return Err(serde_json::from_value(response).unwrap())
25826 }
25827 Ok(serde_json::from_value(response).unwrap())
25828 }
25829 #[allow(clippy::too_many_arguments)]
25835 pub async fn get_phone_number_info_sync(language_code: String, phone_number_prefix: String, client_id: i32) -> Result<crate::enums::PhoneNumberInfo, crate::types::Error> {
25836 let request = json!({
25837 "@type": "getPhoneNumberInfoSync",
25838 "language_code": language_code,
25839 "phone_number_prefix": phone_number_prefix,
25840 });
25841 let response = send_request(client_id, request).await;
25842 if response["@type"] == "error" {
25843 return Err(serde_json::from_value(response).unwrap())
25844 }
25845 Ok(serde_json::from_value(response).unwrap())
25846 }
25847 #[allow(clippy::too_many_arguments)]
25852 pub async fn get_deep_link_info(link: String, client_id: i32) -> Result<crate::enums::DeepLinkInfo, crate::types::Error> {
25853 let request = json!({
25854 "@type": "getDeepLinkInfo",
25855 "link": link,
25856 });
25857 let response = send_request(client_id, request).await;
25858 if response["@type"] == "error" {
25859 return Err(serde_json::from_value(response).unwrap())
25860 }
25861 Ok(serde_json::from_value(response).unwrap())
25862 }
25863 #[allow(clippy::too_many_arguments)]
25867 pub async fn get_application_config(client_id: i32) -> Result<crate::enums::JsonValue, crate::types::Error> {
25868 let request = json!({
25869 "@type": "getApplicationConfig",
25870 });
25871 let response = send_request(client_id, request).await;
25872 if response["@type"] == "error" {
25873 return Err(serde_json::from_value(response).unwrap())
25874 }
25875 Ok(serde_json::from_value(response).unwrap())
25876 }
25877 #[allow(clippy::too_many_arguments)]
25882 pub async fn add_application_changelog(previous_application_version: String, client_id: i32) -> Result<(), crate::types::Error> {
25883 let request = json!({
25884 "@type": "addApplicationChangelog",
25885 "previous_application_version": previous_application_version,
25886 });
25887 let response = send_request(client_id, request).await;
25888 if response["@type"] == "error" {
25889 return Err(serde_json::from_value(response).unwrap())
25890 }
25891 Ok(())
25892 }
25893 #[allow(clippy::too_many_arguments)]
25900 pub async fn save_application_log_event(r#type: String, chat_id: i64, data: crate::enums::JsonValue, client_id: i32) -> Result<(), crate::types::Error> {
25901 let request = json!({
25902 "@type": "saveApplicationLogEvent",
25903 "type": r#type,
25904 "chat_id": chat_id,
25905 "data": data,
25906 });
25907 let response = send_request(client_id, request).await;
25908 if response["@type"] == "error" {
25909 return Err(serde_json::from_value(response).unwrap())
25910 }
25911 Ok(())
25912 }
25913 #[allow(clippy::too_many_arguments)]
25917 pub async fn get_application_download_link(client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
25918 let request = json!({
25919 "@type": "getApplicationDownloadLink",
25920 });
25921 let response = send_request(client_id, request).await;
25922 if response["@type"] == "error" {
25923 return Err(serde_json::from_value(response).unwrap())
25924 }
25925 Ok(serde_json::from_value(response).unwrap())
25926 }
25927 #[allow(clippy::too_many_arguments)]
25935 pub async fn add_proxy(server: String, port: i32, enable: bool, r#type: crate::enums::ProxyType, client_id: i32) -> Result<crate::enums::Proxy, crate::types::Error> {
25936 let request = json!({
25937 "@type": "addProxy",
25938 "server": server,
25939 "port": port,
25940 "enable": enable,
25941 "type": r#type,
25942 });
25943 let response = send_request(client_id, request).await;
25944 if response["@type"] == "error" {
25945 return Err(serde_json::from_value(response).unwrap())
25946 }
25947 Ok(serde_json::from_value(response).unwrap())
25948 }
25949 #[allow(clippy::too_many_arguments)]
25958 pub async fn edit_proxy(proxy_id: i32, server: String, port: i32, enable: bool, r#type: crate::enums::ProxyType, client_id: i32) -> Result<crate::enums::Proxy, crate::types::Error> {
25959 let request = json!({
25960 "@type": "editProxy",
25961 "proxy_id": proxy_id,
25962 "server": server,
25963 "port": port,
25964 "enable": enable,
25965 "type": r#type,
25966 });
25967 let response = send_request(client_id, request).await;
25968 if response["@type"] == "error" {
25969 return Err(serde_json::from_value(response).unwrap())
25970 }
25971 Ok(serde_json::from_value(response).unwrap())
25972 }
25973 #[allow(clippy::too_many_arguments)]
25978 pub async fn enable_proxy(proxy_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
25979 let request = json!({
25980 "@type": "enableProxy",
25981 "proxy_id": proxy_id,
25982 });
25983 let response = send_request(client_id, request).await;
25984 if response["@type"] == "error" {
25985 return Err(serde_json::from_value(response).unwrap())
25986 }
25987 Ok(())
25988 }
25989 #[allow(clippy::too_many_arguments)]
25993 pub async fn disable_proxy(client_id: i32) -> Result<(), crate::types::Error> {
25994 let request = json!({
25995 "@type": "disableProxy",
25996 });
25997 let response = send_request(client_id, request).await;
25998 if response["@type"] == "error" {
25999 return Err(serde_json::from_value(response).unwrap())
26000 }
26001 Ok(())
26002 }
26003 #[allow(clippy::too_many_arguments)]
26008 pub async fn remove_proxy(proxy_id: i32, client_id: i32) -> Result<(), crate::types::Error> {
26009 let request = json!({
26010 "@type": "removeProxy",
26011 "proxy_id": proxy_id,
26012 });
26013 let response = send_request(client_id, request).await;
26014 if response["@type"] == "error" {
26015 return Err(serde_json::from_value(response).unwrap())
26016 }
26017 Ok(())
26018 }
26019 #[allow(clippy::too_many_arguments)]
26023 pub async fn get_proxies(client_id: i32) -> Result<crate::enums::Proxies, crate::types::Error> {
26024 let request = json!({
26025 "@type": "getProxies",
26026 });
26027 let response = send_request(client_id, request).await;
26028 if response["@type"] == "error" {
26029 return Err(serde_json::from_value(response).unwrap())
26030 }
26031 Ok(serde_json::from_value(response).unwrap())
26032 }
26033 #[allow(clippy::too_many_arguments)]
26038 pub async fn get_proxy_link(proxy_id: i32, client_id: i32) -> Result<crate::enums::HttpUrl, crate::types::Error> {
26039 let request = json!({
26040 "@type": "getProxyLink",
26041 "proxy_id": proxy_id,
26042 });
26043 let response = send_request(client_id, request).await;
26044 if response["@type"] == "error" {
26045 return Err(serde_json::from_value(response).unwrap())
26046 }
26047 Ok(serde_json::from_value(response).unwrap())
26048 }
26049 #[allow(clippy::too_many_arguments)]
26054 pub async fn ping_proxy(proxy_id: i32, client_id: i32) -> Result<crate::enums::Seconds, crate::types::Error> {
26055 let request = json!({
26056 "@type": "pingProxy",
26057 "proxy_id": proxy_id,
26058 });
26059 let response = send_request(client_id, request).await;
26060 if response["@type"] == "error" {
26061 return Err(serde_json::from_value(response).unwrap())
26062 }
26063 Ok(serde_json::from_value(response).unwrap())
26064 }
26065 #[allow(clippy::too_many_arguments)]
26070 pub async fn set_log_stream(log_stream: crate::enums::LogStream, client_id: i32) -> Result<(), crate::types::Error> {
26071 let request = json!({
26072 "@type": "setLogStream",
26073 "log_stream": log_stream,
26074 });
26075 let response = send_request(client_id, request).await;
26076 if response["@type"] == "error" {
26077 return Err(serde_json::from_value(response).unwrap())
26078 }
26079 Ok(())
26080 }
26081 #[allow(clippy::too_many_arguments)]
26085 pub async fn get_log_stream(client_id: i32) -> Result<crate::enums::LogStream, crate::types::Error> {
26086 let request = json!({
26087 "@type": "getLogStream",
26088 });
26089 let response = send_request(client_id, request).await;
26090 if response["@type"] == "error" {
26091 return Err(serde_json::from_value(response).unwrap())
26092 }
26093 Ok(serde_json::from_value(response).unwrap())
26094 }
26095 #[allow(clippy::too_many_arguments)]
26101 pub async fn set_log_verbosity_level(new_verbosity_level: i32, client_id: i32) -> Result<(), crate::types::Error> {
26102 let request = json!({
26103 "@type": "setLogVerbosityLevel",
26104 "new_verbosity_level": new_verbosity_level,
26105 });
26106 let response = send_request(client_id, request).await;
26107 if response["@type"] == "error" {
26108 return Err(serde_json::from_value(response).unwrap())
26109 }
26110 Ok(())
26111 }
26112 #[allow(clippy::too_many_arguments)]
26116 pub async fn get_log_verbosity_level(client_id: i32) -> Result<crate::enums::LogVerbosityLevel, crate::types::Error> {
26117 let request = json!({
26118 "@type": "getLogVerbosityLevel",
26119 });
26120 let response = send_request(client_id, request).await;
26121 if response["@type"] == "error" {
26122 return Err(serde_json::from_value(response).unwrap())
26123 }
26124 Ok(serde_json::from_value(response).unwrap())
26125 }
26126 #[allow(clippy::too_many_arguments)]
26130 pub async fn get_log_tags(client_id: i32) -> Result<crate::enums::LogTags, crate::types::Error> {
26131 let request = json!({
26132 "@type": "getLogTags",
26133 });
26134 let response = send_request(client_id, request).await;
26135 if response["@type"] == "error" {
26136 return Err(serde_json::from_value(response).unwrap())
26137 }
26138 Ok(serde_json::from_value(response).unwrap())
26139 }
26140 #[allow(clippy::too_many_arguments)]
26146 pub async fn set_log_tag_verbosity_level(tag: String, new_verbosity_level: i32, client_id: i32) -> Result<(), crate::types::Error> {
26147 let request = json!({
26148 "@type": "setLogTagVerbosityLevel",
26149 "tag": tag,
26150 "new_verbosity_level": new_verbosity_level,
26151 });
26152 let response = send_request(client_id, request).await;
26153 if response["@type"] == "error" {
26154 return Err(serde_json::from_value(response).unwrap())
26155 }
26156 Ok(())
26157 }
26158 #[allow(clippy::too_many_arguments)]
26163 pub async fn get_log_tag_verbosity_level(tag: String, client_id: i32) -> Result<crate::enums::LogVerbosityLevel, crate::types::Error> {
26164 let request = json!({
26165 "@type": "getLogTagVerbosityLevel",
26166 "tag": tag,
26167 });
26168 let response = send_request(client_id, request).await;
26169 if response["@type"] == "error" {
26170 return Err(serde_json::from_value(response).unwrap())
26171 }
26172 Ok(serde_json::from_value(response).unwrap())
26173 }
26174 #[allow(clippy::too_many_arguments)]
26180 pub async fn add_log_message(verbosity_level: i32, text: String, client_id: i32) -> Result<(), crate::types::Error> {
26181 let request = json!({
26182 "@type": "addLogMessage",
26183 "verbosity_level": verbosity_level,
26184 "text": text,
26185 });
26186 let response = send_request(client_id, request).await;
26187 if response["@type"] == "error" {
26188 return Err(serde_json::from_value(response).unwrap())
26189 }
26190 Ok(())
26191 }
26192 #[allow(clippy::too_many_arguments)]
26197 pub async fn get_user_support_info(user_id: i64, client_id: i32) -> Result<crate::enums::UserSupportInfo, crate::types::Error> {
26198 let request = json!({
26199 "@type": "getUserSupportInfo",
26200 "user_id": user_id,
26201 });
26202 let response = send_request(client_id, request).await;
26203 if response["@type"] == "error" {
26204 return Err(serde_json::from_value(response).unwrap())
26205 }
26206 Ok(serde_json::from_value(response).unwrap())
26207 }
26208 #[allow(clippy::too_many_arguments)]
26214 pub async fn set_user_support_info(user_id: i64, message: crate::types::FormattedText, client_id: i32) -> Result<crate::enums::UserSupportInfo, crate::types::Error> {
26215 let request = json!({
26216 "@type": "setUserSupportInfo",
26217 "user_id": user_id,
26218 "message": message,
26219 });
26220 let response = send_request(client_id, request).await;
26221 if response["@type"] == "error" {
26222 return Err(serde_json::from_value(response).unwrap())
26223 }
26224 Ok(serde_json::from_value(response).unwrap())
26225 }
26226 #[allow(clippy::too_many_arguments)]
26230 pub async fn get_support_name(client_id: i32) -> Result<crate::enums::Text, crate::types::Error> {
26231 let request = json!({
26232 "@type": "getSupportName",
26233 });
26234 let response = send_request(client_id, request).await;
26235 if response["@type"] == "error" {
26236 return Err(serde_json::from_value(response).unwrap())
26237 }
26238 Ok(serde_json::from_value(response).unwrap())
26239 }
26240 #[allow(clippy::too_many_arguments)]
26244 pub async fn test_call_empty(client_id: i32) -> Result<(), crate::types::Error> {
26245 let request = json!({
26246 "@type": "testCallEmpty",
26247 });
26248 let response = send_request(client_id, request).await;
26249 if response["@type"] == "error" {
26250 return Err(serde_json::from_value(response).unwrap())
26251 }
26252 Ok(())
26253 }
26254 #[allow(clippy::too_many_arguments)]
26259 pub async fn test_call_string(x: String, client_id: i32) -> Result<crate::enums::TestString, crate::types::Error> {
26260 let request = json!({
26261 "@type": "testCallString",
26262 "x": x,
26263 });
26264 let response = send_request(client_id, request).await;
26265 if response["@type"] == "error" {
26266 return Err(serde_json::from_value(response).unwrap())
26267 }
26268 Ok(serde_json::from_value(response).unwrap())
26269 }
26270 #[allow(clippy::too_many_arguments)]
26275 pub async fn test_call_bytes(x: String, client_id: i32) -> Result<crate::enums::TestBytes, crate::types::Error> {
26276 let request = json!({
26277 "@type": "testCallBytes",
26278 "x": x,
26279 });
26280 let response = send_request(client_id, request).await;
26281 if response["@type"] == "error" {
26282 return Err(serde_json::from_value(response).unwrap())
26283 }
26284 Ok(serde_json::from_value(response).unwrap())
26285 }
26286 #[allow(clippy::too_many_arguments)]
26291 pub async fn test_call_vector_int(x: Vec<i32>, client_id: i32) -> Result<crate::enums::TestVectorInt, crate::types::Error> {
26292 let request = json!({
26293 "@type": "testCallVectorInt",
26294 "x": x,
26295 });
26296 let response = send_request(client_id, request).await;
26297 if response["@type"] == "error" {
26298 return Err(serde_json::from_value(response).unwrap())
26299 }
26300 Ok(serde_json::from_value(response).unwrap())
26301 }
26302 #[allow(clippy::too_many_arguments)]
26307 pub async fn test_call_vector_int_object(x: Vec<crate::types::TestInt>, client_id: i32) -> Result<crate::enums::TestVectorIntObject, crate::types::Error> {
26308 let request = json!({
26309 "@type": "testCallVectorIntObject",
26310 "x": x,
26311 });
26312 let response = send_request(client_id, request).await;
26313 if response["@type"] == "error" {
26314 return Err(serde_json::from_value(response).unwrap())
26315 }
26316 Ok(serde_json::from_value(response).unwrap())
26317 }
26318 #[allow(clippy::too_many_arguments)]
26323 pub async fn test_call_vector_string(x: Vec<String>, client_id: i32) -> Result<crate::enums::TestVectorString, crate::types::Error> {
26324 let request = json!({
26325 "@type": "testCallVectorString",
26326 "x": x,
26327 });
26328 let response = send_request(client_id, request).await;
26329 if response["@type"] == "error" {
26330 return Err(serde_json::from_value(response).unwrap())
26331 }
26332 Ok(serde_json::from_value(response).unwrap())
26333 }
26334 #[allow(clippy::too_many_arguments)]
26339 pub async fn test_call_vector_string_object(x: Vec<crate::types::TestString>, client_id: i32) -> Result<crate::enums::TestVectorStringObject, crate::types::Error> {
26340 let request = json!({
26341 "@type": "testCallVectorStringObject",
26342 "x": x,
26343 });
26344 let response = send_request(client_id, request).await;
26345 if response["@type"] == "error" {
26346 return Err(serde_json::from_value(response).unwrap())
26347 }
26348 Ok(serde_json::from_value(response).unwrap())
26349 }
26350 #[allow(clippy::too_many_arguments)]
26355 pub async fn test_square_int(x: i32, client_id: i32) -> Result<crate::enums::TestInt, crate::types::Error> {
26356 let request = json!({
26357 "@type": "testSquareInt",
26358 "x": x,
26359 });
26360 let response = send_request(client_id, request).await;
26361 if response["@type"] == "error" {
26362 return Err(serde_json::from_value(response).unwrap())
26363 }
26364 Ok(serde_json::from_value(response).unwrap())
26365 }
26366 #[allow(clippy::too_many_arguments)]
26370 pub async fn test_network(client_id: i32) -> Result<(), crate::types::Error> {
26371 let request = json!({
26372 "@type": "testNetwork",
26373 });
26374 let response = send_request(client_id, request).await;
26375 if response["@type"] == "error" {
26376 return Err(serde_json::from_value(response).unwrap())
26377 }
26378 Ok(())
26379 }
26380 #[allow(clippy::too_many_arguments)]
26389 pub async fn test_proxy(server: String, port: i32, r#type: crate::enums::ProxyType, dc_id: i32, timeout: f64, client_id: i32) -> Result<(), crate::types::Error> {
26390 let request = json!({
26391 "@type": "testProxy",
26392 "server": server,
26393 "port": port,
26394 "type": r#type,
26395 "dc_id": dc_id,
26396 "timeout": timeout,
26397 });
26398 let response = send_request(client_id, request).await;
26399 if response["@type"] == "error" {
26400 return Err(serde_json::from_value(response).unwrap())
26401 }
26402 Ok(())
26403 }
26404 #[allow(clippy::too_many_arguments)]
26408 pub async fn test_get_difference(client_id: i32) -> Result<(), crate::types::Error> {
26409 let request = json!({
26410 "@type": "testGetDifference",
26411 });
26412 let response = send_request(client_id, request).await;
26413 if response["@type"] == "error" {
26414 return Err(serde_json::from_value(response).unwrap())
26415 }
26416 Ok(())
26417 }
26418 #[allow(clippy::too_many_arguments)]
26422 pub async fn test_use_update(client_id: i32) -> Result<crate::enums::Update, crate::types::Error> {
26423 let request = json!({
26424 "@type": "testUseUpdate",
26425 });
26426 let response = send_request(client_id, request).await;
26427 if response["@type"] == "error" {
26428 return Err(serde_json::from_value(response).unwrap())
26429 }
26430 Ok(serde_json::from_value(response).unwrap())
26431 }
26432 #[allow(clippy::too_many_arguments)]
26437 pub async fn test_return_error(error: crate::types::Error, client_id: i32) -> Result<crate::enums::Error, crate::types::Error> {
26438 let request = json!({
26439 "@type": "testReturnError",
26440 "error": error,
26441 });
26442 let response = send_request(client_id, request).await;
26443 if response["@type"] == "error" {
26444 return Err(serde_json::from_value(response).unwrap())
26445 }
26446 Ok(serde_json::from_value(response).unwrap())
26447 }
26448}