use std::sync::Arc;
use rtdlib::types::*;
use crate::errors::*;
use crate::api::Api;
#[derive(Clone, Default)]
pub struct Listener {
exception: Option<Arc<dyn Fn((&Api, &TGError)) + Send + Sync + 'static>>,
receive: Option<Arc<dyn Fn((&Api, &String)) -> TGResult<()> + Send + Sync + 'static>>,
test_use_update: Option<Arc<dyn Fn((&Api, &TestUseUpdate)) -> TGResult<()> + Send + Sync + 'static>>,
update_active_notifications: Option<Arc<dyn Fn((&Api, &UpdateActiveNotifications)) -> TGResult<()> + Send + Sync + 'static>>,
update_authorization_state: Option<Arc<dyn Fn((&Api, &UpdateAuthorizationState)) -> TGResult<()> + Send + Sync + 'static>>,
update_basic_group: Option<Arc<dyn Fn((&Api, &UpdateBasicGroup)) -> TGResult<()> + Send + Sync + 'static>>,
update_basic_group_full_info: Option<Arc<dyn Fn((&Api, &UpdateBasicGroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>>,
update_call: Option<Arc<dyn Fn((&Api, &UpdateCall)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_default_disable_notification: Option<Arc<dyn Fn((&Api, &UpdateChatDefaultDisableNotification)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_draft_message: Option<Arc<dyn Fn((&Api, &UpdateChatDraftMessage)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_is_marked_as_unread: Option<Arc<dyn Fn((&Api, &UpdateChatIsMarkedAsUnread)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_is_pinned: Option<Arc<dyn Fn((&Api, &UpdateChatIsPinned)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_is_sponsored: Option<Arc<dyn Fn((&Api, &UpdateChatIsSponsored)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_last_message: Option<Arc<dyn Fn((&Api, &UpdateChatLastMessage)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_notification_settings: Option<Arc<dyn Fn((&Api, &UpdateChatNotificationSettings)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_online_member_count: Option<Arc<dyn Fn((&Api, &UpdateChatOnlineMemberCount)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_order: Option<Arc<dyn Fn((&Api, &UpdateChatOrder)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_permissions: Option<Arc<dyn Fn((&Api, &UpdateChatPermissions)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_photo: Option<Arc<dyn Fn((&Api, &UpdateChatPhoto)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_pinned_message: Option<Arc<dyn Fn((&Api, &UpdateChatPinnedMessage)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_read_inbox: Option<Arc<dyn Fn((&Api, &UpdateChatReadInbox)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_read_outbox: Option<Arc<dyn Fn((&Api, &UpdateChatReadOutbox)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_reply_markup: Option<Arc<dyn Fn((&Api, &UpdateChatReplyMarkup)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_title: Option<Arc<dyn Fn((&Api, &UpdateChatTitle)) -> TGResult<()> + Send + Sync + 'static>>,
update_chat_unread_mention_count: Option<Arc<dyn Fn((&Api, &UpdateChatUnreadMentionCount)) -> TGResult<()> + Send + Sync + 'static>>,
update_connection_state: Option<Arc<dyn Fn((&Api, &UpdateConnectionState)) -> TGResult<()> + Send + Sync + 'static>>,
update_delete_messages: Option<Arc<dyn Fn((&Api, &UpdateDeleteMessages)) -> TGResult<()> + Send + Sync + 'static>>,
update_favorite_stickers: Option<Arc<dyn Fn((&Api, &UpdateFavoriteStickers)) -> TGResult<()> + Send + Sync + 'static>>,
update_file: Option<Arc<dyn Fn((&Api, &UpdateFile)) -> TGResult<()> + Send + Sync + 'static>>,
update_file_generation_start: Option<Arc<dyn Fn((&Api, &UpdateFileGenerationStart)) -> TGResult<()> + Send + Sync + 'static>>,
update_file_generation_stop: Option<Arc<dyn Fn((&Api, &UpdateFileGenerationStop)) -> TGResult<()> + Send + Sync + 'static>>,
update_have_pending_notifications: Option<Arc<dyn Fn((&Api, &UpdateHavePendingNotifications)) -> TGResult<()> + Send + Sync + 'static>>,
update_installed_sticker_sets: Option<Arc<dyn Fn((&Api, &UpdateInstalledStickerSets)) -> TGResult<()> + Send + Sync + 'static>>,
update_language_pack_strings: Option<Arc<dyn Fn((&Api, &UpdateLanguagePackStrings)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_content: Option<Arc<dyn Fn((&Api, &UpdateMessageContent)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_content_opened: Option<Arc<dyn Fn((&Api, &UpdateMessageContentOpened)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_edited: Option<Arc<dyn Fn((&Api, &UpdateMessageEdited)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_mention_read: Option<Arc<dyn Fn((&Api, &UpdateMessageMentionRead)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_send_acknowledged: Option<Arc<dyn Fn((&Api, &UpdateMessageSendAcknowledged)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_send_failed: Option<Arc<dyn Fn((&Api, &UpdateMessageSendFailed)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_send_succeeded: Option<Arc<dyn Fn((&Api, &UpdateMessageSendSucceeded)) -> TGResult<()> + Send + Sync + 'static>>,
update_message_views: Option<Arc<dyn Fn((&Api, &UpdateMessageViews)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_callback_query: Option<Arc<dyn Fn((&Api, &UpdateNewCallbackQuery)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_chat: Option<Arc<dyn Fn((&Api, &UpdateNewChat)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_chosen_inline_result: Option<Arc<dyn Fn((&Api, &UpdateNewChosenInlineResult)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_custom_event: Option<Arc<dyn Fn((&Api, &UpdateNewCustomEvent)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_custom_query: Option<Arc<dyn Fn((&Api, &UpdateNewCustomQuery)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_inline_callback_query: Option<Arc<dyn Fn((&Api, &UpdateNewInlineCallbackQuery)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_inline_query: Option<Arc<dyn Fn((&Api, &UpdateNewInlineQuery)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_message: Option<Arc<dyn Fn((&Api, &UpdateNewMessage)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_pre_checkout_query: Option<Arc<dyn Fn((&Api, &UpdateNewPreCheckoutQuery)) -> TGResult<()> + Send + Sync + 'static>>,
update_new_shipping_query: Option<Arc<dyn Fn((&Api, &UpdateNewShippingQuery)) -> TGResult<()> + Send + Sync + 'static>>,
update_notification: Option<Arc<dyn Fn((&Api, &UpdateNotification)) -> TGResult<()> + Send + Sync + 'static>>,
update_notification_group: Option<Arc<dyn Fn((&Api, &UpdateNotificationGroup)) -> TGResult<()> + Send + Sync + 'static>>,
update_option: Option<Arc<dyn Fn((&Api, &UpdateOption)) -> TGResult<()> + Send + Sync + 'static>>,
update_poll: Option<Arc<dyn Fn((&Api, &UpdatePoll)) -> TGResult<()> + Send + Sync + 'static>>,
update_recent_stickers: Option<Arc<dyn Fn((&Api, &UpdateRecentStickers)) -> TGResult<()> + Send + Sync + 'static>>,
update_saved_animations: Option<Arc<dyn Fn((&Api, &UpdateSavedAnimations)) -> TGResult<()> + Send + Sync + 'static>>,
update_scope_notification_settings: Option<Arc<dyn Fn((&Api, &UpdateScopeNotificationSettings)) -> TGResult<()> + Send + Sync + 'static>>,
update_secret_chat: Option<Arc<dyn Fn((&Api, &UpdateSecretChat)) -> TGResult<()> + Send + Sync + 'static>>,
update_selected_background: Option<Arc<dyn Fn((&Api, &UpdateSelectedBackground)) -> TGResult<()> + Send + Sync + 'static>>,
update_service_notification: Option<Arc<dyn Fn((&Api, &UpdateServiceNotification)) -> TGResult<()> + Send + Sync + 'static>>,
update_supergroup: Option<Arc<dyn Fn((&Api, &UpdateSupergroup)) -> TGResult<()> + Send + Sync + 'static>>,
update_supergroup_full_info: Option<Arc<dyn Fn((&Api, &UpdateSupergroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>>,
update_terms_of_service: Option<Arc<dyn Fn((&Api, &UpdateTermsOfService)) -> TGResult<()> + Send + Sync + 'static>>,
update_trending_sticker_sets: Option<Arc<dyn Fn((&Api, &UpdateTrendingStickerSets)) -> TGResult<()> + Send + Sync + 'static>>,
update_unread_chat_count: Option<Arc<dyn Fn((&Api, &UpdateUnreadChatCount)) -> TGResult<()> + Send + Sync + 'static>>,
update_unread_message_count: Option<Arc<dyn Fn((&Api, &UpdateUnreadMessageCount)) -> TGResult<()> + Send + Sync + 'static>>,
update_user: Option<Arc<dyn Fn((&Api, &UpdateUser)) -> TGResult<()> + Send + Sync + 'static>>,
update_user_chat_action: Option<Arc<dyn Fn((&Api, &UpdateUserChatAction)) -> TGResult<()> + Send + Sync + 'static>>,
update_user_full_info: Option<Arc<dyn Fn((&Api, &UpdateUserFullInfo)) -> TGResult<()> + Send + Sync + 'static>>,
update_user_privacy_setting_rules: Option<Arc<dyn Fn((&Api, &UpdateUserPrivacySettingRules)) -> TGResult<()> + Send + Sync + 'static>>,
update_user_status: Option<Arc<dyn Fn((&Api, &UpdateUserStatus)) -> TGResult<()> + Send + Sync + 'static>>,
authorization_state: Option<Arc<dyn Fn((&Api, &AuthorizationState)) -> TGResult<()> + Send + Sync + 'static>>,
check_chat_username_result: Option<Arc<dyn Fn((&Api, &CheckChatUsernameResult)) -> TGResult<()> + Send + Sync + 'static>>,
json_value: Option<Arc<dyn Fn((&Api, &JsonValue)) -> TGResult<()> + Send + Sync + 'static>>,
language_pack_string_value: Option<Arc<dyn Fn((&Api, &LanguagePackStringValue)) -> TGResult<()> + Send + Sync + 'static>>,
log_stream: Option<Arc<dyn Fn((&Api, &LogStream)) -> TGResult<()> + Send + Sync + 'static>>,
option_value: Option<Arc<dyn Fn((&Api, &OptionValue)) -> TGResult<()> + Send + Sync + 'static>>,
passport_element: Option<Arc<dyn Fn((&Api, &PassportElement)) -> TGResult<()> + Send + Sync + 'static>>,
update: Option<Arc<dyn Fn((&Api, &Update)) -> TGResult<()> + Send + Sync + 'static>>,
account_ttl: Option<Arc<dyn Fn((&Api, &AccountTtl)) -> TGResult<()> + Send + Sync + 'static>>,
animations: Option<Arc<dyn Fn((&Api, &Animations)) -> TGResult<()> + Send + Sync + 'static>>,
authentication_code_info: Option<Arc<dyn Fn((&Api, &AuthenticationCodeInfo)) -> TGResult<()> + Send + Sync + 'static>>,
auto_download_settings_presets: Option<Arc<dyn Fn((&Api, &AutoDownloadSettingsPresets)) -> TGResult<()> + Send + Sync + 'static>>,
background: Option<Arc<dyn Fn((&Api, &Background)) -> TGResult<()> + Send + Sync + 'static>>,
backgrounds: Option<Arc<dyn Fn((&Api, &Backgrounds)) -> TGResult<()> + Send + Sync + 'static>>,
basic_group: Option<Arc<dyn Fn((&Api, &BasicGroup)) -> TGResult<()> + Send + Sync + 'static>>,
basic_group_full_info: Option<Arc<dyn Fn((&Api, &BasicGroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>>,
call_id: Option<Arc<dyn Fn((&Api, &CallId)) -> TGResult<()> + Send + Sync + 'static>>,
callback_query_answer: Option<Arc<dyn Fn((&Api, &CallbackQueryAnswer)) -> TGResult<()> + Send + Sync + 'static>>,
chat: Option<Arc<dyn Fn((&Api, &Chat)) -> TGResult<()> + Send + Sync + 'static>>,
chat_events: Option<Arc<dyn Fn((&Api, &ChatEvents)) -> TGResult<()> + Send + Sync + 'static>>,
chat_invite_link: Option<Arc<dyn Fn((&Api, &ChatInviteLink)) -> TGResult<()> + Send + Sync + 'static>>,
chat_invite_link_info: Option<Arc<dyn Fn((&Api, &ChatInviteLinkInfo)) -> TGResult<()> + Send + Sync + 'static>>,
chat_member: Option<Arc<dyn Fn((&Api, &ChatMember)) -> TGResult<()> + Send + Sync + 'static>>,
chat_members: Option<Arc<dyn Fn((&Api, &ChatMembers)) -> TGResult<()> + Send + Sync + 'static>>,
chat_report_spam_state: Option<Arc<dyn Fn((&Api, &ChatReportSpamState)) -> TGResult<()> + Send + Sync + 'static>>,
chats: Option<Arc<dyn Fn((&Api, &Chats)) -> TGResult<()> + Send + Sync + 'static>>,
connected_websites: Option<Arc<dyn Fn((&Api, &ConnectedWebsites)) -> TGResult<()> + Send + Sync + 'static>>,
count: Option<Arc<dyn Fn((&Api, &Count)) -> TGResult<()> + Send + Sync + 'static>>,
custom_request_result: Option<Arc<dyn Fn((&Api, &CustomRequestResult)) -> TGResult<()> + Send + Sync + 'static>>,
database_statistics: Option<Arc<dyn Fn((&Api, &DatabaseStatistics)) -> TGResult<()> + Send + Sync + 'static>>,
deep_link_info: Option<Arc<dyn Fn((&Api, &DeepLinkInfo)) -> TGResult<()> + Send + Sync + 'static>>,
email_address_authentication_code_info: Option<Arc<dyn Fn((&Api, &EmailAddressAuthenticationCodeInfo)) -> TGResult<()> + Send + Sync + 'static>>,
emojis: Option<Arc<dyn Fn((&Api, &Emojis)) -> TGResult<()> + Send + Sync + 'static>>,
error: Option<Arc<dyn Fn((&Api, &Error)) -> TGResult<()> + Send + Sync + 'static>>,
file: Option<Arc<dyn Fn((&Api, &File)) -> TGResult<()> + Send + Sync + 'static>>,
file_part: Option<Arc<dyn Fn((&Api, &FilePart)) -> TGResult<()> + Send + Sync + 'static>>,
formatted_text: Option<Arc<dyn Fn((&Api, &FormattedText)) -> TGResult<()> + Send + Sync + 'static>>,
found_messages: Option<Arc<dyn Fn((&Api, &FoundMessages)) -> TGResult<()> + Send + Sync + 'static>>,
game_high_scores: Option<Arc<dyn Fn((&Api, &GameHighScores)) -> TGResult<()> + Send + Sync + 'static>>,
hashtags: Option<Arc<dyn Fn((&Api, &Hashtags)) -> TGResult<()> + Send + Sync + 'static>>,
http_url: Option<Arc<dyn Fn((&Api, &HttpUrl)) -> TGResult<()> + Send + Sync + 'static>>,
imported_contacts: Option<Arc<dyn Fn((&Api, &ImportedContacts)) -> TGResult<()> + Send + Sync + 'static>>,
inline_query_results: Option<Arc<dyn Fn((&Api, &InlineQueryResults)) -> TGResult<()> + Send + Sync + 'static>>,
language_pack_info: Option<Arc<dyn Fn((&Api, &LanguagePackInfo)) -> TGResult<()> + Send + Sync + 'static>>,
language_pack_strings: Option<Arc<dyn Fn((&Api, &LanguagePackStrings)) -> TGResult<()> + Send + Sync + 'static>>,
localization_target_info: Option<Arc<dyn Fn((&Api, &LocalizationTargetInfo)) -> TGResult<()> + Send + Sync + 'static>>,
log_tags: Option<Arc<dyn Fn((&Api, &LogTags)) -> TGResult<()> + Send + Sync + 'static>>,
log_verbosity_level: Option<Arc<dyn Fn((&Api, &LogVerbosityLevel)) -> TGResult<()> + Send + Sync + 'static>>,
message: Option<Arc<dyn Fn((&Api, &Message)) -> TGResult<()> + Send + Sync + 'static>>,
message_link_info: Option<Arc<dyn Fn((&Api, &MessageLinkInfo)) -> TGResult<()> + Send + Sync + 'static>>,
messages: Option<Arc<dyn Fn((&Api, &Messages)) -> TGResult<()> + Send + Sync + 'static>>,
network_statistics: Option<Arc<dyn Fn((&Api, &NetworkStatistics)) -> TGResult<()> + Send + Sync + 'static>>,
ok: Option<Arc<dyn Fn((&Api, &Ok)) -> TGResult<()> + Send + Sync + 'static>>,
order_info: Option<Arc<dyn Fn((&Api, &OrderInfo)) -> TGResult<()> + Send + Sync + 'static>>,
passport_authorization_form: Option<Arc<dyn Fn((&Api, &PassportAuthorizationForm)) -> TGResult<()> + Send + Sync + 'static>>,
passport_elements: Option<Arc<dyn Fn((&Api, &PassportElements)) -> TGResult<()> + Send + Sync + 'static>>,
passport_elements_with_errors: Option<Arc<dyn Fn((&Api, &PassportElementsWithErrors)) -> TGResult<()> + Send + Sync + 'static>>,
password_state: Option<Arc<dyn Fn((&Api, &PasswordState)) -> TGResult<()> + Send + Sync + 'static>>,
payment_form: Option<Arc<dyn Fn((&Api, &PaymentForm)) -> TGResult<()> + Send + Sync + 'static>>,
payment_receipt: Option<Arc<dyn Fn((&Api, &PaymentReceipt)) -> TGResult<()> + Send + Sync + 'static>>,
payment_result: Option<Arc<dyn Fn((&Api, &PaymentResult)) -> TGResult<()> + Send + Sync + 'static>>,
proxies: Option<Arc<dyn Fn((&Api, &Proxies)) -> TGResult<()> + Send + Sync + 'static>>,
proxy: Option<Arc<dyn Fn((&Api, &Proxy)) -> TGResult<()> + Send + Sync + 'static>>,
public_message_link: Option<Arc<dyn Fn((&Api, &PublicMessageLink)) -> TGResult<()> + Send + Sync + 'static>>,
push_receiver_id: Option<Arc<dyn Fn((&Api, &PushReceiverId)) -> TGResult<()> + Send + Sync + 'static>>,
recovery_email_address: Option<Arc<dyn Fn((&Api, &RecoveryEmailAddress)) -> TGResult<()> + Send + Sync + 'static>>,
scope_notification_settings: Option<Arc<dyn Fn((&Api, &ScopeNotificationSettings)) -> TGResult<()> + Send + Sync + 'static>>,
seconds: Option<Arc<dyn Fn((&Api, &Seconds)) -> TGResult<()> + Send + Sync + 'static>>,
secret_chat: Option<Arc<dyn Fn((&Api, &SecretChat)) -> TGResult<()> + Send + Sync + 'static>>,
sessions: Option<Arc<dyn Fn((&Api, &Sessions)) -> TGResult<()> + Send + Sync + 'static>>,
sticker_set: Option<Arc<dyn Fn((&Api, &StickerSet)) -> TGResult<()> + Send + Sync + 'static>>,
sticker_sets: Option<Arc<dyn Fn((&Api, &StickerSets)) -> TGResult<()> + Send + Sync + 'static>>,
stickers: Option<Arc<dyn Fn((&Api, &Stickers)) -> TGResult<()> + Send + Sync + 'static>>,
storage_statistics: Option<Arc<dyn Fn((&Api, &StorageStatistics)) -> TGResult<()> + Send + Sync + 'static>>,
storage_statistics_fast: Option<Arc<dyn Fn((&Api, &StorageStatisticsFast)) -> TGResult<()> + Send + Sync + 'static>>,
supergroup: Option<Arc<dyn Fn((&Api, &Supergroup)) -> TGResult<()> + Send + Sync + 'static>>,
supergroup_full_info: Option<Arc<dyn Fn((&Api, &SupergroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>>,
t_me_urls: Option<Arc<dyn Fn((&Api, &TMeUrls)) -> TGResult<()> + Send + Sync + 'static>>,
temporary_password_state: Option<Arc<dyn Fn((&Api, &TemporaryPasswordState)) -> TGResult<()> + Send + Sync + 'static>>,
test_bytes: Option<Arc<dyn Fn((&Api, &TestBytes)) -> TGResult<()> + Send + Sync + 'static>>,
test_int: Option<Arc<dyn Fn((&Api, &TestInt)) -> TGResult<()> + Send + Sync + 'static>>,
test_string: Option<Arc<dyn Fn((&Api, &TestString)) -> TGResult<()> + Send + Sync + 'static>>,
test_vector_int: Option<Arc<dyn Fn((&Api, &TestVectorInt)) -> TGResult<()> + Send + Sync + 'static>>,
test_vector_int_object: Option<Arc<dyn Fn((&Api, &TestVectorIntObject)) -> TGResult<()> + Send + Sync + 'static>>,
test_vector_string: Option<Arc<dyn Fn((&Api, &TestVectorString)) -> TGResult<()> + Send + Sync + 'static>>,
test_vector_string_object: Option<Arc<dyn Fn((&Api, &TestVectorStringObject)) -> TGResult<()> + Send + Sync + 'static>>,
text: Option<Arc<dyn Fn((&Api, &Text)) -> TGResult<()> + Send + Sync + 'static>>,
text_entities: Option<Arc<dyn Fn((&Api, &TextEntities)) -> TGResult<()> + Send + Sync + 'static>>,
updates: Option<Arc<dyn Fn((&Api, &Updates)) -> TGResult<()> + Send + Sync + 'static>>,
user: Option<Arc<dyn Fn((&Api, &User)) -> TGResult<()> + Send + Sync + 'static>>,
user_full_info: Option<Arc<dyn Fn((&Api, &UserFullInfo)) -> TGResult<()> + Send + Sync + 'static>>,
user_privacy_setting_rules: Option<Arc<dyn Fn((&Api, &UserPrivacySettingRules)) -> TGResult<()> + Send + Sync + 'static>>,
user_profile_photos: Option<Arc<dyn Fn((&Api, &UserProfilePhotos)) -> TGResult<()> + Send + Sync + 'static>>,
users: Option<Arc<dyn Fn((&Api, &Users)) -> TGResult<()> + Send + Sync + 'static>>,
validated_order_info: Option<Arc<dyn Fn((&Api, &ValidatedOrderInfo)) -> TGResult<()> + Send + Sync + 'static>>,
web_page: Option<Arc<dyn Fn((&Api, &WebPage)) -> TGResult<()> + Send + Sync + 'static>>,
web_page_instant_view: Option<Arc<dyn Fn((&Api, &WebPageInstantView)) -> TGResult<()> + Send + Sync + 'static>>,
}
impl Listener {
pub fn new() -> Self { Listener::default() }
pub(crate) fn has_receive_listen(&self) -> bool { self.receive.is_some() }
pub(crate) fn lout(&self) -> Lout { Lout::new(self.clone()) }
pub fn on_receive<F>(&mut self, fnc: F) -> &mut Self where F: Fn((&Api, &String)) -> TGResult<()> + Send + Sync + 'static {
self.receive = Some(Arc::new(fnc));
self
}
pub fn on_exception<F>(&mut self, fnc: F) -> &mut Self where F: Fn((&Api, &TGError)) + Send + Sync + 'static {
self.exception = Some(Arc::new(fnc));
self
}
pub fn on_test_use_update<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestUseUpdate)) -> TGResult<()> + Send + Sync + 'static {
self.test_use_update = Some(Arc::new(fnc));
self
}
pub fn on_update_active_notifications<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateActiveNotifications)) -> TGResult<()> + Send + Sync + 'static {
self.update_active_notifications = Some(Arc::new(fnc));
self
}
pub fn on_update_authorization_state<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateAuthorizationState)) -> TGResult<()> + Send + Sync + 'static {
self.update_authorization_state = Some(Arc::new(fnc));
self
}
pub fn on_update_basic_group<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateBasicGroup)) -> TGResult<()> + Send + Sync + 'static {
self.update_basic_group = Some(Arc::new(fnc));
self
}
pub fn on_update_basic_group_full_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateBasicGroupFullInfo)) -> TGResult<()> + Send + Sync + 'static {
self.update_basic_group_full_info = Some(Arc::new(fnc));
self
}
pub fn on_update_call<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateCall)) -> TGResult<()> + Send + Sync + 'static {
self.update_call = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_default_disable_notification<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatDefaultDisableNotification)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_default_disable_notification = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_draft_message<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatDraftMessage)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_draft_message = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_is_marked_as_unread<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatIsMarkedAsUnread)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_is_marked_as_unread = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_is_pinned<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatIsPinned)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_is_pinned = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_is_sponsored<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatIsSponsored)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_is_sponsored = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_last_message<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatLastMessage)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_last_message = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_notification_settings<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatNotificationSettings)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_notification_settings = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_online_member_count<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatOnlineMemberCount)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_online_member_count = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_order<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatOrder)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_order = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_permissions<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatPermissions)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_permissions = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_photo<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatPhoto)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_photo = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_pinned_message<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatPinnedMessage)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_pinned_message = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_read_inbox<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatReadInbox)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_read_inbox = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_read_outbox<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatReadOutbox)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_read_outbox = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_reply_markup<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatReplyMarkup)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_reply_markup = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_title<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatTitle)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_title = Some(Arc::new(fnc));
self
}
pub fn on_update_chat_unread_mention_count<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateChatUnreadMentionCount)) -> TGResult<()> + Send + Sync + 'static {
self.update_chat_unread_mention_count = Some(Arc::new(fnc));
self
}
pub fn on_update_connection_state<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateConnectionState)) -> TGResult<()> + Send + Sync + 'static {
self.update_connection_state = Some(Arc::new(fnc));
self
}
pub fn on_update_delete_messages<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateDeleteMessages)) -> TGResult<()> + Send + Sync + 'static {
self.update_delete_messages = Some(Arc::new(fnc));
self
}
pub fn on_update_favorite_stickers<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateFavoriteStickers)) -> TGResult<()> + Send + Sync + 'static {
self.update_favorite_stickers = Some(Arc::new(fnc));
self
}
pub fn on_update_file<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateFile)) -> TGResult<()> + Send + Sync + 'static {
self.update_file = Some(Arc::new(fnc));
self
}
pub fn on_update_file_generation_start<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateFileGenerationStart)) -> TGResult<()> + Send + Sync + 'static {
self.update_file_generation_start = Some(Arc::new(fnc));
self
}
pub fn on_update_file_generation_stop<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateFileGenerationStop)) -> TGResult<()> + Send + Sync + 'static {
self.update_file_generation_stop = Some(Arc::new(fnc));
self
}
pub fn on_update_have_pending_notifications<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateHavePendingNotifications)) -> TGResult<()> + Send + Sync + 'static {
self.update_have_pending_notifications = Some(Arc::new(fnc));
self
}
pub fn on_update_installed_sticker_sets<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateInstalledStickerSets)) -> TGResult<()> + Send + Sync + 'static {
self.update_installed_sticker_sets = Some(Arc::new(fnc));
self
}
pub fn on_update_language_pack_strings<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateLanguagePackStrings)) -> TGResult<()> + Send + Sync + 'static {
self.update_language_pack_strings = Some(Arc::new(fnc));
self
}
pub fn on_update_message_content<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageContent)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_content = Some(Arc::new(fnc));
self
}
pub fn on_update_message_content_opened<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageContentOpened)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_content_opened = Some(Arc::new(fnc));
self
}
pub fn on_update_message_edited<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageEdited)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_edited = Some(Arc::new(fnc));
self
}
pub fn on_update_message_mention_read<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageMentionRead)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_mention_read = Some(Arc::new(fnc));
self
}
pub fn on_update_message_send_acknowledged<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageSendAcknowledged)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_send_acknowledged = Some(Arc::new(fnc));
self
}
pub fn on_update_message_send_failed<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageSendFailed)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_send_failed = Some(Arc::new(fnc));
self
}
pub fn on_update_message_send_succeeded<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageSendSucceeded)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_send_succeeded = Some(Arc::new(fnc));
self
}
pub fn on_update_message_views<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateMessageViews)) -> TGResult<()> + Send + Sync + 'static {
self.update_message_views = Some(Arc::new(fnc));
self
}
pub fn on_update_new_callback_query<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewCallbackQuery)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_callback_query = Some(Arc::new(fnc));
self
}
pub fn on_update_new_chat<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewChat)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_chat = Some(Arc::new(fnc));
self
}
pub fn on_update_new_chosen_inline_result<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewChosenInlineResult)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_chosen_inline_result = Some(Arc::new(fnc));
self
}
pub fn on_update_new_custom_event<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewCustomEvent)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_custom_event = Some(Arc::new(fnc));
self
}
pub fn on_update_new_custom_query<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewCustomQuery)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_custom_query = Some(Arc::new(fnc));
self
}
pub fn on_update_new_inline_callback_query<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewInlineCallbackQuery)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_inline_callback_query = Some(Arc::new(fnc));
self
}
pub fn on_update_new_inline_query<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewInlineQuery)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_inline_query = Some(Arc::new(fnc));
self
}
pub fn on_update_new_message<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewMessage)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_message = Some(Arc::new(fnc));
self
}
pub fn on_update_new_pre_checkout_query<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewPreCheckoutQuery)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_pre_checkout_query = Some(Arc::new(fnc));
self
}
pub fn on_update_new_shipping_query<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNewShippingQuery)) -> TGResult<()> + Send + Sync + 'static {
self.update_new_shipping_query = Some(Arc::new(fnc));
self
}
pub fn on_update_notification<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNotification)) -> TGResult<()> + Send + Sync + 'static {
self.update_notification = Some(Arc::new(fnc));
self
}
pub fn on_update_notification_group<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateNotificationGroup)) -> TGResult<()> + Send + Sync + 'static {
self.update_notification_group = Some(Arc::new(fnc));
self
}
pub fn on_update_option<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateOption)) -> TGResult<()> + Send + Sync + 'static {
self.update_option = Some(Arc::new(fnc));
self
}
pub fn on_update_poll<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdatePoll)) -> TGResult<()> + Send + Sync + 'static {
self.update_poll = Some(Arc::new(fnc));
self
}
pub fn on_update_recent_stickers<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateRecentStickers)) -> TGResult<()> + Send + Sync + 'static {
self.update_recent_stickers = Some(Arc::new(fnc));
self
}
pub fn on_update_saved_animations<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateSavedAnimations)) -> TGResult<()> + Send + Sync + 'static {
self.update_saved_animations = Some(Arc::new(fnc));
self
}
pub fn on_update_scope_notification_settings<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateScopeNotificationSettings)) -> TGResult<()> + Send + Sync + 'static {
self.update_scope_notification_settings = Some(Arc::new(fnc));
self
}
pub fn on_update_secret_chat<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateSecretChat)) -> TGResult<()> + Send + Sync + 'static {
self.update_secret_chat = Some(Arc::new(fnc));
self
}
pub fn on_update_selected_background<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateSelectedBackground)) -> TGResult<()> + Send + Sync + 'static {
self.update_selected_background = Some(Arc::new(fnc));
self
}
pub fn on_update_service_notification<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateServiceNotification)) -> TGResult<()> + Send + Sync + 'static {
self.update_service_notification = Some(Arc::new(fnc));
self
}
pub fn on_update_supergroup<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateSupergroup)) -> TGResult<()> + Send + Sync + 'static {
self.update_supergroup = Some(Arc::new(fnc));
self
}
pub fn on_update_supergroup_full_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateSupergroupFullInfo)) -> TGResult<()> + Send + Sync + 'static {
self.update_supergroup_full_info = Some(Arc::new(fnc));
self
}
pub fn on_update_terms_of_service<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateTermsOfService)) -> TGResult<()> + Send + Sync + 'static {
self.update_terms_of_service = Some(Arc::new(fnc));
self
}
pub fn on_update_trending_sticker_sets<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateTrendingStickerSets)) -> TGResult<()> + Send + Sync + 'static {
self.update_trending_sticker_sets = Some(Arc::new(fnc));
self
}
pub fn on_update_unread_chat_count<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateUnreadChatCount)) -> TGResult<()> + Send + Sync + 'static {
self.update_unread_chat_count = Some(Arc::new(fnc));
self
}
pub fn on_update_unread_message_count<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateUnreadMessageCount)) -> TGResult<()> + Send + Sync + 'static {
self.update_unread_message_count = Some(Arc::new(fnc));
self
}
pub fn on_update_user<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateUser)) -> TGResult<()> + Send + Sync + 'static {
self.update_user = Some(Arc::new(fnc));
self
}
pub fn on_update_user_chat_action<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateUserChatAction)) -> TGResult<()> + Send + Sync + 'static {
self.update_user_chat_action = Some(Arc::new(fnc));
self
}
pub fn on_update_user_full_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateUserFullInfo)) -> TGResult<()> + Send + Sync + 'static {
self.update_user_full_info = Some(Arc::new(fnc));
self
}
pub fn on_update_user_privacy_setting_rules<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateUserPrivacySettingRules)) -> TGResult<()> + Send + Sync + 'static {
self.update_user_privacy_setting_rules = Some(Arc::new(fnc));
self
}
pub fn on_update_user_status<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UpdateUserStatus)) -> TGResult<()> + Send + Sync + 'static {
self.update_user_status = Some(Arc::new(fnc));
self
}
pub fn on_authorization_state<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &AuthorizationState)) -> TGResult<()> + Send + Sync + 'static {
self.authorization_state = Some(Arc::new(fnc));
self
}
pub fn on_check_chat_username_result<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &CheckChatUsernameResult)) -> TGResult<()> + Send + Sync + 'static {
self.check_chat_username_result = Some(Arc::new(fnc));
self
}
pub fn on_json_value<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &JsonValue)) -> TGResult<()> + Send + Sync + 'static {
self.json_value = Some(Arc::new(fnc));
self
}
pub fn on_language_pack_string_value<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &LanguagePackStringValue)) -> TGResult<()> + Send + Sync + 'static {
self.language_pack_string_value = Some(Arc::new(fnc));
self
}
pub fn on_log_stream<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &LogStream)) -> TGResult<()> + Send + Sync + 'static {
self.log_stream = Some(Arc::new(fnc));
self
}
pub fn on_option_value<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &OptionValue)) -> TGResult<()> + Send + Sync + 'static {
self.option_value = Some(Arc::new(fnc));
self
}
pub fn on_passport_element<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PassportElement)) -> TGResult<()> + Send + Sync + 'static {
self.passport_element = Some(Arc::new(fnc));
self
}
pub fn on_update<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Update)) -> TGResult<()> + Send + Sync + 'static {
self.update = Some(Arc::new(fnc));
self
}
pub fn on_account_ttl<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &AccountTtl)) -> TGResult<()> + Send + Sync + 'static {
self.account_ttl = Some(Arc::new(fnc));
self
}
pub fn on_animations<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Animations)) -> TGResult<()> + Send + Sync + 'static {
self.animations = Some(Arc::new(fnc));
self
}
pub fn on_authentication_code_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &AuthenticationCodeInfo)) -> TGResult<()> + Send + Sync + 'static {
self.authentication_code_info = Some(Arc::new(fnc));
self
}
pub fn on_auto_download_settings_presets<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &AutoDownloadSettingsPresets)) -> TGResult<()> + Send + Sync + 'static {
self.auto_download_settings_presets = Some(Arc::new(fnc));
self
}
pub fn on_background<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Background)) -> TGResult<()> + Send + Sync + 'static {
self.background = Some(Arc::new(fnc));
self
}
pub fn on_backgrounds<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Backgrounds)) -> TGResult<()> + Send + Sync + 'static {
self.backgrounds = Some(Arc::new(fnc));
self
}
pub fn on_basic_group<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &BasicGroup)) -> TGResult<()> + Send + Sync + 'static {
self.basic_group = Some(Arc::new(fnc));
self
}
pub fn on_basic_group_full_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &BasicGroupFullInfo)) -> TGResult<()> + Send + Sync + 'static {
self.basic_group_full_info = Some(Arc::new(fnc));
self
}
pub fn on_call_id<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &CallId)) -> TGResult<()> + Send + Sync + 'static {
self.call_id = Some(Arc::new(fnc));
self
}
pub fn on_callback_query_answer<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &CallbackQueryAnswer)) -> TGResult<()> + Send + Sync + 'static {
self.callback_query_answer = Some(Arc::new(fnc));
self
}
pub fn on_chat<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Chat)) -> TGResult<()> + Send + Sync + 'static {
self.chat = Some(Arc::new(fnc));
self
}
pub fn on_chat_events<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ChatEvents)) -> TGResult<()> + Send + Sync + 'static {
self.chat_events = Some(Arc::new(fnc));
self
}
pub fn on_chat_invite_link<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ChatInviteLink)) -> TGResult<()> + Send + Sync + 'static {
self.chat_invite_link = Some(Arc::new(fnc));
self
}
pub fn on_chat_invite_link_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ChatInviteLinkInfo)) -> TGResult<()> + Send + Sync + 'static {
self.chat_invite_link_info = Some(Arc::new(fnc));
self
}
pub fn on_chat_member<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ChatMember)) -> TGResult<()> + Send + Sync + 'static {
self.chat_member = Some(Arc::new(fnc));
self
}
pub fn on_chat_members<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ChatMembers)) -> TGResult<()> + Send + Sync + 'static {
self.chat_members = Some(Arc::new(fnc));
self
}
pub fn on_chat_report_spam_state<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ChatReportSpamState)) -> TGResult<()> + Send + Sync + 'static {
self.chat_report_spam_state = Some(Arc::new(fnc));
self
}
pub fn on_chats<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Chats)) -> TGResult<()> + Send + Sync + 'static {
self.chats = Some(Arc::new(fnc));
self
}
pub fn on_connected_websites<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ConnectedWebsites)) -> TGResult<()> + Send + Sync + 'static {
self.connected_websites = Some(Arc::new(fnc));
self
}
pub fn on_count<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Count)) -> TGResult<()> + Send + Sync + 'static {
self.count = Some(Arc::new(fnc));
self
}
pub fn on_custom_request_result<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &CustomRequestResult)) -> TGResult<()> + Send + Sync + 'static {
self.custom_request_result = Some(Arc::new(fnc));
self
}
pub fn on_database_statistics<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &DatabaseStatistics)) -> TGResult<()> + Send + Sync + 'static {
self.database_statistics = Some(Arc::new(fnc));
self
}
pub fn on_deep_link_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &DeepLinkInfo)) -> TGResult<()> + Send + Sync + 'static {
self.deep_link_info = Some(Arc::new(fnc));
self
}
pub fn on_email_address_authentication_code_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &EmailAddressAuthenticationCodeInfo)) -> TGResult<()> + Send + Sync + 'static {
self.email_address_authentication_code_info = Some(Arc::new(fnc));
self
}
pub fn on_emojis<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Emojis)) -> TGResult<()> + Send + Sync + 'static {
self.emojis = Some(Arc::new(fnc));
self
}
pub fn on_error<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Error)) -> TGResult<()> + Send + Sync + 'static {
self.error = Some(Arc::new(fnc));
self
}
pub fn on_file<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &File)) -> TGResult<()> + Send + Sync + 'static {
self.file = Some(Arc::new(fnc));
self
}
pub fn on_file_part<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &FilePart)) -> TGResult<()> + Send + Sync + 'static {
self.file_part = Some(Arc::new(fnc));
self
}
pub fn on_formatted_text<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &FormattedText)) -> TGResult<()> + Send + Sync + 'static {
self.formatted_text = Some(Arc::new(fnc));
self
}
pub fn on_found_messages<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &FoundMessages)) -> TGResult<()> + Send + Sync + 'static {
self.found_messages = Some(Arc::new(fnc));
self
}
pub fn on_game_high_scores<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &GameHighScores)) -> TGResult<()> + Send + Sync + 'static {
self.game_high_scores = Some(Arc::new(fnc));
self
}
pub fn on_hashtags<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Hashtags)) -> TGResult<()> + Send + Sync + 'static {
self.hashtags = Some(Arc::new(fnc));
self
}
pub fn on_http_url<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &HttpUrl)) -> TGResult<()> + Send + Sync + 'static {
self.http_url = Some(Arc::new(fnc));
self
}
pub fn on_imported_contacts<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ImportedContacts)) -> TGResult<()> + Send + Sync + 'static {
self.imported_contacts = Some(Arc::new(fnc));
self
}
pub fn on_inline_query_results<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &InlineQueryResults)) -> TGResult<()> + Send + Sync + 'static {
self.inline_query_results = Some(Arc::new(fnc));
self
}
pub fn on_language_pack_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &LanguagePackInfo)) -> TGResult<()> + Send + Sync + 'static {
self.language_pack_info = Some(Arc::new(fnc));
self
}
pub fn on_language_pack_strings<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &LanguagePackStrings)) -> TGResult<()> + Send + Sync + 'static {
self.language_pack_strings = Some(Arc::new(fnc));
self
}
pub fn on_localization_target_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &LocalizationTargetInfo)) -> TGResult<()> + Send + Sync + 'static {
self.localization_target_info = Some(Arc::new(fnc));
self
}
pub fn on_log_tags<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &LogTags)) -> TGResult<()> + Send + Sync + 'static {
self.log_tags = Some(Arc::new(fnc));
self
}
pub fn on_log_verbosity_level<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &LogVerbosityLevel)) -> TGResult<()> + Send + Sync + 'static {
self.log_verbosity_level = Some(Arc::new(fnc));
self
}
pub fn on_message<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Message)) -> TGResult<()> + Send + Sync + 'static {
self.message = Some(Arc::new(fnc));
self
}
pub fn on_message_link_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &MessageLinkInfo)) -> TGResult<()> + Send + Sync + 'static {
self.message_link_info = Some(Arc::new(fnc));
self
}
pub fn on_messages<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Messages)) -> TGResult<()> + Send + Sync + 'static {
self.messages = Some(Arc::new(fnc));
self
}
pub fn on_network_statistics<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &NetworkStatistics)) -> TGResult<()> + Send + Sync + 'static {
self.network_statistics = Some(Arc::new(fnc));
self
}
pub fn on_ok<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Ok)) -> TGResult<()> + Send + Sync + 'static {
self.ok = Some(Arc::new(fnc));
self
}
pub fn on_order_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &OrderInfo)) -> TGResult<()> + Send + Sync + 'static {
self.order_info = Some(Arc::new(fnc));
self
}
pub fn on_passport_authorization_form<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PassportAuthorizationForm)) -> TGResult<()> + Send + Sync + 'static {
self.passport_authorization_form = Some(Arc::new(fnc));
self
}
pub fn on_passport_elements<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PassportElements)) -> TGResult<()> + Send + Sync + 'static {
self.passport_elements = Some(Arc::new(fnc));
self
}
pub fn on_passport_elements_with_errors<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PassportElementsWithErrors)) -> TGResult<()> + Send + Sync + 'static {
self.passport_elements_with_errors = Some(Arc::new(fnc));
self
}
pub fn on_password_state<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PasswordState)) -> TGResult<()> + Send + Sync + 'static {
self.password_state = Some(Arc::new(fnc));
self
}
pub fn on_payment_form<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PaymentForm)) -> TGResult<()> + Send + Sync + 'static {
self.payment_form = Some(Arc::new(fnc));
self
}
pub fn on_payment_receipt<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PaymentReceipt)) -> TGResult<()> + Send + Sync + 'static {
self.payment_receipt = Some(Arc::new(fnc));
self
}
pub fn on_payment_result<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PaymentResult)) -> TGResult<()> + Send + Sync + 'static {
self.payment_result = Some(Arc::new(fnc));
self
}
pub fn on_proxies<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Proxies)) -> TGResult<()> + Send + Sync + 'static {
self.proxies = Some(Arc::new(fnc));
self
}
pub fn on_proxy<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Proxy)) -> TGResult<()> + Send + Sync + 'static {
self.proxy = Some(Arc::new(fnc));
self
}
pub fn on_public_message_link<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PublicMessageLink)) -> TGResult<()> + Send + Sync + 'static {
self.public_message_link = Some(Arc::new(fnc));
self
}
pub fn on_push_receiver_id<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &PushReceiverId)) -> TGResult<()> + Send + Sync + 'static {
self.push_receiver_id = Some(Arc::new(fnc));
self
}
pub fn on_recovery_email_address<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &RecoveryEmailAddress)) -> TGResult<()> + Send + Sync + 'static {
self.recovery_email_address = Some(Arc::new(fnc));
self
}
pub fn on_scope_notification_settings<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ScopeNotificationSettings)) -> TGResult<()> + Send + Sync + 'static {
self.scope_notification_settings = Some(Arc::new(fnc));
self
}
pub fn on_seconds<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Seconds)) -> TGResult<()> + Send + Sync + 'static {
self.seconds = Some(Arc::new(fnc));
self
}
pub fn on_secret_chat<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &SecretChat)) -> TGResult<()> + Send + Sync + 'static {
self.secret_chat = Some(Arc::new(fnc));
self
}
pub fn on_sessions<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Sessions)) -> TGResult<()> + Send + Sync + 'static {
self.sessions = Some(Arc::new(fnc));
self
}
pub fn on_sticker_set<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &StickerSet)) -> TGResult<()> + Send + Sync + 'static {
self.sticker_set = Some(Arc::new(fnc));
self
}
pub fn on_sticker_sets<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &StickerSets)) -> TGResult<()> + Send + Sync + 'static {
self.sticker_sets = Some(Arc::new(fnc));
self
}
pub fn on_stickers<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Stickers)) -> TGResult<()> + Send + Sync + 'static {
self.stickers = Some(Arc::new(fnc));
self
}
pub fn on_storage_statistics<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &StorageStatistics)) -> TGResult<()> + Send + Sync + 'static {
self.storage_statistics = Some(Arc::new(fnc));
self
}
pub fn on_storage_statistics_fast<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &StorageStatisticsFast)) -> TGResult<()> + Send + Sync + 'static {
self.storage_statistics_fast = Some(Arc::new(fnc));
self
}
pub fn on_supergroup<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Supergroup)) -> TGResult<()> + Send + Sync + 'static {
self.supergroup = Some(Arc::new(fnc));
self
}
pub fn on_supergroup_full_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &SupergroupFullInfo)) -> TGResult<()> + Send + Sync + 'static {
self.supergroup_full_info = Some(Arc::new(fnc));
self
}
pub fn on_t_me_urls<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TMeUrls)) -> TGResult<()> + Send + Sync + 'static {
self.t_me_urls = Some(Arc::new(fnc));
self
}
pub fn on_temporary_password_state<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TemporaryPasswordState)) -> TGResult<()> + Send + Sync + 'static {
self.temporary_password_state = Some(Arc::new(fnc));
self
}
pub fn on_test_bytes<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestBytes)) -> TGResult<()> + Send + Sync + 'static {
self.test_bytes = Some(Arc::new(fnc));
self
}
pub fn on_test_int<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestInt)) -> TGResult<()> + Send + Sync + 'static {
self.test_int = Some(Arc::new(fnc));
self
}
pub fn on_test_string<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestString)) -> TGResult<()> + Send + Sync + 'static {
self.test_string = Some(Arc::new(fnc));
self
}
pub fn on_test_vector_int<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestVectorInt)) -> TGResult<()> + Send + Sync + 'static {
self.test_vector_int = Some(Arc::new(fnc));
self
}
pub fn on_test_vector_int_object<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestVectorIntObject)) -> TGResult<()> + Send + Sync + 'static {
self.test_vector_int_object = Some(Arc::new(fnc));
self
}
pub fn on_test_vector_string<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestVectorString)) -> TGResult<()> + Send + Sync + 'static {
self.test_vector_string = Some(Arc::new(fnc));
self
}
pub fn on_test_vector_string_object<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TestVectorStringObject)) -> TGResult<()> + Send + Sync + 'static {
self.test_vector_string_object = Some(Arc::new(fnc));
self
}
pub fn on_text<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Text)) -> TGResult<()> + Send + Sync + 'static {
self.text = Some(Arc::new(fnc));
self
}
pub fn on_text_entities<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &TextEntities)) -> TGResult<()> + Send + Sync + 'static {
self.text_entities = Some(Arc::new(fnc));
self
}
pub fn on_updates<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Updates)) -> TGResult<()> + Send + Sync + 'static {
self.updates = Some(Arc::new(fnc));
self
}
pub fn on_user<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &User)) -> TGResult<()> + Send + Sync + 'static {
self.user = Some(Arc::new(fnc));
self
}
pub fn on_user_full_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UserFullInfo)) -> TGResult<()> + Send + Sync + 'static {
self.user_full_info = Some(Arc::new(fnc));
self
}
pub fn on_user_privacy_setting_rules<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UserPrivacySettingRules)) -> TGResult<()> + Send + Sync + 'static {
self.user_privacy_setting_rules = Some(Arc::new(fnc));
self
}
pub fn on_user_profile_photos<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &UserProfilePhotos)) -> TGResult<()> + Send + Sync + 'static {
self.user_profile_photos = Some(Arc::new(fnc));
self
}
pub fn on_users<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &Users)) -> TGResult<()> + Send + Sync + 'static {
self.users = Some(Arc::new(fnc));
self
}
pub fn on_validated_order_info<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &ValidatedOrderInfo)) -> TGResult<()> + Send + Sync + 'static {
self.validated_order_info = Some(Arc::new(fnc));
self
}
pub fn on_web_page<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &WebPage)) -> TGResult<()> + Send + Sync + 'static {
self.web_page = Some(Arc::new(fnc));
self
}
pub fn on_web_page_instant_view<F>(&mut self, fnc: F) -> &mut Self
where F: Fn((&Api, &WebPageInstantView)) -> TGResult<()> + Send + Sync + 'static {
self.web_page_instant_view = Some(Arc::new(fnc));
self
}
}
pub struct Lout {
listener: Listener,
supports: Vec<&'static str>
}
impl Lout {
fn new(listener: Listener) -> Self {
let supports = vec![
"testUseUpdate",
"updateActiveNotifications",
"updateAuthorizationState",
"updateBasicGroup",
"updateBasicGroupFullInfo",
"updateCall",
"updateChatDefaultDisableNotification",
"updateChatDraftMessage",
"updateChatIsMarkedAsUnread",
"updateChatIsPinned",
"updateChatIsSponsored",
"updateChatLastMessage",
"updateChatNotificationSettings",
"updateChatOnlineMemberCount",
"updateChatOrder",
"updateChatPermissions",
"updateChatPhoto",
"updateChatPinnedMessage",
"updateChatReadInbox",
"updateChatReadOutbox",
"updateChatReplyMarkup",
"updateChatTitle",
"updateChatUnreadMentionCount",
"updateConnectionState",
"updateDeleteMessages",
"updateFavoriteStickers",
"updateFile",
"updateFileGenerationStart",
"updateFileGenerationStop",
"updateHavePendingNotifications",
"updateInstalledStickerSets",
"updateLanguagePackStrings",
"updateMessageContent",
"updateMessageContentOpened",
"updateMessageEdited",
"updateMessageMentionRead",
"updateMessageSendAcknowledged",
"updateMessageSendFailed",
"updateMessageSendSucceeded",
"updateMessageViews",
"updateNewCallbackQuery",
"updateNewChat",
"updateNewChosenInlineResult",
"updateNewCustomEvent",
"updateNewCustomQuery",
"updateNewInlineCallbackQuery",
"updateNewInlineQuery",
"updateNewMessage",
"updateNewPreCheckoutQuery",
"updateNewShippingQuery",
"updateNotification",
"updateNotificationGroup",
"updateOption",
"updatePoll",
"updateRecentStickers",
"updateSavedAnimations",
"updateScopeNotificationSettings",
"updateSecretChat",
"updateSelectedBackground",
"updateServiceNotification",
"updateSupergroup",
"updateSupergroupFullInfo",
"updateTermsOfService",
"updateTrendingStickerSets",
"updateUnreadChatCount",
"updateUnreadMessageCount",
"updateUser",
"updateUserChatAction",
"updateUserFullInfo",
"updateUserPrivacySettingRules",
"updateUserStatus",
"AuthorizationState",
"CheckChatUsernameResult",
"JsonValue",
"LanguagePackStringValue",
"LogStream",
"OptionValue",
"PassportElement",
"Update",
"accountTtl",
"animations",
"authenticationCodeInfo",
"autoDownloadSettingsPresets",
"background",
"backgrounds",
"basicGroup",
"basicGroupFullInfo",
"callId",
"callbackQueryAnswer",
"chat",
"chatEvents",
"chatInviteLink",
"chatInviteLinkInfo",
"chatMember",
"chatMembers",
"chatReportSpamState",
"chats",
"connectedWebsites",
"count",
"customRequestResult",
"databaseStatistics",
"deepLinkInfo",
"emailAddressAuthenticationCodeInfo",
"emojis",
"error",
"file",
"filePart",
"formattedText",
"foundMessages",
"gameHighScores",
"hashtags",
"httpUrl",
"importedContacts",
"inlineQueryResults",
"languagePackInfo",
"languagePackStrings",
"localizationTargetInfo",
"logTags",
"logVerbosityLevel",
"message",
"messageLinkInfo",
"messages",
"networkStatistics",
"ok",
"orderInfo",
"passportAuthorizationForm",
"passportElements",
"passportElementsWithErrors",
"passwordState",
"paymentForm",
"paymentReceipt",
"paymentResult",
"proxies",
"proxy",
"publicMessageLink",
"pushReceiverId",
"recoveryEmailAddress",
"scopeNotificationSettings",
"seconds",
"secretChat",
"sessions",
"stickerSet",
"stickerSets",
"stickers",
"storageStatistics",
"storageStatisticsFast",
"supergroup",
"supergroupFullInfo",
"tMeUrls",
"temporaryPasswordState",
"testBytes",
"testInt",
"testString",
"testVectorInt",
"testVectorIntObject",
"testVectorString",
"testVectorStringObject",
"text",
"textEntities",
"updates",
"user",
"userFullInfo",
"userPrivacySettingRules",
"userProfilePhotos",
"users",
"validatedOrderInfo",
"webPage",
"webPageInstantView",
];
Self { listener, supports }
}
pub fn is_support<S: AsRef<str>>(&self, name: S) -> bool {
self.supports.iter()
.find(|&&item| item == name.as_ref())
.is_some()
}
pub fn exception(&self) -> &Option<Arc<dyn Fn((&Api, &TGError)) + Send + Sync + 'static>> {
&self.listener.exception
}
pub fn receive(&self) -> &Option<Arc<dyn Fn((&Api, &String)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.receive
}
pub fn test_use_update(&self) -> &Option<Arc<dyn Fn((&Api, &TestUseUpdate)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_use_update
}
pub fn update_active_notifications(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateActiveNotifications)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_active_notifications
}
pub fn update_authorization_state(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateAuthorizationState)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_authorization_state
}
pub fn update_basic_group(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateBasicGroup)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_basic_group
}
pub fn update_basic_group_full_info(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateBasicGroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_basic_group_full_info
}
pub fn update_call(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateCall)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_call
}
pub fn update_chat_default_disable_notification(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatDefaultDisableNotification)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_default_disable_notification
}
pub fn update_chat_draft_message(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatDraftMessage)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_draft_message
}
pub fn update_chat_is_marked_as_unread(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatIsMarkedAsUnread)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_is_marked_as_unread
}
pub fn update_chat_is_pinned(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatIsPinned)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_is_pinned
}
pub fn update_chat_is_sponsored(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatIsSponsored)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_is_sponsored
}
pub fn update_chat_last_message(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatLastMessage)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_last_message
}
pub fn update_chat_notification_settings(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatNotificationSettings)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_notification_settings
}
pub fn update_chat_online_member_count(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatOnlineMemberCount)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_online_member_count
}
pub fn update_chat_order(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatOrder)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_order
}
pub fn update_chat_permissions(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatPermissions)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_permissions
}
pub fn update_chat_photo(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatPhoto)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_photo
}
pub fn update_chat_pinned_message(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatPinnedMessage)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_pinned_message
}
pub fn update_chat_read_inbox(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatReadInbox)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_read_inbox
}
pub fn update_chat_read_outbox(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatReadOutbox)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_read_outbox
}
pub fn update_chat_reply_markup(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatReplyMarkup)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_reply_markup
}
pub fn update_chat_title(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatTitle)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_title
}
pub fn update_chat_unread_mention_count(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateChatUnreadMentionCount)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_chat_unread_mention_count
}
pub fn update_connection_state(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateConnectionState)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_connection_state
}
pub fn update_delete_messages(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateDeleteMessages)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_delete_messages
}
pub fn update_favorite_stickers(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateFavoriteStickers)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_favorite_stickers
}
pub fn update_file(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateFile)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_file
}
pub fn update_file_generation_start(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateFileGenerationStart)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_file_generation_start
}
pub fn update_file_generation_stop(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateFileGenerationStop)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_file_generation_stop
}
pub fn update_have_pending_notifications(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateHavePendingNotifications)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_have_pending_notifications
}
pub fn update_installed_sticker_sets(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateInstalledStickerSets)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_installed_sticker_sets
}
pub fn update_language_pack_strings(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateLanguagePackStrings)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_language_pack_strings
}
pub fn update_message_content(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageContent)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_content
}
pub fn update_message_content_opened(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageContentOpened)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_content_opened
}
pub fn update_message_edited(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageEdited)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_edited
}
pub fn update_message_mention_read(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageMentionRead)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_mention_read
}
pub fn update_message_send_acknowledged(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageSendAcknowledged)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_send_acknowledged
}
pub fn update_message_send_failed(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageSendFailed)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_send_failed
}
pub fn update_message_send_succeeded(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageSendSucceeded)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_send_succeeded
}
pub fn update_message_views(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateMessageViews)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_message_views
}
pub fn update_new_callback_query(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewCallbackQuery)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_callback_query
}
pub fn update_new_chat(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewChat)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_chat
}
pub fn update_new_chosen_inline_result(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewChosenInlineResult)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_chosen_inline_result
}
pub fn update_new_custom_event(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewCustomEvent)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_custom_event
}
pub fn update_new_custom_query(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewCustomQuery)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_custom_query
}
pub fn update_new_inline_callback_query(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewInlineCallbackQuery)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_inline_callback_query
}
pub fn update_new_inline_query(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewInlineQuery)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_inline_query
}
pub fn update_new_message(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewMessage)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_message
}
pub fn update_new_pre_checkout_query(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewPreCheckoutQuery)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_pre_checkout_query
}
pub fn update_new_shipping_query(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNewShippingQuery)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_new_shipping_query
}
pub fn update_notification(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNotification)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_notification
}
pub fn update_notification_group(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateNotificationGroup)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_notification_group
}
pub fn update_option(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateOption)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_option
}
pub fn update_poll(&self) -> &Option<Arc<dyn Fn((&Api, &UpdatePoll)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_poll
}
pub fn update_recent_stickers(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateRecentStickers)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_recent_stickers
}
pub fn update_saved_animations(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateSavedAnimations)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_saved_animations
}
pub fn update_scope_notification_settings(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateScopeNotificationSettings)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_scope_notification_settings
}
pub fn update_secret_chat(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateSecretChat)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_secret_chat
}
pub fn update_selected_background(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateSelectedBackground)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_selected_background
}
pub fn update_service_notification(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateServiceNotification)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_service_notification
}
pub fn update_supergroup(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateSupergroup)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_supergroup
}
pub fn update_supergroup_full_info(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateSupergroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_supergroup_full_info
}
pub fn update_terms_of_service(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateTermsOfService)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_terms_of_service
}
pub fn update_trending_sticker_sets(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateTrendingStickerSets)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_trending_sticker_sets
}
pub fn update_unread_chat_count(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateUnreadChatCount)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_unread_chat_count
}
pub fn update_unread_message_count(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateUnreadMessageCount)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_unread_message_count
}
pub fn update_user(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateUser)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_user
}
pub fn update_user_chat_action(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateUserChatAction)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_user_chat_action
}
pub fn update_user_full_info(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateUserFullInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_user_full_info
}
pub fn update_user_privacy_setting_rules(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateUserPrivacySettingRules)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_user_privacy_setting_rules
}
pub fn update_user_status(&self) -> &Option<Arc<dyn Fn((&Api, &UpdateUserStatus)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update_user_status
}
pub fn authorization_state(&self) -> &Option<Arc<dyn Fn((&Api, &AuthorizationState)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.authorization_state
}
pub fn check_chat_username_result(&self) -> &Option<Arc<dyn Fn((&Api, &CheckChatUsernameResult)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.check_chat_username_result
}
pub fn json_value(&self) -> &Option<Arc<dyn Fn((&Api, &JsonValue)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.json_value
}
pub fn language_pack_string_value(&self) -> &Option<Arc<dyn Fn((&Api, &LanguagePackStringValue)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.language_pack_string_value
}
pub fn log_stream(&self) -> &Option<Arc<dyn Fn((&Api, &LogStream)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.log_stream
}
pub fn option_value(&self) -> &Option<Arc<dyn Fn((&Api, &OptionValue)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.option_value
}
pub fn passport_element(&self) -> &Option<Arc<dyn Fn((&Api, &PassportElement)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.passport_element
}
pub fn update(&self) -> &Option<Arc<dyn Fn((&Api, &Update)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.update
}
pub fn account_ttl(&self) -> &Option<Arc<dyn Fn((&Api, &AccountTtl)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.account_ttl
}
pub fn animations(&self) -> &Option<Arc<dyn Fn((&Api, &Animations)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.animations
}
pub fn authentication_code_info(&self) -> &Option<Arc<dyn Fn((&Api, &AuthenticationCodeInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.authentication_code_info
}
pub fn auto_download_settings_presets(&self) -> &Option<Arc<dyn Fn((&Api, &AutoDownloadSettingsPresets)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.auto_download_settings_presets
}
pub fn background(&self) -> &Option<Arc<dyn Fn((&Api, &Background)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.background
}
pub fn backgrounds(&self) -> &Option<Arc<dyn Fn((&Api, &Backgrounds)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.backgrounds
}
pub fn basic_group(&self) -> &Option<Arc<dyn Fn((&Api, &BasicGroup)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.basic_group
}
pub fn basic_group_full_info(&self) -> &Option<Arc<dyn Fn((&Api, &BasicGroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.basic_group_full_info
}
pub fn call_id(&self) -> &Option<Arc<dyn Fn((&Api, &CallId)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.call_id
}
pub fn callback_query_answer(&self) -> &Option<Arc<dyn Fn((&Api, &CallbackQueryAnswer)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.callback_query_answer
}
pub fn chat(&self) -> &Option<Arc<dyn Fn((&Api, &Chat)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chat
}
pub fn chat_events(&self) -> &Option<Arc<dyn Fn((&Api, &ChatEvents)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chat_events
}
pub fn chat_invite_link(&self) -> &Option<Arc<dyn Fn((&Api, &ChatInviteLink)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chat_invite_link
}
pub fn chat_invite_link_info(&self) -> &Option<Arc<dyn Fn((&Api, &ChatInviteLinkInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chat_invite_link_info
}
pub fn chat_member(&self) -> &Option<Arc<dyn Fn((&Api, &ChatMember)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chat_member
}
pub fn chat_members(&self) -> &Option<Arc<dyn Fn((&Api, &ChatMembers)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chat_members
}
pub fn chat_report_spam_state(&self) -> &Option<Arc<dyn Fn((&Api, &ChatReportSpamState)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chat_report_spam_state
}
pub fn chats(&self) -> &Option<Arc<dyn Fn((&Api, &Chats)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.chats
}
pub fn connected_websites(&self) -> &Option<Arc<dyn Fn((&Api, &ConnectedWebsites)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.connected_websites
}
pub fn count(&self) -> &Option<Arc<dyn Fn((&Api, &Count)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.count
}
pub fn custom_request_result(&self) -> &Option<Arc<dyn Fn((&Api, &CustomRequestResult)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.custom_request_result
}
pub fn database_statistics(&self) -> &Option<Arc<dyn Fn((&Api, &DatabaseStatistics)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.database_statistics
}
pub fn deep_link_info(&self) -> &Option<Arc<dyn Fn((&Api, &DeepLinkInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.deep_link_info
}
pub fn email_address_authentication_code_info(&self) -> &Option<Arc<dyn Fn((&Api, &EmailAddressAuthenticationCodeInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.email_address_authentication_code_info
}
pub fn emojis(&self) -> &Option<Arc<dyn Fn((&Api, &Emojis)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.emojis
}
pub fn error(&self) -> &Option<Arc<dyn Fn((&Api, &Error)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.error
}
pub fn file(&self) -> &Option<Arc<dyn Fn((&Api, &File)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.file
}
pub fn file_part(&self) -> &Option<Arc<dyn Fn((&Api, &FilePart)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.file_part
}
pub fn formatted_text(&self) -> &Option<Arc<dyn Fn((&Api, &FormattedText)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.formatted_text
}
pub fn found_messages(&self) -> &Option<Arc<dyn Fn((&Api, &FoundMessages)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.found_messages
}
pub fn game_high_scores(&self) -> &Option<Arc<dyn Fn((&Api, &GameHighScores)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.game_high_scores
}
pub fn hashtags(&self) -> &Option<Arc<dyn Fn((&Api, &Hashtags)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.hashtags
}
pub fn http_url(&self) -> &Option<Arc<dyn Fn((&Api, &HttpUrl)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.http_url
}
pub fn imported_contacts(&self) -> &Option<Arc<dyn Fn((&Api, &ImportedContacts)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.imported_contacts
}
pub fn inline_query_results(&self) -> &Option<Arc<dyn Fn((&Api, &InlineQueryResults)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.inline_query_results
}
pub fn language_pack_info(&self) -> &Option<Arc<dyn Fn((&Api, &LanguagePackInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.language_pack_info
}
pub fn language_pack_strings(&self) -> &Option<Arc<dyn Fn((&Api, &LanguagePackStrings)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.language_pack_strings
}
pub fn localization_target_info(&self) -> &Option<Arc<dyn Fn((&Api, &LocalizationTargetInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.localization_target_info
}
pub fn log_tags(&self) -> &Option<Arc<dyn Fn((&Api, &LogTags)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.log_tags
}
pub fn log_verbosity_level(&self) -> &Option<Arc<dyn Fn((&Api, &LogVerbosityLevel)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.log_verbosity_level
}
pub fn message(&self) -> &Option<Arc<dyn Fn((&Api, &Message)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.message
}
pub fn message_link_info(&self) -> &Option<Arc<dyn Fn((&Api, &MessageLinkInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.message_link_info
}
pub fn messages(&self) -> &Option<Arc<dyn Fn((&Api, &Messages)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.messages
}
pub fn network_statistics(&self) -> &Option<Arc<dyn Fn((&Api, &NetworkStatistics)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.network_statistics
}
pub fn ok(&self) -> &Option<Arc<dyn Fn((&Api, &Ok)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.ok
}
pub fn order_info(&self) -> &Option<Arc<dyn Fn((&Api, &OrderInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.order_info
}
pub fn passport_authorization_form(&self) -> &Option<Arc<dyn Fn((&Api, &PassportAuthorizationForm)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.passport_authorization_form
}
pub fn passport_elements(&self) -> &Option<Arc<dyn Fn((&Api, &PassportElements)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.passport_elements
}
pub fn passport_elements_with_errors(&self) -> &Option<Arc<dyn Fn((&Api, &PassportElementsWithErrors)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.passport_elements_with_errors
}
pub fn password_state(&self) -> &Option<Arc<dyn Fn((&Api, &PasswordState)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.password_state
}
pub fn payment_form(&self) -> &Option<Arc<dyn Fn((&Api, &PaymentForm)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.payment_form
}
pub fn payment_receipt(&self) -> &Option<Arc<dyn Fn((&Api, &PaymentReceipt)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.payment_receipt
}
pub fn payment_result(&self) -> &Option<Arc<dyn Fn((&Api, &PaymentResult)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.payment_result
}
pub fn proxies(&self) -> &Option<Arc<dyn Fn((&Api, &Proxies)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.proxies
}
pub fn proxy(&self) -> &Option<Arc<dyn Fn((&Api, &Proxy)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.proxy
}
pub fn public_message_link(&self) -> &Option<Arc<dyn Fn((&Api, &PublicMessageLink)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.public_message_link
}
pub fn push_receiver_id(&self) -> &Option<Arc<dyn Fn((&Api, &PushReceiverId)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.push_receiver_id
}
pub fn recovery_email_address(&self) -> &Option<Arc<dyn Fn((&Api, &RecoveryEmailAddress)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.recovery_email_address
}
pub fn scope_notification_settings(&self) -> &Option<Arc<dyn Fn((&Api, &ScopeNotificationSettings)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.scope_notification_settings
}
pub fn seconds(&self) -> &Option<Arc<dyn Fn((&Api, &Seconds)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.seconds
}
pub fn secret_chat(&self) -> &Option<Arc<dyn Fn((&Api, &SecretChat)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.secret_chat
}
pub fn sessions(&self) -> &Option<Arc<dyn Fn((&Api, &Sessions)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.sessions
}
pub fn sticker_set(&self) -> &Option<Arc<dyn Fn((&Api, &StickerSet)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.sticker_set
}
pub fn sticker_sets(&self) -> &Option<Arc<dyn Fn((&Api, &StickerSets)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.sticker_sets
}
pub fn stickers(&self) -> &Option<Arc<dyn Fn((&Api, &Stickers)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.stickers
}
pub fn storage_statistics(&self) -> &Option<Arc<dyn Fn((&Api, &StorageStatistics)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.storage_statistics
}
pub fn storage_statistics_fast(&self) -> &Option<Arc<dyn Fn((&Api, &StorageStatisticsFast)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.storage_statistics_fast
}
pub fn supergroup(&self) -> &Option<Arc<dyn Fn((&Api, &Supergroup)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.supergroup
}
pub fn supergroup_full_info(&self) -> &Option<Arc<dyn Fn((&Api, &SupergroupFullInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.supergroup_full_info
}
pub fn t_me_urls(&self) -> &Option<Arc<dyn Fn((&Api, &TMeUrls)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.t_me_urls
}
pub fn temporary_password_state(&self) -> &Option<Arc<dyn Fn((&Api, &TemporaryPasswordState)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.temporary_password_state
}
pub fn test_bytes(&self) -> &Option<Arc<dyn Fn((&Api, &TestBytes)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_bytes
}
pub fn test_int(&self) -> &Option<Arc<dyn Fn((&Api, &TestInt)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_int
}
pub fn test_string(&self) -> &Option<Arc<dyn Fn((&Api, &TestString)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_string
}
pub fn test_vector_int(&self) -> &Option<Arc<dyn Fn((&Api, &TestVectorInt)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_vector_int
}
pub fn test_vector_int_object(&self) -> &Option<Arc<dyn Fn((&Api, &TestVectorIntObject)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_vector_int_object
}
pub fn test_vector_string(&self) -> &Option<Arc<dyn Fn((&Api, &TestVectorString)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_vector_string
}
pub fn test_vector_string_object(&self) -> &Option<Arc<dyn Fn((&Api, &TestVectorStringObject)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.test_vector_string_object
}
pub fn text(&self) -> &Option<Arc<dyn Fn((&Api, &Text)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.text
}
pub fn text_entities(&self) -> &Option<Arc<dyn Fn((&Api, &TextEntities)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.text_entities
}
pub fn updates(&self) -> &Option<Arc<dyn Fn((&Api, &Updates)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.updates
}
pub fn user(&self) -> &Option<Arc<dyn Fn((&Api, &User)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.user
}
pub fn user_full_info(&self) -> &Option<Arc<dyn Fn((&Api, &UserFullInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.user_full_info
}
pub fn user_privacy_setting_rules(&self) -> &Option<Arc<dyn Fn((&Api, &UserPrivacySettingRules)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.user_privacy_setting_rules
}
pub fn user_profile_photos(&self) -> &Option<Arc<dyn Fn((&Api, &UserProfilePhotos)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.user_profile_photos
}
pub fn users(&self) -> &Option<Arc<dyn Fn((&Api, &Users)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.users
}
pub fn validated_order_info(&self) -> &Option<Arc<dyn Fn((&Api, &ValidatedOrderInfo)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.validated_order_info
}
pub fn web_page(&self) -> &Option<Arc<dyn Fn((&Api, &WebPage)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.web_page
}
pub fn web_page_instant_view(&self) -> &Option<Arc<dyn Fn((&Api, &WebPageInstantView)) -> TGResult<()> + Send + Sync + 'static>> {
&self.listener.web_page_instant_view
}
}