{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE TemplateHaskell #-} -- | TD API function call arguments module TDLib.Generated.FunArgs where import Data.ByteString.Base64.Type import GHC.Generics import Language.Haskell.Codegen.TH import Language.TL.I64 import TDLib.Generated.Types -- | Parameter of Function getAuthorizationState data GetAuthorizationState = -- | Returns the current authorization state; this is an offline request. For informational purposes only. Use updateAuthorizationState instead to maintain the current authorization state GetAuthorizationState { } deriving (Show, Eq, Generic) -- | Parameter of Function setTdlibParameters data SetTdlibParameters = -- | Sets the parameters for TDLib initialization. Works only when the current authorization state is authorizationStateWaitTdlibParameters SetTdlibParameters { -- | Parameters parameters :: TdlibParameters } deriving (Show, Eq, Generic) -- | Parameter of Function checkDatabaseEncryptionKey data CheckDatabaseEncryptionKey = -- | Checks the database encryption key for correctness. Works only when the current authorization state is authorizationStateWaitEncryptionKey CheckDatabaseEncryptionKey { -- | Encryption key to check or set up encryption_key :: ByteString64 } deriving (Show, Eq, Generic) -- | Parameter of Function setAuthenticationPhoneNumber data SetAuthenticationPhoneNumber = -- | Sets the phone number of the user and sends an authentication code to the user. Works only when the current authorization state is authorizationStateWaitPhoneNumber, SetAuthenticationPhoneNumber { -- | The phone number of the user, in international format phone_number :: T, -- | Settings for the authentication of the user's phone number settings :: PhoneNumberAuthenticationSettings } deriving (Show, Eq, Generic) -- | Parameter of Function resendAuthenticationCode data ResendAuthenticationCode = -- | Re-sends an authentication code to the user. Works only when the current authorization state is authorizationStateWaitCode and the next_code_type of the result is not null ResendAuthenticationCode { } deriving (Show, Eq, Generic) -- | Parameter of Function checkAuthenticationCode data CheckAuthenticationCode = -- | Checks the authentication code. Works only when the current authorization state is authorizationStateWaitCode CheckAuthenticationCode { -- | The verification code received via SMS, Telegram message, phone call, or flash call code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function requestQrCodeAuthentication data RequestQrCodeAuthentication = -- | Requests QR code authentication by scanning a QR code on another logged in device. Works only when the current authorization state is authorizationStateWaitPhoneNumber RequestQrCodeAuthentication { -- | List of user identifiers of other users currently using the client other_user_ids :: ([]) (I32) } deriving (Show, Eq, Generic) -- | Parameter of Function registerUser data RegisterUser = -- | Finishes user registration. Works only when the current authorization state is authorizationStateWaitRegistration RegisterUser { -- | The first name of the user; 1-64 characters first_name :: T, -- | The last name of the user; 0-64 characters last_name :: T } deriving (Show, Eq, Generic) -- | Parameter of Function checkAuthenticationPassword data CheckAuthenticationPassword = -- | Checks the authentication password for correctness. Works only when the current authorization state is authorizationStateWaitPassword CheckAuthenticationPassword { -- | The password to check password :: T } deriving (Show, Eq, Generic) -- | Parameter of Function requestAuthenticationPasswordRecovery data RequestAuthenticationPasswordRecovery = -- | Requests to send a password recovery code to an email address that was previously set up. Works only when the current authorization state is authorizationStateWaitPassword RequestAuthenticationPasswordRecovery { } deriving (Show, Eq, Generic) -- | Parameter of Function recoverAuthenticationPassword data RecoverAuthenticationPassword = -- | Recovers the password with a password recovery code sent to an email address that was previously set up. Works only when the current authorization state is authorizationStateWaitPassword RecoverAuthenticationPassword { -- | Recovery code to check recovery_code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function checkAuthenticationBotToken data CheckAuthenticationBotToken = -- | Checks the authentication token of a bot; to log in as a bot. Works only when the current authorization state is authorizationStateWaitPhoneNumber. Can be used instead of setAuthenticationPhoneNumber and checkAuthenticationCode to log in CheckAuthenticationBotToken { -- | The bot token token :: T } deriving (Show, Eq, Generic) -- | Parameter of Function logOut data LogOut = -- | Closes the TDLib instance after a proper logout. Requires an available network connection. All local data will be destroyed. After the logout completes, updateAuthorizationState with authorizationStateClosed will be sent LogOut { } deriving (Show, Eq, Generic) -- | Parameter of Function close data Close = -- | Closes the TDLib instance. All databases will be flushed to disk and properly closed. After the close completes, updateAuthorizationState with authorizationStateClosed will be sent Close { } deriving (Show, Eq, Generic) -- | Parameter of Function destroy data Destroy = -- | Closes the TDLib instance, destroying all local data without a proper logout. The current user session will remain in the list of all active sessions. All local data will be destroyed. After the destruction completes updateAuthorizationState with authorizationStateClosed will be sent Destroy { } deriving (Show, Eq, Generic) -- | Parameter of Function confirmQrCodeAuthentication data ConfirmQrCodeAuthentication = -- | Confirms QR code authentication on another device. Returns created session on success ConfirmQrCodeAuthentication { -- | A link from a QR code. The link must be scanned by the in-app camera link :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getCurrentState data GetCurrentState = -- | Returns all updates needed to restore current TDLib state, i.e. all actual UpdateAuthorizationState/UpdateUser/UpdateNewChat and others. This is especially useful if TDLib is run in a separate process. This is an offline method. Can be called before authorization GetCurrentState { } deriving (Show, Eq, Generic) -- | Parameter of Function setDatabaseEncryptionKey data SetDatabaseEncryptionKey = -- | Changes the database encryption key. Usually the encryption key is never changed and is stored in some OS keychain SetDatabaseEncryptionKey { -- | New encryption key new_encryption_key :: ByteString64 } deriving (Show, Eq, Generic) -- | Parameter of Function getPasswordState data GetPasswordState = -- | Returns the current state of 2-step verification GetPasswordState { } deriving (Show, Eq, Generic) -- | Parameter of Function setPassword data SetPassword = -- | Changes the password for the user. If a new recovery email address is specified, then the change will not be applied until the new recovery email address is confirmed SetPassword { -- | Previous password of the user old_password :: T, -- | New password of the user; may be empty to remove the password new_password :: T, -- | New password hint; may be empty new_hint :: T, -- | Pass true if the recovery email address should be changed set_recovery_email_address :: Bool, -- | New recovery email address; may be empty new_recovery_email_address :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getRecoveryEmailAddress data GetRecoveryEmailAddress = -- | Returns a 2-step verification recovery email address that was previously set up. This method can be used to verify a password provided by the user GetRecoveryEmailAddress { -- | The password for the current user password :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setRecoveryEmailAddress data SetRecoveryEmailAddress = -- | Changes the 2-step verification recovery email address of the user. If a new recovery email address is specified, then the change will not be applied until the new recovery email address is confirmed. SetRecoveryEmailAddress { password :: T, new_recovery_email_address :: T } deriving (Show, Eq, Generic) -- | Parameter of Function checkRecoveryEmailAddressCode data CheckRecoveryEmailAddressCode = -- | Checks the 2-step verification recovery email address verification code CheckRecoveryEmailAddressCode { -- | Verification code code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function resendRecoveryEmailAddressCode data ResendRecoveryEmailAddressCode = -- | Resends the 2-step verification recovery email address verification code ResendRecoveryEmailAddressCode { } deriving (Show, Eq, Generic) -- | Parameter of Function requestPasswordRecovery data RequestPasswordRecovery = -- | Requests to send a password recovery code to an email address that was previously set up RequestPasswordRecovery { } deriving (Show, Eq, Generic) -- | Parameter of Function recoverPassword data RecoverPassword = -- | Recovers the password using a recovery code sent to an email address that was previously set up RecoverPassword { -- | Recovery code to check recovery_code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function createTemporaryPassword data CreateTemporaryPassword = -- | Creates a new temporary password for processing payments CreateTemporaryPassword { -- | Persistent user password password :: T, -- | Time during which the temporary password will be valid, in seconds; should be between 60 and 86400 valid_for :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getTemporaryPasswordState data GetTemporaryPasswordState = -- | Returns information about the current temporary password GetTemporaryPasswordState { } deriving (Show, Eq, Generic) -- | Parameter of Function getMe data GetMe = -- | Returns the current user GetMe { } deriving (Show, Eq, Generic) -- | Parameter of Function getUser data GetUser = -- | Returns information about a user by their identifier. This is an offline request if the current user is not a bot GetUser { -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getUserFullInfo data GetUserFullInfo = -- | Returns full information about a user by their identifier GetUserFullInfo { -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getBasicGroup data GetBasicGroup = -- | Returns information about a basic group by its identifier. This is an offline request if the current user is not a bot GetBasicGroup { -- | Basic group identifier basic_group_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getBasicGroupFullInfo data GetBasicGroupFullInfo = -- | Returns full information about a basic group by its identifier GetBasicGroupFullInfo { -- | Basic group identifier basic_group_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getSupergroup data GetSupergroup = -- | Returns information about a supergroup or a channel by its identifier. This is an offline request if the current user is not a bot GetSupergroup { -- | Supergroup or channel identifier supergroup_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getSupergroupFullInfo data GetSupergroupFullInfo = -- | Returns full information about a supergroup or a channel by its identifier, cached for up to 1 minute GetSupergroupFullInfo { -- | Supergroup or channel identifier supergroup_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getSecretChat data GetSecretChat = -- | Returns information about a secret chat by its identifier. This is an offline request GetSecretChat { -- | Secret chat identifier secret_chat_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getChat data GetChat = -- | Returns information about a chat by its identifier, this is an offline request if the current user is not a bot GetChat { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getMessage data GetMessage = -- | Returns information about a message GetMessage { -- | Identifier of the chat the message belongs to chat_id :: I53, -- | Identifier of the message to get message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getMessageLocally data GetMessageLocally = -- | Returns information about a message, if it is available locally without sending network request. This is an offline request GetMessageLocally { -- | Identifier of the chat the message belongs to chat_id :: I53, -- | Identifier of the message to get message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getRepliedMessage data GetRepliedMessage = -- | Returns information about a message that is replied by given message GetRepliedMessage { -- | Identifier of the chat the message belongs to chat_id :: I53, -- | Identifier of the message reply to which get message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getChatPinnedMessage data GetChatPinnedMessage = -- | Returns information about a pinned chat message GetChatPinnedMessage { -- | Identifier of the chat the message belongs to chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getMessages data GetMessages = -- | Returns information about messages. If a message is not found, returns null on the corresponding position of the result GetMessages { -- | Identifier of the chat the messages belong to chat_id :: I53, -- | Identifiers of the messages to get message_ids :: ([]) (I53) } deriving (Show, Eq, Generic) -- | Parameter of Function getFile data GetFile = -- | Returns information about a file; this is an offline request GetFile { -- | Identifier of the file to get file_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getRemoteFile data GetRemoteFile = -- | Returns information about a file by its remote ID; this is an offline request. Can be used to register a URL as a file for further uploading, or sending as a message. Even the request succeeds, the file can be used only if it is still accessible to the user. GetRemoteFile { -- | Remote identifier of the file to get remote_file_id :: T, -- | File type, if known file_type :: FileType } deriving (Show, Eq, Generic) -- | Parameter of Function getChats data GetChats = -- | Returns an ordered list of chats in a chat list. Chats are sorted by the pair (order, chat_id) in decreasing order. (For example, to get a list of chats from the beginning, the offset_order should be equal to a biggest signed 64-bit number 9223372036854775807 == 2^63 - 1). GetChats { -- | The chat list in which to return chats chat_list :: ChatList, -- | Chat order to return chats from offset_order :: I64, -- | Chat identifier to return chats from offset_chat_id :: I53, -- | The maximum number of chats to be returned. It is possible that fewer chats than the limit are returned even if the end of the list is not reached limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function searchPublicChat data SearchPublicChat = -- | Searches a public chat by its username. Currently only private chats, supergroups and channels can be public. Returns the chat if found; otherwise an error is returned SearchPublicChat { -- | Username to be resolved username :: T } deriving (Show, Eq, Generic) -- | Parameter of Function searchPublicChats data SearchPublicChats = -- | Searches public chats by looking for specified query in their username and title. Currently only private chats, supergroups and channels can be public. Returns a meaningful number of results. Returns nothing if the length of the searched username prefix is less than 5. Excludes private chats with contacts and chats from the chat list from the results SearchPublicChats { -- | Query to search for query :: T } deriving (Show, Eq, Generic) -- | Parameter of Function searchChats data SearchChats = -- | Searches for the specified query in the title and username of already known chats, this is an offline request. Returns chats in the order seen in the chat list SearchChats { -- | Query to search for. If the query is empty, returns up to 20 recently found chats query :: T, -- | The maximum number of chats to be returned limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function searchChatsOnServer data SearchChatsOnServer = -- | Searches for the specified query in the title and username of already known chats via request to the server. Returns chats in the order seen in the chat list SearchChatsOnServer { -- | Query to search for query :: T, -- | The maximum number of chats to be returned limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function searchChatsNearby data SearchChatsNearby = -- | Returns a list of users and location-based supergroups nearby. The list of users nearby will be updated for 60 seconds after the request by the updates updateUsersNearby. The request should be sent again every 25 seconds with adjusted location to not miss new chats SearchChatsNearby { -- | Current user location location :: Location } deriving (Show, Eq, Generic) -- | Parameter of Function getTopChats data GetTopChats = -- | Returns a list of frequently used chats. Supported only if the chat info database is enabled GetTopChats { -- | Category of chats to be returned category :: TopChatCategory, -- | The maximum number of chats to be returned; up to 30 limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function removeTopChat data RemoveTopChat = -- | Removes a chat from the list of frequently used chats. Supported only if the chat info database is enabled RemoveTopChat { -- | Category of frequently used chats category :: TopChatCategory, -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function addRecentlyFoundChat data AddRecentlyFoundChat = -- | Adds a chat to the list of recently found chats. The chat is added to the beginning of the list. If the chat is already in the list, it will be removed from the list first AddRecentlyFoundChat { -- | Identifier of the chat to add chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function removeRecentlyFoundChat data RemoveRecentlyFoundChat = -- | Removes a chat from the list of recently found chats RemoveRecentlyFoundChat { -- | Identifier of the chat to be removed chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function clearRecentlyFoundChats data ClearRecentlyFoundChats = -- | Clears the list of recently found chats ClearRecentlyFoundChats { } deriving (Show, Eq, Generic) -- | Parameter of Function checkChatUsername data CheckChatUsername = -- | Checks whether a username can be set for a chat CheckChatUsername { -- | Chat identifier; should be identifier of a supergroup chat, or a channel chat, or a private chat with self, or zero if chat is being created chat_id :: I53, -- | Username to be checked username :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getCreatedPublicChats data GetCreatedPublicChats = -- | Returns a list of public chats of the specified type, owned by the user GetCreatedPublicChats { -- | Type of the public chats to return type_ :: PublicChatType } deriving (Show, Eq, Generic) -- | Parameter of Function checkCreatedPublicChatsLimit data CheckCreatedPublicChatsLimit = -- | Checks whether the maximum number of owned public chats has been reached. Returns corresponding error if the limit was reached CheckCreatedPublicChatsLimit { -- | Type of the public chats, for which to check the limit type_ :: PublicChatType } deriving (Show, Eq, Generic) -- | Parameter of Function getSuitableDiscussionChats data GetSuitableDiscussionChats = -- | Returns a list of basic group and supergroup chats, which can be used as a discussion group for a channel. Basic group chats need to be first upgraded to supergroups before they can be set as a discussion group GetSuitableDiscussionChats { } deriving (Show, Eq, Generic) -- | Parameter of Function getInactiveSupergroupChats data GetInactiveSupergroupChats = -- | Returns a list of recently inactive supergroups and channels. Can be used when user reaches limit on the number of joined supergroups and channels and receives CHANNELS_TOO_MUCH error GetInactiveSupergroupChats { } deriving (Show, Eq, Generic) -- | Parameter of Function getGroupsInCommon data GetGroupsInCommon = -- | Returns a list of common group chats with a given user. Chats are sorted by their type and creation date GetGroupsInCommon { -- | User identifier user_id :: I32, -- | Chat identifier starting from which to return chats; use 0 for the first request offset_chat_id :: I53, -- | The maximum number of chats to be returned; up to 100 limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getChatHistory data GetChatHistory = -- | Returns messages in a chat. The messages are returned in a reverse chronological order (i.e., in order of decreasing message_id). GetChatHistory { -- | Chat identifier chat_id :: I53, -- | Identifier of the message starting from which history must be fetched; use 0 to get results from the last message from_message_id :: I53, -- | Specify 0 to get results from exactly the from_message_id or a negative offset up to 99 to get additionally some newer messages offset :: I32, -- | The maximum number of messages to be returned; must be positive and can't be greater than 100. If the offset is negative, the limit must be greater or equal to -offset. Fewer messages may be returned than specified by the limit, even if the end of the message history has not been reached limit :: I32, -- | If true, returns only messages that are available locally without sending network requests only_local :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function deleteChatHistory data DeleteChatHistory = -- | Deletes all messages in the chat. Use Chat.can_be_deleted_only_for_self and Chat.can_be_deleted_for_all_users fields to find whether and how the method can be applied to the chat DeleteChatHistory { -- | Chat identifier chat_id :: I53, -- | Pass true if the chat should be removed from the chat list remove_from_chat_list :: Bool, -- | Pass true to try to delete chat history for all users revoke :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function searchChatMessages data SearchChatMessages = -- | Searches for messages with given words in the chat. Returns the results in reverse chronological order, i.e. in order of decreasing message_id. Cannot be used in secret chats with a non-empty query SearchChatMessages { -- | Identifier of the chat in which to search messages chat_id :: I53, -- | Query to search for query :: T, -- | If not 0, only messages sent by the specified user will be returned. Not supported in secret chats sender_user_id :: I32, -- | Identifier of the message starting from which history must be fetched; use 0 to get results from the last message from_message_id :: I53, -- | Specify 0 to get results from exactly the from_message_id or a negative offset to get the specified message and some newer messages offset :: I32, -- | The maximum number of messages to be returned; must be positive and can't be greater than 100. If the offset is negative, the limit must be greater than -offset. Fewer messages may be returned than specified by the limit, even if the end of the message history has not been reached limit :: I32, -- | Filter for message content in the search results filter :: SearchMessagesFilter } deriving (Show, Eq, Generic) -- | Parameter of Function searchMessages data SearchMessages = -- | Searches for messages in all chats except secret chats. Returns the results in reverse chronological order (i.e., in order of decreasing (date, chat_id, message_id)). SearchMessages { -- | Chat list in which to search messages; pass null to search in all chats regardless of their chat list chat_list :: ChatList, -- | Query to search for query :: T, -- | The date of the message starting from which the results should be fetched. Use 0 or any date in the future to get results from the last message offset_date :: I32, -- | The chat identifier of the last found message, or 0 for the first request offset_chat_id :: I53, -- | The message identifier of the last found message, or 0 for the first request offset_message_id :: I53, -- | The maximum number of messages to be returned, up to 100. Fewer messages may be returned than specified by the limit, even if the end of the message history has not been reached limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function searchSecretMessages data SearchSecretMessages = -- | Searches for messages in secret chats. Returns the results in reverse chronological order. For optimal performance the number of returned messages is chosen by the library SearchSecretMessages { -- | Identifier of the chat in which to search. Specify 0 to search in all secret chats chat_id :: I53, -- | Query to search for. If empty, searchChatMessages should be used instead query :: T, -- | The identifier from the result of a previous request, use 0 to get results from the last message from_search_id :: I64, -- | The maximum number of messages to be returned; up to 100. Fewer messages may be returned than specified by the limit, even if the end of the message history has not been reached limit :: I32, -- | A filter for the content of messages in the search results filter :: SearchMessagesFilter } deriving (Show, Eq, Generic) -- | Parameter of Function searchCallMessages data SearchCallMessages = -- | Searches for call messages. Returns the results in reverse chronological order (i. e., in order of decreasing message_id). For optimal performance the number of returned messages is chosen by the library SearchCallMessages { -- | Identifier of the message from which to search; use 0 to get results from the last message from_message_id :: I53, -- | The maximum number of messages to be returned; up to 100. Fewer messages may be returned than specified by the limit, even if the end of the message history has not been reached limit :: I32, -- | If true, returns only messages with missed calls only_missed :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function searchChatRecentLocationMessages data SearchChatRecentLocationMessages = -- | Returns information about the recent locations of chat members that were sent to the chat. Returns up to 1 location message per user SearchChatRecentLocationMessages { -- | Chat identifier chat_id :: I53, -- | The maximum number of messages to be returned limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getActiveLiveLocationMessages data GetActiveLiveLocationMessages = -- | Returns all active live locations that should be updated by the client. The list is persistent across application restarts only if the message database is used GetActiveLiveLocationMessages { } deriving (Show, Eq, Generic) -- | Parameter of Function getChatMessageByDate data GetChatMessageByDate = -- | Returns the last message sent in a chat no later than the specified date GetChatMessageByDate { -- | Chat identifier chat_id :: I53, -- | Point in time (Unix timestamp) relative to which to search for messages date :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getChatMessageCount data GetChatMessageCount = -- | Returns approximate number of messages of the specified type in the chat GetChatMessageCount { -- | Identifier of the chat in which to count messages chat_id :: I53, -- | Filter for message content; searchMessagesFilterEmpty is unsupported in this function filter :: SearchMessagesFilter, -- | If true, returns count that is available locally without sending network requests, returning -1 if the number of messages is unknown return_local :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getChatScheduledMessages data GetChatScheduledMessages = -- | Returns all scheduled messages in a chat. The messages are returned in a reverse chronological order (i.e., in order of decreasing message_id) GetChatScheduledMessages { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function removeNotification data RemoveNotification = -- | Removes an active notification from notification list. Needs to be called only if the notification is removed by the current user RemoveNotification { -- | Identifier of notification group to which the notification belongs notification_group_id :: I32, -- | Identifier of removed notification notification_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function removeNotificationGroup data RemoveNotificationGroup = -- | Removes a group of active notifications. Needs to be called only if the notification group is removed by the current user RemoveNotificationGroup { -- | Notification group identifier notification_group_id :: I32, -- | The maximum identifier of removed notifications max_notification_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getPublicMessageLink data GetPublicMessageLink = -- | Returns a public HTTPS link to a message. Available only for messages in supergroups and channels with a username GetPublicMessageLink { -- | Identifier of the chat to which the message belongs chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | Pass true if a link for a whole media album should be returned for_album :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getMessageLink data GetMessageLink = -- | Returns a private HTTPS link to a message in a chat. Available only for already sent messages in supergroups and channels. The link will work only for members of the chat GetMessageLink { -- | Identifier of the chat to which the message belongs chat_id :: I53, -- | Identifier of the message message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getMessageLinkInfo data GetMessageLinkInfo = -- | Returns information about a public or private message link GetMessageLinkInfo { -- | The message link in the format "https://t.me/c/...", or "tg://privatepost?...", or "https://t.me/username/...", or "tg://resolve?..." url :: T } deriving (Show, Eq, Generic) -- | Parameter of Function sendMessage data SendMessage = -- | Sends a message. Returns the sent message SendMessage { -- | Target chat chat_id :: I53, -- | Identifier of the message to reply to or 0 reply_to_message_id :: I53, -- | Options to be used to send the message options :: SendMessageOptions, -- | Markup for replying to the message; for bots only reply_markup :: ReplyMarkup, -- | The content of the message to be sent input_message_content :: InputMessageContent } deriving (Show, Eq, Generic) -- | Parameter of Function sendMessageAlbum data SendMessageAlbum = -- | Sends messages grouped together into an album. Currently only photo and video messages can be grouped into an album. Returns sent messages SendMessageAlbum { -- | Target chat chat_id :: I53, -- | Identifier of a message to reply to or 0 reply_to_message_id :: I53, -- | Options to be used to send the messages options :: SendMessageOptions, -- | Contents of messages to be sent input_message_contents :: ([]) (InputMessageContent) } deriving (Show, Eq, Generic) -- | Parameter of Function sendBotStartMessage data SendBotStartMessage = -- | Invites a bot to a chat (if it is not yet a member) and sends it the /start command. Bots can't be invited to a private chat other than the chat with the bot. Bots can't be invited to channels (although they can be added as admins) and secret chats. Returns the sent message SendBotStartMessage { -- | Identifier of the bot bot_user_id :: I32, -- | Identifier of the target chat chat_id :: I53, -- | A hidden parameter sent to the bot for deep linking purposes (https://core.telegram.org/bots#deep-linking) parameter :: T } deriving (Show, Eq, Generic) -- | Parameter of Function sendInlineQueryResultMessage data SendInlineQueryResultMessage = -- | Sends the result of an inline query as a message. Returns the sent message. Always clears a chat draft message SendInlineQueryResultMessage { -- | Target chat chat_id :: I53, -- | Identifier of a message to reply to or 0 reply_to_message_id :: I53, -- | Options to be used to send the message options :: SendMessageOptions, -- | Identifier of the inline query query_id :: I64, -- | Identifier of the inline result result_id :: T, -- | If true, there will be no mention of a bot, via which the message is sent. Can be used only for bots GetOption("animation_search_bot_username"), GetOption("photo_search_bot_username") and GetOption("venue_search_bot_username") hide_via_bot :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function forwardMessages data ForwardMessages = -- | Forwards previously sent messages. Returns the forwarded messages in the same order as the message identifiers passed in message_ids. If a message can't be forwarded, null will be returned instead of the message ForwardMessages { -- | Identifier of the chat to which to forward messages chat_id :: I53, -- | Identifier of the chat from which to forward messages from_chat_id :: I53, -- | Identifiers of the messages to forward message_ids :: ([]) (I53), -- | Options to be used to send the messages options :: SendMessageOptions, -- | True, if the messages should be grouped into an album after forwarding. For this to work, no more than 10 messages may be forwarded, and all of them must be photo or video messages as_album :: Bool, -- | True, if content of the messages needs to be copied without links to the original messages. Always true if the messages are forwarded to a secret chat send_copy :: Bool, -- | True, if media captions of message copies needs to be removed. Ignored if send_copy is false remove_caption :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function resendMessages data ResendMessages = -- | Resends messages which failed to send. Can be called only for messages for which messageSendingStateFailed.can_retry is true and after specified in messageSendingStateFailed.retry_after time passed. ResendMessages { -- | Identifier of the chat to send messages chat_id :: I53, -- | Identifiers of the messages to resend. Message identifiers must be in a strictly increasing order message_ids :: ([]) (I53) } deriving (Show, Eq, Generic) -- | Parameter of Function sendChatSetTtlMessage data SendChatSetTtlMessage = -- | Changes the current TTL setting (sets a new self-destruct timer) in a secret chat and sends the corresponding message SendChatSetTtlMessage { -- | Chat identifier chat_id :: I53, -- | New TTL value, in seconds ttl :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function sendChatScreenshotTakenNotification data SendChatScreenshotTakenNotification = -- | Sends a notification about a screenshot taken in a chat. Supported only in private and secret chats SendChatScreenshotTakenNotification { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function addLocalMessage data AddLocalMessage = -- | Adds a local message to a chat. The message is persistent across application restarts only if the message database is used. Returns the added message AddLocalMessage { -- | Target chat chat_id :: I53, -- | Identifier of the user who will be shown as the sender of the message; may be 0 for channel posts sender_user_id :: I32, -- | Identifier of the message to reply to or 0 reply_to_message_id :: I53, -- | Pass true to disable notification for the message disable_notification :: Bool, -- | The content of the message to be added input_message_content :: InputMessageContent } deriving (Show, Eq, Generic) -- | Parameter of Function deleteMessages data DeleteMessages = -- | Deletes messages DeleteMessages { -- | Chat identifier chat_id :: I53, -- | Identifiers of the messages to be deleted message_ids :: ([]) (I53), -- | Pass true to try to delete messages for all chat members. Always true for supergroups, channels and secret chats revoke :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function deleteChatMessagesFromUser data DeleteChatMessagesFromUser = -- | Deletes all messages sent by the specified user to a chat. Supported only for supergroups; requires can_delete_messages administrator privileges DeleteChatMessagesFromUser { -- | Chat identifier chat_id :: I53, -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function editMessageText data EditMessageText = -- | Edits the text of a message (or a text of a game message). Returns the edited message after the edit is completed on the server side EditMessageText { -- | The chat the message belongs to chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | The new message reply markup; for bots only reply_markup :: ReplyMarkup, -- | New text content of the message. Should be of type InputMessageText input_message_content :: InputMessageContent } deriving (Show, Eq, Generic) -- | Parameter of Function editMessageLiveLocation data EditMessageLiveLocation = -- | Edits the message content of a live location. Messages can be edited for a limited period of time specified in the live location. Returns the edited message after the edit is completed on the server side EditMessageLiveLocation { -- | The chat the message belongs to chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | The new message reply markup; for bots only reply_markup :: ReplyMarkup, -- | New location content of the message; may be null. Pass null to stop sharing the live location location :: Location } deriving (Show, Eq, Generic) -- | Parameter of Function editMessageMedia data EditMessageMedia = -- | Edits the content of a message with an animation, an audio, a document, a photo or a video. The media in the message can't be replaced if the message was set to self-destruct. Media can't be replaced by self-destructing media. Media in an album can be edited only to contain a photo or a video. Returns the edited message after the edit is completed on the server side EditMessageMedia { -- | The chat the message belongs to chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | The new message reply markup; for bots only reply_markup :: ReplyMarkup, -- | New content of the message. Must be one of the following types: InputMessageAnimation, InputMessageAudio, InputMessageDocument, InputMessagePhoto or InputMessageVideo input_message_content :: InputMessageContent } deriving (Show, Eq, Generic) -- | Parameter of Function editMessageCaption data EditMessageCaption = -- | Edits the message content caption. Returns the edited message after the edit is completed on the server side EditMessageCaption { -- | The chat the message belongs to chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | The new message reply markup; for bots only reply_markup :: ReplyMarkup, -- | New message content caption; 0-GetOption("message_caption_length_max") characters caption :: FormattedText } deriving (Show, Eq, Generic) -- | Parameter of Function editMessageReplyMarkup data EditMessageReplyMarkup = -- | Edits the message reply markup; for bots only. Returns the edited message after the edit is completed on the server side EditMessageReplyMarkup { -- | The chat the message belongs to chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | The new message reply markup reply_markup :: ReplyMarkup } deriving (Show, Eq, Generic) -- | Parameter of Function editInlineMessageText data EditInlineMessageText = -- | Edits the text of an inline text or game message sent via a bot; for bots only EditInlineMessageText { -- | Inline message identifier inline_message_id :: T, -- | The new message reply markup reply_markup :: ReplyMarkup, -- | New text content of the message. Should be of type InputMessageText input_message_content :: InputMessageContent } deriving (Show, Eq, Generic) -- | Parameter of Function editInlineMessageLiveLocation data EditInlineMessageLiveLocation = -- | Edits the content of a live location in an inline message sent via a bot; for bots only EditInlineMessageLiveLocation { -- | Inline message identifier inline_message_id :: T, -- | The new message reply markup reply_markup :: ReplyMarkup, -- | New location content of the message; may be null. Pass null to stop sharing the live location location :: Location } deriving (Show, Eq, Generic) -- | Parameter of Function editInlineMessageMedia data EditInlineMessageMedia = -- | Edits the content of a message with an animation, an audio, a document, a photo or a video in an inline message sent via a bot; for bots only EditInlineMessageMedia { -- | Inline message identifier inline_message_id :: T, -- | The new message reply markup; for bots only reply_markup :: ReplyMarkup, -- | New content of the message. Must be one of the following types: InputMessageAnimation, InputMessageAudio, InputMessageDocument, InputMessagePhoto or InputMessageVideo input_message_content :: InputMessageContent } deriving (Show, Eq, Generic) -- | Parameter of Function editInlineMessageCaption data EditInlineMessageCaption = -- | Edits the caption of an inline message sent via a bot; for bots only EditInlineMessageCaption { -- | Inline message identifier inline_message_id :: T, -- | The new message reply markup reply_markup :: ReplyMarkup, -- | New message content caption; 0-GetOption("message_caption_length_max") characters caption :: FormattedText } deriving (Show, Eq, Generic) -- | Parameter of Function editInlineMessageReplyMarkup data EditInlineMessageReplyMarkup = -- | Edits the reply markup of an inline message sent via a bot; for bots only EditInlineMessageReplyMarkup { -- | Inline message identifier inline_message_id :: T, -- | The new message reply markup reply_markup :: ReplyMarkup } deriving (Show, Eq, Generic) -- | Parameter of Function editMessageSchedulingState data EditMessageSchedulingState = -- | Edits the time when a scheduled message will be sent. Scheduling state of all messages in the same album or forwarded together with the message will be also changed EditMessageSchedulingState { -- | The chat the message belongs to chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | The new message scheduling state. Pass null to send the message immediately scheduling_state :: MessageSchedulingState } deriving (Show, Eq, Generic) -- | Parameter of Function getTextEntities data GetTextEntities = -- | Returns all entities (mentions, hashtags, cashtags, bot commands, bank card numbers, URLs, and email addresses) contained in the text. This is an offline method. Can be called before authorization. Can be called synchronously GetTextEntities { -- | The text in which to look for entites text :: T } deriving (Show, Eq, Generic) -- | Parameter of Function parseTextEntities data ParseTextEntities = -- | Parses Bold, Italic, Underline, Strikethrough, Code, Pre, PreCode, TextUrl and MentionName entities contained in the text. This is an offline method. Can be called before authorization. Can be called synchronously ParseTextEntities { -- | The text to parse text :: T, -- | Text parse mode parse_mode :: TextParseMode } deriving (Show, Eq, Generic) -- | Parameter of Function parseMarkdown data ParseMarkdown = -- | Parses Markdown entities in a human-friendly format, ignoring mark up errors. This is an offline method. Can be called before authorization. Can be called synchronously ParseMarkdown { -- | The text to parse. For example, "__italic__ ~~strikethrough~~ **bold** `code` ```pre``` __[italic__ text_url](telegram.org) __italic**bold italic__bold**" text :: FormattedText } deriving (Show, Eq, Generic) -- | Parameter of Function getMarkdownText data GetMarkdownText = -- | Replaces text entities with Markdown formatting in a human-friendly format. Entities that can't be represented in Markdown unambiguously are kept as is. This is an offline method. Can be called before authorization. Can be called synchronously GetMarkdownText { -- | The text text :: FormattedText } deriving (Show, Eq, Generic) -- | Parameter of Function getFileMimeType data GetFileMimeType = -- | Returns the MIME type of a file, guessed by its extension. Returns an empty string on failure. This is an offline method. Can be called before authorization. Can be called synchronously GetFileMimeType { -- | The name of the file or path to the file file_name :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getFileExtension data GetFileExtension = -- | Returns the extension of a file, guessed by its MIME type. Returns an empty string on failure. This is an offline method. Can be called before authorization. Can be called synchronously GetFileExtension { -- | The MIME type of the file mime_type :: T } deriving (Show, Eq, Generic) -- | Parameter of Function cleanFileName data CleanFileName = -- | Removes potentially dangerous characters from the name of a file. The encoding of the file name is supposed to be UTF-8. Returns an empty string on failure. This is an offline method. Can be called before authorization. Can be called synchronously CleanFileName { -- | File name or path to the file file_name :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getLanguagePackString data GetLanguagePackString = -- | Returns a string stored in the local database from the specified localization target and language pack by its key. Returns a 404 error if the string is not found. This is an offline method. Can be called before authorization. Can be called synchronously GetLanguagePackString { -- | Path to the language pack database in which strings are stored language_pack_database_path :: T, -- | Localization target to which the language pack belongs localization_target :: T, -- | Language pack identifier language_pack_id :: T, -- | Language pack key of the string to be returned key :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getJsonValue data GetJsonValue = -- | Converts a JSON-serialized string to corresponding JsonValue object. This is an offline method. Can be called before authorization. Can be called synchronously GetJsonValue { -- | The JSON-serialized string json :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getJsonString data GetJsonString = -- | Converts a JsonValue object to corresponding JSON-serialized string. This is an offline method. Can be called before authorization. Can be called synchronously GetJsonString { -- | The JsonValue object json_value :: JsonValue } deriving (Show, Eq, Generic) -- | Parameter of Function setPollAnswer data SetPollAnswer = -- | Changes the user answer to a poll. A poll in quiz mode can be answered only once SetPollAnswer { -- | Identifier of the chat to which the poll belongs chat_id :: I53, -- | Identifier of the message containing the poll message_id :: I53, -- | 0-based identifiers of answer options, chosen by the user. User can choose more than 1 answer option only is the poll allows multiple answers option_ids :: ([]) (I32) } deriving (Show, Eq, Generic) -- | Parameter of Function getPollVoters data GetPollVoters = -- | Returns users voted for the specified option in a non-anonymous polls. For the optimal performance the number of returned users is chosen by the library GetPollVoters { -- | Identifier of the chat to which the poll belongs chat_id :: I53, -- | Identifier of the message containing the poll message_id :: I53, -- | 0-based identifier of the answer option option_id :: I32, -- | Number of users to skip in the result; must be non-negative offset :: I32, -- | The maximum number of users to be returned; must be positive and can't be greater than 50. Fewer users may be returned than specified by the limit, even if the end of the voter list has not been reached limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function stopPoll data StopPoll = -- | Stops a poll. A poll in a message can be stopped when the message has can_be_edited flag set StopPoll { -- | Identifier of the chat to which the poll belongs chat_id :: I53, -- | Identifier of the message containing the poll message_id :: I53, -- | The new message reply markup; for bots only reply_markup :: ReplyMarkup } deriving (Show, Eq, Generic) -- | Parameter of Function getLoginUrlInfo data GetLoginUrlInfo = -- | Returns information about a button of type inlineKeyboardButtonTypeLoginUrl. The method needs to be called when the user presses the button GetLoginUrlInfo { -- | Chat identifier of the message with the button chat_id :: I53, -- | Message identifier of the message with the button message_id :: I53, -- | Button identifier button_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getLoginUrl data GetLoginUrl = -- | Returns an HTTP URL which can be used to automatically authorize the user on a website after clicking an inline button of type inlineKeyboardButtonTypeLoginUrl. GetLoginUrl { -- | Chat identifier of the message with the button chat_id :: I53, -- | Message identifier of the message with the button message_id :: I53, -- | Button identifier button_id :: I32, -- | True, if the user allowed the bot to send them messages allow_write_access :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getInlineQueryResults data GetInlineQueryResults = -- | Sends an inline query to a bot and returns its results. Returns an error with code 502 if the bot fails to answer the query before the query timeout expires GetInlineQueryResults { -- | The identifier of the target bot bot_user_id :: I32, -- | Identifier of the chat where the query was sent chat_id :: I53, -- | Location of the user, only if needed user_location :: Location, -- | Text of the query query :: T, -- | Offset of the first entry to return offset :: T } deriving (Show, Eq, Generic) -- | Parameter of Function answerInlineQuery data AnswerInlineQuery = -- | Sets the result of an inline query; for bots only AnswerInlineQuery { -- | Identifier of the inline query inline_query_id :: I64, -- | True, if the result of the query can be cached for the specified user is_personal :: Bool, -- | The results of the query results :: ([]) (InputInlineQueryResult), -- | Allowed time to cache the results of the query, in seconds cache_time :: I32, -- | Offset for the next inline query; pass an empty string if there are no more results next_offset :: T, -- | If non-empty, this text should be shown on the button that opens a private chat with the bot and sends a start message to the bot with the parameter switch_pm_parameter switch_pm_text :: T, -- | The parameter for the bot start message switch_pm_parameter :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getCallbackQueryAnswer data GetCallbackQueryAnswer = -- | Sends a callback query to a bot and returns an answer. Returns an error with code 502 if the bot fails to answer the query before the query timeout expires GetCallbackQueryAnswer { -- | Identifier of the chat with the message chat_id :: I53, -- | Identifier of the message from which the query originated message_id :: I53, -- | Query payload payload :: CallbackQueryPayload } deriving (Show, Eq, Generic) -- | Parameter of Function answerCallbackQuery data AnswerCallbackQuery = -- | Sets the result of a callback query; for bots only AnswerCallbackQuery { -- | Identifier of the callback query callback_query_id :: I64, -- | Text of the answer text :: T, -- | If true, an alert should be shown to the user instead of a toast notification show_alert :: Bool, -- | URL to be opened url :: T, -- | Time during which the result of the query can be cached, in seconds cache_time :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function answerShippingQuery data AnswerShippingQuery = -- | Sets the result of a shipping query; for bots only AnswerShippingQuery { -- | Identifier of the shipping query shipping_query_id :: I64, -- | Available shipping options shipping_options :: ([]) (ShippingOption), -- | An error message, empty on success error_message :: T } deriving (Show, Eq, Generic) -- | Parameter of Function answerPreCheckoutQuery data AnswerPreCheckoutQuery = -- | Sets the result of a pre-checkout query; for bots only AnswerPreCheckoutQuery { -- | Identifier of the pre-checkout query pre_checkout_query_id :: I64, -- | An error message, empty on success error_message :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setGameScore data SetGameScore = -- | Updates the game score of the specified user in the game; for bots only SetGameScore { -- | The chat to which the message with the game belongs chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | True, if the message should be edited edit_message :: Bool, -- | User identifier user_id :: I32, -- | The new score score :: I32, -- | Pass true to update the score even if it decreases. If the score is 0, the user will be deleted from the high score table force :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function setInlineGameScore data SetInlineGameScore = -- | Updates the game score of the specified user in a game; for bots only SetInlineGameScore { -- | Inline message identifier inline_message_id :: T, -- | True, if the message should be edited edit_message :: Bool, -- | User identifier user_id :: I32, -- | The new score score :: I32, -- | Pass true to update the score even if it decreases. If the score is 0, the user will be deleted from the high score table force :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getGameHighScores data GetGameHighScores = -- | Returns the high scores for a game and some part of the high score table in the range of the specified user; for bots only GetGameHighScores { -- | The chat that contains the message with the game chat_id :: I53, -- | Identifier of the message message_id :: I53, -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getInlineGameHighScores data GetInlineGameHighScores = -- | Returns game high scores and some part of the high score table in the range of the specified user; for bots only GetInlineGameHighScores { -- | Inline message identifier inline_message_id :: T, -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function deleteChatReplyMarkup data DeleteChatReplyMarkup = -- | Deletes the default reply markup from a chat. Must be called after a one-time keyboard or a ForceReply reply markup has been used. UpdateChatReplyMarkup will be sent if the reply markup will be changed DeleteChatReplyMarkup { -- | Chat identifier chat_id :: I53, -- | The message identifier of the used keyboard message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function sendChatAction data SendChatAction = -- | Sends a notification about user activity in a chat SendChatAction { -- | Chat identifier chat_id :: I53, -- | The action description action :: ChatAction } deriving (Show, Eq, Generic) -- | Parameter of Function openChat data OpenChat = -- | Informs TDLib that the chat is opened by the user. Many useful activities depend on the chat being opened or closed (e.g., in supergroups and channels all updates are received only for opened chats) OpenChat { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function closeChat data CloseChat = -- | Informs TDLib that the chat is closed by the user. Many useful activities depend on the chat being opened or closed CloseChat { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function viewMessages data ViewMessages = -- | Informs TDLib that messages are being viewed by the user. Many useful activities depend on whether the messages are currently being viewed or not (e.g., marking messages as read, incrementing a view counter, updating a view counter, removing deleted messages in supergroups and channels) ViewMessages { -- | Chat identifier chat_id :: I53, -- | The identifiers of the messages being viewed message_ids :: ([]) (I53), -- | True, if messages in closed chats should be marked as read force_read :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function openMessageContent data OpenMessageContent = -- | Informs TDLib that the message content has been opened (e.g., the user has opened a photo, video, document, location or venue, or has listened to an audio file or voice note message). An updateMessageContentOpened update will be generated if something has changed OpenMessageContent { -- | Chat identifier of the message chat_id :: I53, -- | Identifier of the message with the opened content message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function readAllChatMentions data ReadAllChatMentions = -- | Marks all mentions in a chat as read ReadAllChatMentions { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function createPrivateChat data CreatePrivateChat = -- | Returns an existing chat corresponding to a given user CreatePrivateChat { -- | User identifier user_id :: I32, -- | If true, the chat will be created without network request. In this case all information about the chat except its type, title and photo can be incorrect force :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function createBasicGroupChat data CreateBasicGroupChat = -- | Returns an existing chat corresponding to a known basic group CreateBasicGroupChat { -- | Basic group identifier basic_group_id :: I32, -- | If true, the chat will be created without network request. In this case all information about the chat except its type, title and photo can be incorrect force :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function createSupergroupChat data CreateSupergroupChat = -- | Returns an existing chat corresponding to a known supergroup or channel CreateSupergroupChat { -- | Supergroup or channel identifier supergroup_id :: I32, -- | If true, the chat will be created without network request. In this case all information about the chat except its type, title and photo can be incorrect force :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function createSecretChat data CreateSecretChat = -- | Returns an existing chat corresponding to a known secret chat CreateSecretChat { -- | Secret chat identifier secret_chat_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function createNewBasicGroupChat data CreateNewBasicGroupChat = -- | Creates a new basic group and sends a corresponding messageBasicGroupChatCreate. Returns the newly created chat CreateNewBasicGroupChat { -- | Identifiers of users to be added to the basic group user_ids :: ([]) (I32), -- | Title of the new basic group; 1-128 characters title :: T } deriving (Show, Eq, Generic) -- | Parameter of Function createNewSupergroupChat data CreateNewSupergroupChat = -- | Creates a new supergroup or channel and sends a corresponding messageSupergroupChatCreate. Returns the newly created chat CreateNewSupergroupChat { -- | Title of the new chat; 1-128 characters title :: T, -- | True, if a channel chat should be created is_channel :: Bool, -- | Creates a new supergroup or channel and sends a corresponding messageSupergroupChatCreate. Returns the newly created chat description :: T, -- | Chat location if a location-based supergroup is being created location :: ChatLocation } deriving (Show, Eq, Generic) -- | Parameter of Function createNewSecretChat data CreateNewSecretChat = -- | Creates a new secret chat. Returns the newly created chat CreateNewSecretChat { -- | Identifier of the target user user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function upgradeBasicGroupChatToSupergroupChat data UpgradeBasicGroupChatToSupergroupChat = -- | Creates a new supergroup from an existing basic group and sends a corresponding messageChatUpgradeTo and messageChatUpgradeFrom; requires creator privileges. Deactivates the original basic group UpgradeBasicGroupChatToSupergroupChat { -- | Identifier of the chat to upgrade chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function setChatChatList data SetChatChatList = -- | Moves a chat to a different chat list. Current chat list of the chat must ne non-null SetChatChatList { -- | Chat identifier chat_id :: I53, -- | New chat list of the chat. The chat with the current user (Saved Messages) and the chat 777000 (Telegram) can't be moved to the Archive chat list chat_list :: ChatList } deriving (Show, Eq, Generic) -- | Parameter of Function setChatTitle data SetChatTitle = -- | Changes the chat title. Supported only for basic groups, supergroups and channels. Requires can_change_info rights. The title will not be changed until the request to the server has been completed SetChatTitle { -- | Chat identifier chat_id :: I53, -- | New title of the chat; 1-128 characters title :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setChatPhoto data SetChatPhoto = -- | Changes the photo of a chat. Supported only for basic groups, supergroups and channels. Requires can_change_info rights. The photo will not be changed before request to the server has been completed SetChatPhoto { -- | Chat identifier chat_id :: I53, -- | New chat photo. You can use a zero InputFileId to delete the chat photo. Files that are accessible only by HTTP URL are not acceptable photo :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function setChatPermissions data SetChatPermissions = -- | Changes the chat members permissions. Supported only for basic groups and supergroups. Requires can_restrict_members administrator right SetChatPermissions { -- | Chat identifier chat_id :: I53, -- | New non-administrator members permissions in the chat permissions :: ChatPermissions } deriving (Show, Eq, Generic) -- | Parameter of Function setChatDraftMessage data SetChatDraftMessage = -- | Changes the draft message in a chat SetChatDraftMessage { -- | Chat identifier chat_id :: I53, -- | New draft message; may be null draft_message :: DraftMessage } deriving (Show, Eq, Generic) -- | Parameter of Function setChatNotificationSettings data SetChatNotificationSettings = -- | Changes the notification settings of a chat. Notification settings of a chat with the current user (Saved Messages) can't be changed SetChatNotificationSettings { -- | Chat identifier chat_id :: I53, -- | New notification settings for the chat. If the chat is muted for more than 1 week, it is considered to be muted forever notification_settings :: ChatNotificationSettings } deriving (Show, Eq, Generic) -- | Parameter of Function toggleChatIsPinned data ToggleChatIsPinned = -- | Changes the pinned state of a chat. You can pin up to GetOption("pinned_chat_count_max")/GetOption("pinned_archived_chat_count_max") non-secret chats and the same number of secret chats in the main/archive chat list ToggleChatIsPinned { -- | Chat identifier chat_id :: I53, -- | New value of is_pinned is_pinned :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function toggleChatIsMarkedAsUnread data ToggleChatIsMarkedAsUnread = -- | Changes the marked as unread state of a chat ToggleChatIsMarkedAsUnread { -- | Chat identifier chat_id :: I53, -- | New value of is_marked_as_unread is_marked_as_unread :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function toggleChatDefaultDisableNotification data ToggleChatDefaultDisableNotification = -- | Changes the value of the default disable_notification parameter, used when a message is sent to a chat ToggleChatDefaultDisableNotification { -- | Chat identifier chat_id :: I53, -- | New value of default_disable_notification default_disable_notification :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function setChatClientData data SetChatClientData = -- | Changes client data associated with a chat SetChatClientData { -- | Chat identifier chat_id :: I53, -- | New value of client_data client_data :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setChatDescription data SetChatDescription = -- | Changes information about a chat. Available for basic groups, supergroups, and channels. Requires can_change_info rights SetChatDescription { -- | Identifier of the chat chat_id :: I53, -- | Changes information about a chat. Available for basic groups, supergroups, and channels. Requires can_change_info rights description :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setChatDiscussionGroup data SetChatDiscussionGroup = -- | Changes the discussion group of a channel chat; requires can_change_info rights in the channel if it is specified SetChatDiscussionGroup { -- | Identifier of the channel chat. Pass 0 to remove a link from the supergroup passed in the second argument to a linked channel chat (requires can_pin_messages rights in the supergroup) chat_id :: I53, -- | Identifier of a new channel's discussion group. Use 0 to remove the discussion group. discussion_chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function setChatLocation data SetChatLocation = -- | Changes the location of a chat. Available only for some location-based supergroups, use supergroupFullInfo.can_set_location to check whether the method is allowed to use SetChatLocation { -- | Chat identifier chat_id :: I53, -- | New location for the chat; must be valid and not null location :: ChatLocation } deriving (Show, Eq, Generic) -- | Parameter of Function setChatSlowModeDelay data SetChatSlowModeDelay = -- | Changes the slow mode delay of a chat. Available only for supergroups; requires can_restrict_members rights SetChatSlowModeDelay { -- | Chat identifier chat_id :: I53, -- | New slow mode delay for the chat; must be one of 0, 10, 30, 60, 300, 900, 3600 slow_mode_delay :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function pinChatMessage data PinChatMessage = -- | Pins a message in a chat; requires can_pin_messages rights PinChatMessage { -- | Identifier of the chat chat_id :: I53, -- | Identifier of the new pinned message message_id :: I53, -- | True, if there should be no notification about the pinned message disable_notification :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function unpinChatMessage data UnpinChatMessage = -- | Removes the pinned message from a chat; requires can_pin_messages rights in the group or channel UnpinChatMessage { -- | Identifier of the chat chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function joinChat data JoinChat = -- | Adds current user as a new member to a chat. Private and secret chats can't be joined using this method JoinChat { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function leaveChat data LeaveChat = -- | Removes current user from chat members. Private and secret chats can't be left using this method LeaveChat { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function addChatMember data AddChatMember = -- | Adds a new member to a chat. Members can't be added to private or secret chats. Members will not be added until the chat state has been synchronized with the server AddChatMember { -- | Chat identifier chat_id :: I53, -- | Identifier of the user user_id :: I32, -- | The number of earlier messages from the chat to be forwarded to the new member; up to 100. Ignored for supergroups and channels forward_limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function addChatMembers data AddChatMembers = -- | Adds multiple new members to a chat. Currently this option is only available for supergroups and channels. This option can't be used to join a chat. Members can't be added to a channel if it has more than 200 members. Members will not be added until the chat state has been synchronized with the server AddChatMembers { -- | Chat identifier chat_id :: I53, -- | Identifiers of the users to be added to the chat user_ids :: ([]) (I32) } deriving (Show, Eq, Generic) -- | Parameter of Function setChatMemberStatus data SetChatMemberStatus = -- | Changes the status of a chat member, needs appropriate privileges. This function is currently not suitable for adding new members to the chat and transferring chat ownership; instead, use addChatMember or transferChatOwnership. The chat member status will not be changed until it has been synchronized with the server SetChatMemberStatus { -- | Chat identifier chat_id :: I53, -- | User identifier user_id :: I32, -- | The new status of the member in the chat status :: ChatMemberStatus } deriving (Show, Eq, Generic) -- | Parameter of Function canTransferOwnership data CanTransferOwnership = -- | Checks whether the current session can be used to transfer a chat ownership to another user CanTransferOwnership { } deriving (Show, Eq, Generic) -- | Parameter of Function transferChatOwnership data TransferChatOwnership = -- | Changes the owner of a chat. The current user must be a current owner of the chat. Use the method canTransferOwnership to check whether the ownership can be transferred from the current session. Available only for supergroups and channel chats TransferChatOwnership { -- | Chat identifier chat_id :: I53, -- | Identifier of the user to which transfer the ownership. The ownership can't be transferred to a bot or to a deleted user user_id :: I32, -- | The password of the current user password :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getChatMember data GetChatMember = -- | Returns information about a single member of a chat GetChatMember { -- | Chat identifier chat_id :: I53, -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function searchChatMembers data SearchChatMembers = -- | Searches for a specified query in the first name, last name and username of the members of a specified chat. Requires administrator rights in channels SearchChatMembers { -- | Chat identifier chat_id :: I53, -- | Query to search for query :: T, -- | The maximum number of users to be returned limit :: I32, -- | The type of users to return. By default, chatMembersFilterMembers filter :: ChatMembersFilter } deriving (Show, Eq, Generic) -- | Parameter of Function getChatAdministrators data GetChatAdministrators = -- | Returns a list of administrators of the chat with their custom titles GetChatAdministrators { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function clearAllDraftMessages data ClearAllDraftMessages = -- | Clears draft messages in all chats ClearAllDraftMessages { -- | If true, local draft messages in secret chats will not be cleared exclude_secret_chats :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getChatNotificationSettingsExceptions data GetChatNotificationSettingsExceptions = -- | Returns list of chats with non-default notification settings GetChatNotificationSettingsExceptions { -- | If specified, only chats from the specified scope will be returned scope :: NotificationSettingsScope, -- | If true, also chats with non-default sound will be returned compare_sound :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getScopeNotificationSettings data GetScopeNotificationSettings = -- | Returns the notification settings for chats of a given type GetScopeNotificationSettings { -- | Types of chats for which to return the notification settings information scope :: NotificationSettingsScope } deriving (Show, Eq, Generic) -- | Parameter of Function setScopeNotificationSettings data SetScopeNotificationSettings = -- | Changes notification settings for chats of a given type SetScopeNotificationSettings { -- | Types of chats for which to change the notification settings scope :: NotificationSettingsScope, -- | The new notification settings for the given scope notification_settings :: ScopeNotificationSettings } deriving (Show, Eq, Generic) -- | Parameter of Function resetAllNotificationSettings data ResetAllNotificationSettings = -- | Resets all notification settings to their default values. By default, all chats are unmuted, the sound is set to "default" and message previews are shown ResetAllNotificationSettings { } deriving (Show, Eq, Generic) -- | Parameter of Function setPinnedChats data SetPinnedChats = -- | Changes the order of pinned chats SetPinnedChats { -- | Chat list in which to change the order of pinned chats chat_list :: ChatList, -- | The new list of pinned chats chat_ids :: ([]) (I53) } deriving (Show, Eq, Generic) -- | Parameter of Function downloadFile data DownloadFile = -- | Downloads a file from the cloud. Download progress and completion of the download will be notified through updateFile updates DownloadFile { -- | Identifier of the file to download file_id :: I32, -- | Priority of the download (1-32). The higher the priority, the earlier the file will be downloaded. If the priorities of two files are equal, then the last one for which downloadFile was called will be downloaded first priority :: I32, -- | The starting position from which the file should be downloaded offset :: I32, -- | Number of bytes which should be downloaded starting from the "offset" position before the download will be automatically cancelled; use 0 to download without a limit limit :: I32, -- | If false, this request returns file state just after the download has been started. If true, this request returns file state only after synchronous :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getFileDownloadedPrefixSize data GetFileDownloadedPrefixSize = -- | Returns file downloaded prefix size from a given offset GetFileDownloadedPrefixSize { -- | Identifier of the file file_id :: I32, -- | Offset from which downloaded prefix size should be calculated offset :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function cancelDownloadFile data CancelDownloadFile = -- | Stops the downloading of a file. If a file has already been downloaded, does nothing CancelDownloadFile { -- | Identifier of a file to stop downloading file_id :: I32, -- | Pass true to stop downloading only if it hasn't been started, i.e. request hasn't been sent to server only_if_pending :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function uploadFile data UploadFile = -- | Asynchronously uploads a file to the cloud without sending it in a message. updateFile will be used to notify about upload progress and successful completion of the upload. The file will not have a persistent remote identifier until it will be sent in a message UploadFile { -- | File to upload file :: InputFile, -- | File type file_type :: FileType, -- | Priority of the upload (1-32). The higher the priority, the earlier the file will be uploaded. If the priorities of two files are equal, then the first one for which uploadFile was called will be uploaded first priority :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function cancelUploadFile data CancelUploadFile = -- | Stops the uploading of a file. Supported only for files uploaded by using uploadFile. For other files the behavior is undefined CancelUploadFile { -- | Identifier of the file to stop uploading file_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function writeGeneratedFilePart data WriteGeneratedFilePart = -- | Writes a part of a generated file. This method is intended to be used only if the client has no direct access to TDLib's file system, because it is usually slower than a direct write to the destination file WriteGeneratedFilePart { -- | The identifier of the generation process generation_id :: I64, -- | The offset from which to write the data to the file offset :: I32, -- | The data to write data_ :: ByteString64 } deriving (Show, Eq, Generic) -- | Parameter of Function setFileGenerationProgress data SetFileGenerationProgress = -- | Informs TDLib on a file generation progress SetFileGenerationProgress { -- | The identifier of the generation process generation_id :: I64, -- | Expected size of the generated file, in bytes; 0 if unknown expected_size :: I32, -- | The number of bytes already generated local_prefix_size :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function finishFileGeneration data FinishFileGeneration = -- | Finishes the file generation FinishFileGeneration { -- | The identifier of the generation process generation_id :: I64, -- | If set, means that file generation has failed and should be terminated error :: Error } deriving (Show, Eq, Generic) -- | Parameter of Function readFilePart data ReadFilePart = -- | Reads a part of a file from the TDLib file cache and returns read bytes. This method is intended to be used only if the client has no direct access to TDLib's file system, because it is usually slower than a direct read from the file ReadFilePart { -- | Identifier of the file. The file must be located in the TDLib file cache file_id :: I32, -- | The offset from which to read the file offset :: I32, -- | Number of bytes to read. An error will be returned if there are not enough bytes available in the file from the specified position. Pass 0 to read all available data from the specified position count :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function deleteFile data DeleteFile = -- | Deletes a file from the TDLib file cache DeleteFile { -- | Identifier of the file to delete file_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function generateChatInviteLink data GenerateChatInviteLink = -- | Generates a new invite link for a chat; the previously generated link is revoked. Available for basic groups, supergroups, and channels. Requires administrator privileges and can_invite_users right GenerateChatInviteLink { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function checkChatInviteLink data CheckChatInviteLink = -- | Checks the validity of an invite link for a chat and returns information about the corresponding chat CheckChatInviteLink { -- | Invite link to be checked; should begin with "https://t.me/joinchat/", "https://telegram.me/joinchat/", or "https://telegram.dog/joinchat/" invite_link :: T } deriving (Show, Eq, Generic) -- | Parameter of Function joinChatByInviteLink data JoinChatByInviteLink = -- | Uses an invite link to add the current user to the chat if possible. The new member will not be added until the chat state has been synchronized with the server JoinChatByInviteLink { -- | Invite link to import; should begin with "https://t.me/joinchat/", "https://telegram.me/joinchat/", or "https://telegram.dog/joinchat/" invite_link :: T } deriving (Show, Eq, Generic) -- | Parameter of Function createCall data CreateCall = -- | Creates a new call CreateCall { -- | Identifier of the user to be called user_id :: I32, -- | Description of the call protocols supported by the client protocol :: CallProtocol } deriving (Show, Eq, Generic) -- | Parameter of Function acceptCall data AcceptCall = -- | Accepts an incoming call AcceptCall { -- | Call identifier call_id :: I32, -- | Description of the call protocols supported by the client protocol :: CallProtocol } deriving (Show, Eq, Generic) -- | Parameter of Function discardCall data DiscardCall = -- | Discards a call DiscardCall { -- | Call identifier call_id :: I32, -- | True, if the user was disconnected is_disconnected :: Bool, -- | The call duration, in seconds duration :: I32, -- | Identifier of the connection used during the call connection_id :: I64 } deriving (Show, Eq, Generic) -- | Parameter of Function sendCallRating data SendCallRating = -- | Sends a call rating SendCallRating { -- | Call identifier call_id :: I32, -- | Call rating; 1-5 rating :: I32, -- | An optional user comment if the rating is less than 5 comment :: T, -- | List of the exact types of problems with the call, specified by the user problems :: ([]) (CallProblem) } deriving (Show, Eq, Generic) -- | Parameter of Function sendCallDebugInformation data SendCallDebugInformation = -- | Sends debug information for a call SendCallDebugInformation { -- | Call identifier call_id :: I32, -- | Debug information in application-specific format debug_information :: T } deriving (Show, Eq, Generic) -- | Parameter of Function blockUser data BlockUser = -- | Adds a user to the blacklist BlockUser { -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function unblockUser data UnblockUser = -- | Removes a user from the blacklist UnblockUser { -- | User identifier user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getBlockedUsers data GetBlockedUsers = -- | Returns users that were blocked by the current user GetBlockedUsers { -- | Number of users to skip in the result; must be non-negative offset :: I32, -- | The maximum number of users to return; up to 100 limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function addContact data AddContact = -- | Adds a user to the contact list or edits an existing contact by their user identifier AddContact { -- | The contact to add or edit; phone number can be empty and needs to be specified only if known, vCard is ignored contact :: Contact, -- | True, if the new contact needs to be allowed to see current user's phone number. A corresponding rule to userPrivacySettingShowPhoneNumber will be added if needed. Use the field UserFullInfo.need_phone_number_privacy_exception to check whether the current user needs to be asked to share their phone number share_phone_number :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function importContacts data ImportContacts = -- | Adds new contacts or edits existing contacts by their phone numbers; contacts' user identifiers are ignored ImportContacts { -- | The list of contacts to import or edit; contacts' vCard are ignored and are not imported contacts :: ([]) (Contact) } deriving (Show, Eq, Generic) -- | Parameter of Function getContacts data GetContacts = -- | Returns all user contacts GetContacts { } deriving (Show, Eq, Generic) -- | Parameter of Function searchContacts data SearchContacts = -- | Searches for the specified query in the first names, last names and usernames of the known user contacts SearchContacts { -- | Query to search for; may be empty to return all contacts query :: T, -- | The maximum number of users to be returned limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function removeContacts data RemoveContacts = -- | Removes users from the contact list RemoveContacts { -- | Identifiers of users to be deleted user_ids :: ([]) (I32) } deriving (Show, Eq, Generic) -- | Parameter of Function getImportedContactCount data GetImportedContactCount = -- | Returns the total number of imported contacts GetImportedContactCount { } deriving (Show, Eq, Generic) -- | Parameter of Function changeImportedContacts data ChangeImportedContacts = -- | Changes imported contacts using the list of current user contacts saved on the device. Imports newly added contacts and, if at least the file database is enabled, deletes recently deleted contacts. ChangeImportedContacts { contacts :: ([]) (Contact) } deriving (Show, Eq, Generic) -- | Parameter of Function clearImportedContacts data ClearImportedContacts = -- | Clears all imported contacts, contact list remains unchanged ClearImportedContacts { } deriving (Show, Eq, Generic) -- | Parameter of Function sharePhoneNumber data SharePhoneNumber = -- | Shares the phone number of the current user with a mutual contact. Supposed to be called when the user clicks on chatActionBarSharePhoneNumber SharePhoneNumber { -- | Identifier of the user with whom to share the phone number. The user must be a mutual contact user_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getUserProfilePhotos data GetUserProfilePhotos = -- | Returns the profile photos of a user. The result of this query may be outdated: some photos might have been deleted already GetUserProfilePhotos { -- | User identifier user_id :: I32, -- | The number of photos to skip; must be non-negative offset :: I32, -- | The maximum number of photos to be returned; up to 100 limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getStickers data GetStickers = -- | Returns stickers from the installed sticker sets that correspond to a given emoji. If the emoji is not empty, favorite and recently used stickers may also be returned GetStickers { -- | String representation of emoji. If empty, returns all known installed stickers emoji :: T, -- | The maximum number of stickers to be returned limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function searchStickers data SearchStickers = -- | Searches for stickers from public sticker sets that correspond to a given emoji SearchStickers { -- | String representation of emoji; must be non-empty emoji :: T, -- | The maximum number of stickers to be returned limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getInstalledStickerSets data GetInstalledStickerSets = -- | Returns a list of installed sticker sets GetInstalledStickerSets { -- | Pass true to return mask sticker sets; pass false to return ordinary sticker sets is_masks :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getArchivedStickerSets data GetArchivedStickerSets = -- | Returns a list of archived sticker sets GetArchivedStickerSets { -- | Pass true to return mask stickers sets; pass false to return ordinary sticker sets is_masks :: Bool, -- | Identifier of the sticker set from which to return the result offset_sticker_set_id :: I64, -- | The maximum number of sticker sets to return limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getTrendingStickerSets data GetTrendingStickerSets = -- | Returns a list of trending sticker sets. For the optimal performance the number of returned sticker sets is chosen by the library GetTrendingStickerSets { -- | The offset from which to return the sticker sets; must be non-negative offset :: I32, -- | The maximum number of sticker sets to be returned; must be non-negative. Fewer sticker sets may be returned than specified by the limit, even if the end of the list has not been reached limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getAttachedStickerSets data GetAttachedStickerSets = -- | Returns a list of sticker sets attached to a file. Currently only photos and videos can have attached sticker sets GetAttachedStickerSets { -- | File identifier file_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getStickerSet data GetStickerSet = -- | Returns information about a sticker set by its identifier GetStickerSet { -- | Identifier of the sticker set set_id :: I64 } deriving (Show, Eq, Generic) -- | Parameter of Function searchStickerSet data SearchStickerSet = -- | Searches for a sticker set by its name SearchStickerSet { -- | Name of the sticker set name :: T } deriving (Show, Eq, Generic) -- | Parameter of Function searchInstalledStickerSets data SearchInstalledStickerSets = -- | Searches for installed sticker sets by looking for specified query in their title and name SearchInstalledStickerSets { -- | Pass true to return mask sticker sets; pass false to return ordinary sticker sets is_masks :: Bool, -- | Query to search for query :: T, -- | The maximum number of sticker sets to return limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function searchStickerSets data SearchStickerSets = -- | Searches for ordinary sticker sets by looking for specified query in their title and name. Excludes installed sticker sets from the results SearchStickerSets { -- | Query to search for query :: T } deriving (Show, Eq, Generic) -- | Parameter of Function changeStickerSet data ChangeStickerSet = -- | Installs/uninstalls or activates/archives a sticker set ChangeStickerSet { -- | Identifier of the sticker set set_id :: I64, -- | The new value of is_installed is_installed :: Bool, -- | The new value of is_archived. A sticker set can't be installed and archived simultaneously is_archived :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function viewTrendingStickerSets data ViewTrendingStickerSets = -- | Informs the server that some trending sticker sets have been viewed by the user ViewTrendingStickerSets { -- | Identifiers of viewed trending sticker sets sticker_set_ids :: ([]) (I64) } deriving (Show, Eq, Generic) -- | Parameter of Function reorderInstalledStickerSets data ReorderInstalledStickerSets = -- | Changes the order of installed sticker sets ReorderInstalledStickerSets { -- | Pass true to change the order of mask sticker sets; pass false to change the order of ordinary sticker sets is_masks :: Bool, -- | Identifiers of installed sticker sets in the new correct order sticker_set_ids :: ([]) (I64) } deriving (Show, Eq, Generic) -- | Parameter of Function getRecentStickers data GetRecentStickers = -- | Returns a list of recently used stickers GetRecentStickers { -- | Pass true to return stickers and masks that were recently attached to photos or video files; pass false to return recently sent stickers is_attached :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function addRecentSticker data AddRecentSticker = -- | Manually adds a new sticker to the list of recently used stickers. The new sticker is added to the top of the list. If the sticker was already in the list, it is removed from the list first. Only stickers belonging to a sticker set can be added to this list AddRecentSticker { -- | Pass true to add the sticker to the list of stickers recently attached to photo or video files; pass false to add the sticker to the list of recently sent stickers is_attached :: Bool, -- | Sticker file to add sticker :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function removeRecentSticker data RemoveRecentSticker = -- | Removes a sticker from the list of recently used stickers RemoveRecentSticker { -- | Pass true to remove the sticker from the list of stickers recently attached to photo or video files; pass false to remove the sticker from the list of recently sent stickers is_attached :: Bool, -- | Sticker file to delete sticker :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function clearRecentStickers data ClearRecentStickers = -- | Clears the list of recently used stickers ClearRecentStickers { -- | Pass true to clear the list of stickers recently attached to photo or video files; pass false to clear the list of recently sent stickers is_attached :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getFavoriteStickers data GetFavoriteStickers = -- | Returns favorite stickers GetFavoriteStickers { } deriving (Show, Eq, Generic) -- | Parameter of Function addFavoriteSticker data AddFavoriteSticker = -- | Adds a new sticker to the list of favorite stickers. The new sticker is added to the top of the list. If the sticker was already in the list, it is removed from the list first. Only stickers belonging to a sticker set can be added to this list AddFavoriteSticker { -- | Sticker file to add sticker :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function removeFavoriteSticker data RemoveFavoriteSticker = -- | Removes a sticker from the list of favorite stickers RemoveFavoriteSticker { -- | Sticker file to delete from the list sticker :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function getStickerEmojis data GetStickerEmojis = -- | Returns emoji corresponding to a sticker. The list is only for informational purposes, because a sticker is always sent with a fixed emoji from the corresponding Sticker object GetStickerEmojis { -- | Sticker file identifier sticker :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function searchEmojis data SearchEmojis = -- | Searches for emojis by keywords. Supported only if the file database is enabled SearchEmojis { -- | Text to search for text :: T, -- | True, if only emojis, which exactly match text needs to be returned exact_match :: Bool, -- | List of possible IETF language tags of the user's input language; may be empty if unknown input_language_codes :: ([]) (T) } deriving (Show, Eq, Generic) -- | Parameter of Function getEmojiSuggestionsUrl data GetEmojiSuggestionsUrl = -- | Returns an HTTP URL which can be used to automatically log in to the translation platform and suggest new emoji replacements. The URL will be valid for 30 seconds after generation GetEmojiSuggestionsUrl { -- | Language code for which the emoji replacements will be suggested language_code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getSavedAnimations data GetSavedAnimations = -- | Returns saved animations GetSavedAnimations { } deriving (Show, Eq, Generic) -- | Parameter of Function addSavedAnimation data AddSavedAnimation = -- | Manually adds a new animation to the list of saved animations. The new animation is added to the beginning of the list. If the animation was already in the list, it is removed first. Only non-secret video animations with MIME type "video/mp4" can be added to the list AddSavedAnimation { -- | The animation file to be added. Only animations known to the server (i.e. successfully sent via a message) can be added to the list animation :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function removeSavedAnimation data RemoveSavedAnimation = -- | Removes an animation from the list of saved animations RemoveSavedAnimation { -- | Animation file to be removed animation :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function getRecentInlineBots data GetRecentInlineBots = -- | Returns up to 20 recently used inline bots in the order of their last usage GetRecentInlineBots { } deriving (Show, Eq, Generic) -- | Parameter of Function searchHashtags data SearchHashtags = -- | Searches for recently used hashtags by their prefix SearchHashtags { -- | Hashtag prefix to search for prefix :: T, -- | The maximum number of hashtags to be returned limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function removeRecentHashtag data RemoveRecentHashtag = -- | Removes a hashtag from the list of recently used hashtags RemoveRecentHashtag { -- | Hashtag to delete hashtag :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getWebPagePreview data GetWebPagePreview = -- | Returns a web page preview by the text of the message. Do not call this function too often. Returns a 404 error if the web page has no preview GetWebPagePreview { -- | Message text with formatting text :: FormattedText } deriving (Show, Eq, Generic) -- | Parameter of Function getWebPageInstantView data GetWebPageInstantView = -- | Returns an instant view version of a web page if available. Returns a 404 error if the web page has no instant view page GetWebPageInstantView { -- | The web page URL url :: T, -- | If true, the full instant view for the web page will be returned force_full :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function setProfilePhoto data SetProfilePhoto = -- | Uploads a new profile photo for the current user. If something changes, updateUser will be sent SetProfilePhoto { -- | Profile photo to set. inputFileId and inputFileRemote may still be unsupported photo :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function deleteProfilePhoto data DeleteProfilePhoto = -- | Deletes a profile photo. If something changes, updateUser will be sent DeleteProfilePhoto { -- | Identifier of the profile photo to delete profile_photo_id :: I64 } deriving (Show, Eq, Generic) -- | Parameter of Function setName data SetName = -- | Changes the first and last name of the current user. If something changes, updateUser will be sent SetName { -- | The new value of the first name for the user; 1-64 characters first_name :: T, -- | The new value of the optional last name for the user; 0-64 characters last_name :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setBio data SetBio = -- | Changes the bio of the current user SetBio { -- | The new value of the user bio; 0-70 characters without line feeds bio :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setUsername data SetUsername = -- | Changes the username of the current user. If something changes, updateUser will be sent SetUsername { -- | The new value of the username. Use an empty string to remove the username username :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setLocation data SetLocation = -- | Changes the location of the current user. Needs to be called if GetOption("is_location_visible") is true and location changes for more than 1 kilometer SetLocation { -- | The new location of the user location :: Location } deriving (Show, Eq, Generic) -- | Parameter of Function changePhoneNumber data ChangePhoneNumber = -- | Changes the phone number of the user and sends an authentication code to the user's new phone number. On success, returns information about the sent code ChangePhoneNumber { -- | The new phone number of the user in international format phone_number :: T, -- | Settings for the authentication of the user's phone number settings :: PhoneNumberAuthenticationSettings } deriving (Show, Eq, Generic) -- | Parameter of Function resendChangePhoneNumberCode data ResendChangePhoneNumberCode = -- | Re-sends the authentication code sent to confirm a new phone number for the user. Works only if the previously received authenticationCodeInfo next_code_type was not null ResendChangePhoneNumberCode { } deriving (Show, Eq, Generic) -- | Parameter of Function checkChangePhoneNumberCode data CheckChangePhoneNumberCode = -- | Checks the authentication code sent to confirm a new phone number of the user CheckChangePhoneNumberCode { -- | Verification code received by SMS, phone call or flash call code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setCommands data SetCommands = -- | Sets the list of commands supported by the bot; for bots only SetCommands { -- | List of the bot's commands commands :: ([]) (BotCommand) } deriving (Show, Eq, Generic) -- | Parameter of Function getActiveSessions data GetActiveSessions = -- | Returns all active sessions of the current user GetActiveSessions { } deriving (Show, Eq, Generic) -- | Parameter of Function terminateSession data TerminateSession = -- | Terminates a session of the current user TerminateSession { -- | Session identifier session_id :: I64 } deriving (Show, Eq, Generic) -- | Parameter of Function terminateAllOtherSessions data TerminateAllOtherSessions = -- | Terminates all other sessions of the current user TerminateAllOtherSessions { } deriving (Show, Eq, Generic) -- | Parameter of Function getConnectedWebsites data GetConnectedWebsites = -- | Returns all website where the current user used Telegram to log in GetConnectedWebsites { } deriving (Show, Eq, Generic) -- | Parameter of Function disconnectWebsite data DisconnectWebsite = -- | Disconnects website from the current user's Telegram account DisconnectWebsite { -- | Website identifier website_id :: I64 } deriving (Show, Eq, Generic) -- | Parameter of Function disconnectAllWebsites data DisconnectAllWebsites = -- | Disconnects all websites from the current user's Telegram account DisconnectAllWebsites { } deriving (Show, Eq, Generic) -- | Parameter of Function setSupergroupUsername data SetSupergroupUsername = -- | Changes the username of a supergroup or channel, requires owner privileges in the supergroup or channel SetSupergroupUsername { -- | Identifier of the supergroup or channel supergroup_id :: I32, -- | New value of the username. Use an empty string to remove the username username :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setSupergroupStickerSet data SetSupergroupStickerSet = -- | Changes the sticker set of a supergroup; requires can_change_info rights SetSupergroupStickerSet { -- | Identifier of the supergroup supergroup_id :: I32, -- | New value of the supergroup sticker set identifier. Use 0 to remove the supergroup sticker set sticker_set_id :: I64 } deriving (Show, Eq, Generic) -- | Parameter of Function toggleSupergroupSignMessages data ToggleSupergroupSignMessages = -- | Toggles sender signatures messages sent in a channel; requires can_change_info rights ToggleSupergroupSignMessages { -- | Identifier of the channel supergroup_id :: I32, -- | New value of sign_messages sign_messages :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function toggleSupergroupIsAllHistoryAvailable data ToggleSupergroupIsAllHistoryAvailable = -- | Toggles whether the message history of a supergroup is available to new members; requires can_change_info rights ToggleSupergroupIsAllHistoryAvailable { -- | The identifier of the supergroup supergroup_id :: I32, -- | The new value of is_all_history_available is_all_history_available :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function reportSupergroupSpam data ReportSupergroupSpam = -- | Reports some messages from a user in a supergroup as spam; requires administrator rights in the supergroup ReportSupergroupSpam { -- | Supergroup identifier supergroup_id :: I32, -- | User identifier user_id :: I32, -- | Identifiers of messages sent in the supergroup by the user. This list must be non-empty message_ids :: ([]) (I53) } deriving (Show, Eq, Generic) -- | Parameter of Function getSupergroupMembers data GetSupergroupMembers = -- | Returns information about members or banned users in a supergroup or channel. Can be used only if SupergroupFullInfo.can_get_members == true; additionally, administrator privileges may be required for some filters GetSupergroupMembers { -- | Identifier of the supergroup or channel supergroup_id :: I32, -- | The type of users to return. By default, supergroupMembersRecent filter :: SupergroupMembersFilter, -- | Number of users to skip offset :: I32, -- | The maximum number of users be returned; up to 200 limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function deleteSupergroup data DeleteSupergroup = -- | Deletes a supergroup or channel along with all messages in the corresponding chat. This will release the supergroup or channel username and remove all members; requires owner privileges in the supergroup or channel. Chats with more than 1000 members can't be deleted using this method DeleteSupergroup { -- | Identifier of the supergroup or channel supergroup_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function closeSecretChat data CloseSecretChat = -- | Closes a secret chat, effectively transferring its state to secretChatStateClosed CloseSecretChat { -- | Secret chat identifier secret_chat_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getChatEventLog data GetChatEventLog = -- | Returns a list of service actions taken by chat members and administrators in the last 48 hours. Available only for supergroups and channels. Requires administrator rights. Returns results in reverse chronological order (i. e., in order of decreasing event_id) GetChatEventLog { -- | Chat identifier chat_id :: I53, -- | Search query by which to filter events query :: T, -- | Identifier of an event from which to return results. Use 0 to get results from the latest events from_event_id :: I64, -- | The maximum number of events to return; up to 100 limit :: I32, -- | The types of events to return. By default, all types will be returned filters :: ChatEventLogFilters, -- | User identifiers by which to filter events. By default, events relating to all users will be returned user_ids :: ([]) (I32) } deriving (Show, Eq, Generic) -- | Parameter of Function getPaymentForm data GetPaymentForm = -- | Returns an invoice payment form. This method should be called when the user presses inlineKeyboardButtonBuy GetPaymentForm { -- | Chat identifier of the Invoice message chat_id :: I53, -- | Message identifier message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function validateOrderInfo data ValidateOrderInfo = -- | Validates the order information provided by a user and returns the available shipping options for a flexible invoice ValidateOrderInfo { -- | Chat identifier of the Invoice message chat_id :: I53, -- | Message identifier message_id :: I53, -- | The order information, provided by the user order_info :: OrderInfo, -- | True, if the order information can be saved allow_save :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function sendPaymentForm data SendPaymentForm = -- | Sends a filled-out payment form to the bot for final verification SendPaymentForm { -- | Chat identifier of the Invoice message chat_id :: I53, -- | Message identifier message_id :: I53, -- | Identifier returned by ValidateOrderInfo, or an empty string order_info_id :: T, -- | Identifier of a chosen shipping option, if applicable shipping_option_id :: T, -- | The credentials chosen by user for payment credentials :: InputCredentials } deriving (Show, Eq, Generic) -- | Parameter of Function getPaymentReceipt data GetPaymentReceipt = -- | Returns information about a successful payment GetPaymentReceipt { -- | Chat identifier of the PaymentSuccessful message chat_id :: I53, -- | Message identifier message_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getSavedOrderInfo data GetSavedOrderInfo = -- | Returns saved order info, if any GetSavedOrderInfo { } deriving (Show, Eq, Generic) -- | Parameter of Function deleteSavedOrderInfo data DeleteSavedOrderInfo = -- | Deletes saved order info DeleteSavedOrderInfo { } deriving (Show, Eq, Generic) -- | Parameter of Function deleteSavedCredentials data DeleteSavedCredentials = -- | Deletes saved credentials for all payment provider bots DeleteSavedCredentials { } deriving (Show, Eq, Generic) -- | Parameter of Function getSupportUser data GetSupportUser = -- | Returns a user that can be contacted to get support GetSupportUser { } deriving (Show, Eq, Generic) -- | Parameter of Function getBackgrounds data GetBackgrounds = -- | Returns backgrounds installed by the user GetBackgrounds { -- | True, if the backgrounds needs to be ordered for dark theme for_dark_theme :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getBackgroundUrl data GetBackgroundUrl = -- | Constructs a persistent HTTP URL for a background GetBackgroundUrl { -- | Background name name :: T, -- | Background type type_ :: BackgroundType } deriving (Show, Eq, Generic) -- | Parameter of Function searchBackground data SearchBackground = -- | Searches for a background by its name SearchBackground { -- | The name of the background name :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setBackground data SetBackground = -- | Changes the background selected by the user; adds background to the list of installed backgrounds SetBackground { -- | The input background to use, null for filled backgrounds background :: InputBackground, -- | Background type; null for default background. The method will return error 404 if type is null type_ :: BackgroundType, -- | True, if the background is chosen for dark theme for_dark_theme :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function removeBackground data RemoveBackground = -- | Removes background from the list of installed backgrounds RemoveBackground { -- | The background identifier background_id :: I64 } deriving (Show, Eq, Generic) -- | Parameter of Function resetBackgrounds data ResetBackgrounds = -- | Resets list of installed backgrounds to its default value ResetBackgrounds { } deriving (Show, Eq, Generic) -- | Parameter of Function getLocalizationTargetInfo data GetLocalizationTargetInfo = -- | Returns information about the current localization target. This is an offline request if only_local is true. Can be called before authorization GetLocalizationTargetInfo { -- | If true, returns only locally available information without sending network requests only_local :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getLanguagePackInfo data GetLanguagePackInfo = -- | Returns information about a language pack. Returned language pack identifier may be different from a provided one. Can be called before authorization GetLanguagePackInfo { -- | Language pack identifier language_pack_id :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getLanguagePackStrings data GetLanguagePackStrings = -- | Returns strings from a language pack in the current localization target by their keys. Can be called before authorization GetLanguagePackStrings { -- | Language pack identifier of the strings to be returned language_pack_id :: T, -- | Language pack keys of the strings to be returned; leave empty to request all available strings keys :: ([]) (T) } deriving (Show, Eq, Generic) -- | Parameter of Function synchronizeLanguagePack data SynchronizeLanguagePack = -- | Fetches the latest versions of all strings from a language pack in the current localization target from the server. This method doesn't need to be called explicitly for the current used/base language packs. Can be called before authorization SynchronizeLanguagePack { -- | Language pack identifier language_pack_id :: T } deriving (Show, Eq, Generic) -- | Parameter of Function addCustomServerLanguagePack data AddCustomServerLanguagePack = -- | Adds a custom server language pack to the list of installed language packs in current localization target. Can be called before authorization AddCustomServerLanguagePack { -- | Identifier of a language pack to be added; may be different from a name that is used in an "https://t.me/setlanguage/" link language_pack_id :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setCustomLanguagePack data SetCustomLanguagePack = -- | Adds or changes a custom local language pack to the current localization target SetCustomLanguagePack { -- | Information about the language pack. Language pack ID must start with 'X', consist only of English letters, digits and hyphens, and must not exceed 64 characters. Can be called before authorization info :: LanguagePackInfo, -- | Strings of the new language pack strings :: ([]) (LanguagePackString) } deriving (Show, Eq, Generic) -- | Parameter of Function editCustomLanguagePackInfo data EditCustomLanguagePackInfo = -- | Edits information about a custom local language pack in the current localization target. Can be called before authorization EditCustomLanguagePackInfo { -- | New information about the custom local language pack info :: LanguagePackInfo } deriving (Show, Eq, Generic) -- | Parameter of Function setCustomLanguagePackString data SetCustomLanguagePackString = -- | Adds, edits or deletes a string in a custom local language pack. Can be called before authorization SetCustomLanguagePackString { -- | Identifier of a previously added custom local language pack in the current localization target language_pack_id :: T, -- | New language pack string new_string :: LanguagePackString } deriving (Show, Eq, Generic) -- | Parameter of Function deleteLanguagePack data DeleteLanguagePack = -- | Deletes all information about a language pack in the current localization target. The language pack which is currently in use (including base language pack) or is being synchronized can't be deleted. Can be called before authorization DeleteLanguagePack { -- | Identifier of the language pack to delete language_pack_id :: T } deriving (Show, Eq, Generic) -- | Parameter of Function registerDevice data RegisterDevice = -- | Registers the currently used device for receiving push notifications. Returns a globally unique identifier of the push notification subscription RegisterDevice { -- | Device token device_token :: DeviceToken, -- | List of user identifiers of other users currently using the client other_user_ids :: ([]) (I32) } deriving (Show, Eq, Generic) -- | Parameter of Function processPushNotification data ProcessPushNotification = -- | Handles a push notification. Returns error with code 406 if the push notification is not supported and connection to the server is required to fetch new data. Can be called before authorization ProcessPushNotification { -- | JSON-encoded push notification payload with all fields sent by the server, and "google.sent_time" and "google.notification.sound" fields added payload :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getPushReceiverId data GetPushReceiverId = -- | Returns a globally unique push notification subscription identifier for identification of an account, which has received a push notification. This is an offline method. Can be called before authorization. Can be called synchronously GetPushReceiverId { -- | JSON-encoded push notification payload payload :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getRecentlyVisitedTMeUrls data GetRecentlyVisitedTMeUrls = -- | Returns t.me URLs recently visited by a newly registered user GetRecentlyVisitedTMeUrls { -- | Google Play referrer to identify the user referrer :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setUserPrivacySettingRules data SetUserPrivacySettingRules = -- | Changes user privacy settings SetUserPrivacySettingRules { -- | The privacy setting setting :: UserPrivacySetting, -- | The new privacy rules rules :: UserPrivacySettingRules } deriving (Show, Eq, Generic) -- | Parameter of Function getUserPrivacySettingRules data GetUserPrivacySettingRules = -- | Returns the current privacy settings GetUserPrivacySettingRules { -- | The privacy setting setting :: UserPrivacySetting } deriving (Show, Eq, Generic) -- | Parameter of Function getOption data GetOption = -- | Returns the value of an option by its name. (Check the list of available options on https://core.telegram.org/tdlib/options.) Can be called before authorization GetOption { -- | The name of the option name :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setOption data SetOption = -- | Sets the value of an option. (Check the list of available options on https://core.telegram.org/tdlib/options.) Only writable options can be set. Can be called before authorization SetOption { -- | The name of the option name :: T, -- | The new value of the option value :: OptionValue } deriving (Show, Eq, Generic) -- | Parameter of Function setAccountTtl data SetAccountTtl = -- | Changes the period of inactivity after which the account of the current user will automatically be deleted SetAccountTtl { -- | New account TTL ttl :: AccountTtl } deriving (Show, Eq, Generic) -- | Parameter of Function getAccountTtl data GetAccountTtl = -- | Returns the period of inactivity after which the account of the current user will automatically be deleted GetAccountTtl { } deriving (Show, Eq, Generic) -- | Parameter of Function deleteAccount data DeleteAccount = -- | Deletes the account of the current user, deleting all information associated with the user from the server. The phone number of the account can be used to create a new account. Can be called before authorization when the current authorization state is authorizationStateWaitPassword DeleteAccount { -- | The reason why the account was deleted; optional reason :: T } deriving (Show, Eq, Generic) -- | Parameter of Function removeChatActionBar data RemoveChatActionBar = -- | Removes a chat action bar without any other action RemoveChatActionBar { -- | Chat identifier chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function reportChat data ReportChat = -- | Reports a chat to the Telegram moderators. A chat can be reported only from the chat action bar, or if this is a private chats with a bot, a private chat with a user sharing their location, a supergroup, or a channel, since other chats can't be checked by moderators ReportChat { -- | Chat identifier chat_id :: I53, -- | The reason for reporting the chat reason :: ChatReportReason, -- | Identifiers of reported messages, if any message_ids :: ([]) (I53) } deriving (Show, Eq, Generic) -- | Parameter of Function getChatStatisticsUrl data GetChatStatisticsUrl = -- | Returns an HTTP URL with the chat statistics. Currently this method of getting the statistics is disabled and can be deleted in the future GetChatStatisticsUrl { -- | Chat identifier chat_id :: I53, -- | Parameters from "tg://statsrefresh?params=******" link parameters :: T, -- | Pass true if a URL with the dark theme must be returned is_dark :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getChatStatistics data GetChatStatistics = -- | Returns detailed statistics about a chat. Currently this method can be used only for channels. Requires administrator rights in the channel GetChatStatistics { -- | Chat identifier chat_id :: I53, -- | Pass true if a dark theme is used by the app is_dark :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function getChatStatisticsGraph data GetChatStatisticsGraph = -- | Loads asynchronous or zoomed in chat statistics graph GetChatStatisticsGraph { -- | Chat identifier chat_id :: I53, -- | The token for graph loading token :: T, -- | X-value for zoomed in graph or 0 otherwise x :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function getStorageStatistics data GetStorageStatistics = -- | Returns storage usage statistics. Can be called before authorization GetStorageStatistics { -- | The maximum number of chats with the largest storage usage for which separate statistics should be returned. All other chats will be grouped in entries with chat_id == 0. If the chat info database is not used, the chat_limit is ignored and is always set to 0 chat_limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getStorageStatisticsFast data GetStorageStatisticsFast = -- | Quickly returns approximate storage usage statistics. Can be called before authorization GetStorageStatisticsFast { } deriving (Show, Eq, Generic) -- | Parameter of Function getDatabaseStatistics data GetDatabaseStatistics = -- | Returns database statistics GetDatabaseStatistics { } deriving (Show, Eq, Generic) -- | Parameter of Function optimizeStorage data OptimizeStorage = -- | Optimizes storage usage, i.e. deletes some files and returns new storage usage statistics. Secret thumbnails can't be deleted OptimizeStorage { -- | Limit on the total size of files after deletion. Pass -1 to use the default limit size :: I53, -- | Limit on the time that has passed since the last time a file was accessed (or creation time for some filesystems). Pass -1 to use the default limit ttl :: I32, -- | Limit on the total count of files after deletion. Pass -1 to use the default limit count :: I32, -- | The amount of time after the creation of a file during which it can't be deleted, in seconds. Pass -1 to use the default value immunity_delay :: I32, -- | If not empty, only files with the given type(s) are considered. By default, all types except thumbnails, profile photos, stickers and wallpapers are deleted file_types :: ([]) (FileType), -- | If not empty, only files from the given chats are considered. Use 0 as chat identifier to delete files not belonging to any chat (e.g., profile photos) chat_ids :: ([]) (I53), -- | If not empty, files from the given chats are excluded. Use 0 as chat identifier to exclude all files not belonging to any chat (e.g., profile photos) exclude_chat_ids :: ([]) (I53), -- | Pass true if deleted file statistics needs to be returned instead of the whole storage usage statistics. Affects only returned statistics return_deleted_file_statistics :: Bool, -- | Same as in getStorageStatistics. Affects only returned statistics chat_limit :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function setNetworkType data SetNetworkType = -- | Sets the current network type. Can be called before authorization. Calling this method forces all network connections to reopen, mitigating the delay in switching between different networks, so it should be called whenever the network is changed, even if the network type remains the same. SetNetworkType { type_ :: NetworkType } deriving (Show, Eq, Generic) -- | Parameter of Function getNetworkStatistics data GetNetworkStatistics = -- | Returns network data usage statistics. Can be called before authorization GetNetworkStatistics { -- | If true, returns only data for the current library launch only_current :: Bool } deriving (Show, Eq, Generic) -- | Parameter of Function addNetworkStatistics data AddNetworkStatistics = -- | Adds the specified data to data usage statistics. Can be called before authorization AddNetworkStatistics { -- | The network statistics entry with the data to be added to statistics entry :: NetworkStatisticsEntry } deriving (Show, Eq, Generic) -- | Parameter of Function resetNetworkStatistics data ResetNetworkStatistics = -- | Resets all network data usage statistics to zero. Can be called before authorization ResetNetworkStatistics { } deriving (Show, Eq, Generic) -- | Parameter of Function getAutoDownloadSettingsPresets data GetAutoDownloadSettingsPresets = -- | Returns auto-download settings presets for the current user GetAutoDownloadSettingsPresets { } deriving (Show, Eq, Generic) -- | Parameter of Function setAutoDownloadSettings data SetAutoDownloadSettings = -- | Sets auto-download settings SetAutoDownloadSettings { -- | New user auto-download settings settings :: AutoDownloadSettings, -- | Type of the network for which the new settings are applied type_ :: NetworkType } deriving (Show, Eq, Generic) -- | Parameter of Function getBankCardInfo data GetBankCardInfo = -- | Returns information about a bank card GetBankCardInfo { -- | The bank card number bank_card_number :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getPassportElement data GetPassportElement = -- | Returns one of the available Telegram Passport elements GetPassportElement { -- | Telegram Passport element type type_ :: PassportElementType, -- | Password of the current user password :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getAllPassportElements data GetAllPassportElements = -- | Returns all available Telegram Passport elements GetAllPassportElements { -- | Password of the current user password :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setPassportElement data SetPassportElement = -- | Adds an element to the user's Telegram Passport. May return an error with a message "PHONE_VERIFICATION_NEEDED" or "EMAIL_VERIFICATION_NEEDED" if the chosen phone number or the chosen email address must be verified first SetPassportElement { -- | Input Telegram Passport element element :: InputPassportElement, -- | Password of the current user password :: T } deriving (Show, Eq, Generic) -- | Parameter of Function deletePassportElement data DeletePassportElement = -- | Deletes a Telegram Passport element DeletePassportElement { -- | Element type type_ :: PassportElementType } deriving (Show, Eq, Generic) -- | Parameter of Function setPassportElementErrors data SetPassportElementErrors = -- | Informs the user that some of the elements in their Telegram Passport contain errors; for bots only. The user will not be able to resend the elements, until the errors are fixed SetPassportElementErrors { -- | User identifier user_id :: I32, -- | The errors errors :: ([]) (InputPassportElementError) } deriving (Show, Eq, Generic) -- | Parameter of Function getPreferredCountryLanguage data GetPreferredCountryLanguage = -- | Returns an IETF language tag of the language preferred in the country, which should be used to fill native fields in Telegram Passport personal details. Returns a 404 error if unknown GetPreferredCountryLanguage { -- | A two-letter ISO 3166-1 alpha-2 country code country_code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function sendPhoneNumberVerificationCode data SendPhoneNumberVerificationCode = -- | Sends a code to verify a phone number to be added to a user's Telegram Passport SendPhoneNumberVerificationCode { -- | The phone number of the user, in international format phone_number :: T, -- | Settings for the authentication of the user's phone number settings :: PhoneNumberAuthenticationSettings } deriving (Show, Eq, Generic) -- | Parameter of Function resendPhoneNumberVerificationCode data ResendPhoneNumberVerificationCode = -- | Re-sends the code to verify a phone number to be added to a user's Telegram Passport ResendPhoneNumberVerificationCode { } deriving (Show, Eq, Generic) -- | Parameter of Function checkPhoneNumberVerificationCode data CheckPhoneNumberVerificationCode = -- | Checks the phone number verification code for Telegram Passport CheckPhoneNumberVerificationCode { -- | Verification code code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function sendEmailAddressVerificationCode data SendEmailAddressVerificationCode = -- | Sends a code to verify an email address to be added to a user's Telegram Passport SendEmailAddressVerificationCode { -- | Email address email_address :: T } deriving (Show, Eq, Generic) -- | Parameter of Function resendEmailAddressVerificationCode data ResendEmailAddressVerificationCode = -- | Re-sends the code to verify an email address to be added to a user's Telegram Passport ResendEmailAddressVerificationCode { } deriving (Show, Eq, Generic) -- | Parameter of Function checkEmailAddressVerificationCode data CheckEmailAddressVerificationCode = -- | Checks the email address verification code for Telegram Passport CheckEmailAddressVerificationCode { -- | Verification code code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getPassportAuthorizationForm data GetPassportAuthorizationForm = -- | Returns a Telegram Passport authorization form for sharing data with a service GetPassportAuthorizationForm { -- | User identifier of the service's bot bot_user_id :: I32, -- | Telegram Passport element types requested by the service scope :: T, -- | Service's public_key public_key :: T, -- | Authorization form nonce provided by the service nonce :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getPassportAuthorizationFormAvailableElements data GetPassportAuthorizationFormAvailableElements = -- | Returns already available Telegram Passport elements suitable for completing a Telegram Passport authorization form. Result can be received only once for each authorization form GetPassportAuthorizationFormAvailableElements { -- | Authorization form identifier autorization_form_id :: I32, -- | Password of the current user password :: T } deriving (Show, Eq, Generic) -- | Parameter of Function sendPassportAuthorizationForm data SendPassportAuthorizationForm = -- | Sends a Telegram Passport authorization form, effectively sharing data with the service. This method must be called after getPassportAuthorizationFormAvailableElements if some previously available elements need to be used SendPassportAuthorizationForm { -- | Authorization form identifier autorization_form_id :: I32, -- | Types of Telegram Passport elements chosen by user to complete the authorization form types :: ([]) (PassportElementType) } deriving (Show, Eq, Generic) -- | Parameter of Function sendPhoneNumberConfirmationCode data SendPhoneNumberConfirmationCode = -- | Sends phone number confirmation code. Should be called when user presses "https://t.me/confirmphone?phone=*******&hash=**********" or "tg://confirmphone?phone=*******&hash=**********" link SendPhoneNumberConfirmationCode { -- | Value of the "hash" parameter from the link hash :: T, -- | Value of the "phone" parameter from the link phone_number :: T, -- | Settings for the authentication of the user's phone number settings :: PhoneNumberAuthenticationSettings } deriving (Show, Eq, Generic) -- | Parameter of Function resendPhoneNumberConfirmationCode data ResendPhoneNumberConfirmationCode = -- | Resends phone number confirmation code ResendPhoneNumberConfirmationCode { } deriving (Show, Eq, Generic) -- | Parameter of Function checkPhoneNumberConfirmationCode data CheckPhoneNumberConfirmationCode = -- | Checks phone number confirmation code CheckPhoneNumberConfirmationCode { -- | The phone number confirmation code code :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setBotUpdatesStatus data SetBotUpdatesStatus = -- | Informs the server about the number of pending bot updates if they haven't been processed for a long time; for bots only SetBotUpdatesStatus { -- | The number of pending updates pending_update_count :: I32, -- | The last error message error_message :: T } deriving (Show, Eq, Generic) -- | Parameter of Function uploadStickerFile data UploadStickerFile = -- | Uploads a PNG image with a sticker; for bots only; returns the uploaded file UploadStickerFile { -- | Sticker file owner user_id :: I32, -- | PNG image with the sticker; must be up to 512 KB in size and fit in 512x512 square png_sticker :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function createNewStickerSet data CreateNewStickerSet = -- | Creates a new sticker set; for bots only. Returns the newly created sticker set CreateNewStickerSet { -- | Sticker set owner user_id :: I32, -- | Sticker set title; 1-64 characters title :: T, -- | Sticker set name. Can contain only English letters, digits and underscores. Must end with *"_by_"* (** is case insensitive); 1-64 characters name :: T, -- | True, if stickers are masks. Animated stickers can't be masks is_masks :: Bool, -- | List of stickers to be added to the set; must be non-empty. All stickers must be of the same type stickers :: ([]) (InputSticker) } deriving (Show, Eq, Generic) -- | Parameter of Function addStickerToSet data AddStickerToSet = -- | Adds a new sticker to a set; for bots only. Returns the sticker set AddStickerToSet { -- | Sticker set owner user_id :: I32, -- | Sticker set name name :: T, -- | Sticker to add to the set sticker :: InputSticker } deriving (Show, Eq, Generic) -- | Parameter of Function setStickerSetThumbnail data SetStickerSetThumbnail = -- | Sets a sticker set thumbnail; for bots only. Returns the sticker set SetStickerSetThumbnail { -- | Sticker set owner user_id :: I32, -- | Sticker set name name :: T, -- | Thumbnail to set in PNG or TGS format. Animated thumbnail must be set for animated sticker sets and only for them. You can use a zero InputFileId to delete the thumbnail thumbnail :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function setStickerPositionInSet data SetStickerPositionInSet = -- | Changes the position of a sticker in the set to which it belongs; for bots only. The sticker set must have been created by the bot SetStickerPositionInSet { -- | Sticker sticker :: InputFile, -- | New position of the sticker in the set, zero-based position :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function removeStickerFromSet data RemoveStickerFromSet = -- | Removes a sticker from the set to which it belongs; for bots only. The sticker set must have been created by the bot RemoveStickerFromSet { -- | Sticker sticker :: InputFile } deriving (Show, Eq, Generic) -- | Parameter of Function getMapThumbnailFile data GetMapThumbnailFile = -- | Returns information about a file with a map thumbnail in PNG format. Only map thumbnail files with size less than 1MB can be downloaded GetMapThumbnailFile { -- | Location of the map center location :: Location, -- | Map zoom level; 13-20 zoom :: I32, -- | Map width in pixels before applying scale; 16-1024 width :: I32, -- | Map height in pixels before applying scale; 16-1024 height :: I32, -- | Map scale; 1-3 scale :: I32, -- | Identifier of a chat, in which the thumbnail will be shown. Use 0 if unknown chat_id :: I53 } deriving (Show, Eq, Generic) -- | Parameter of Function acceptTermsOfService data AcceptTermsOfService = -- | Accepts Telegram terms of services AcceptTermsOfService { -- | Terms of service identifier terms_of_service_id :: T } deriving (Show, Eq, Generic) -- | Parameter of Function sendCustomRequest data SendCustomRequest = -- | Sends a custom request; for bots only SendCustomRequest { -- | The method name method :: T, -- | JSON-serialized method parameters parameters :: T } deriving (Show, Eq, Generic) -- | Parameter of Function answerCustomQuery data AnswerCustomQuery = -- | Answers a custom query; for bots only AnswerCustomQuery { -- | Identifier of a custom query custom_query_id :: I64, -- | JSON-serialized answer to the query data_ :: T } deriving (Show, Eq, Generic) -- | Parameter of Function setAlarm data SetAlarm = -- | Succeeds after a specified amount of time has passed. Can be called before authorization. Can be called before initialization SetAlarm { -- | Number of seconds before the function returns seconds :: Double } deriving (Show, Eq, Generic) -- | Parameter of Function getCountryCode data GetCountryCode = -- | Uses current user IP address to found their country. Returns two-letter ISO 3166-1 alpha-2 country code. Can be called before authorization GetCountryCode { } deriving (Show, Eq, Generic) -- | Parameter of Function getInviteText data GetInviteText = -- | Returns the default text for invitation messages to be used as a placeholder when the current user invites friends to Telegram GetInviteText { } deriving (Show, Eq, Generic) -- | Parameter of Function getDeepLinkInfo data GetDeepLinkInfo = -- | Returns information about a tg:// deep link. Use "tg://need_update_for_some_feature" or "tg:some_unsupported_feature" for testing. Returns a 404 error for unknown links. Can be called before authorization GetDeepLinkInfo { -- | The link link :: T } deriving (Show, Eq, Generic) -- | Parameter of Function getApplicationConfig data GetApplicationConfig = -- | Returns application config, provided by the server. Can be called before authorization GetApplicationConfig { } deriving (Show, Eq, Generic) -- | Parameter of Function saveApplicationLogEvent data SaveApplicationLogEvent = -- | Saves application log event on the server. Can be called before authorization SaveApplicationLogEvent { -- | Event type type_ :: T, -- | Optional chat identifier, associated with the event chat_id :: I53, -- | The log event data data_ :: JsonValue } deriving (Show, Eq, Generic) -- | Parameter of Function addProxy data AddProxy = -- | Adds a proxy server for network requests. Can be called before authorization AddProxy { -- | Proxy server IP address server :: T, -- | Proxy server port port :: I32, -- | True, if the proxy should be enabled enable :: Bool, -- | Proxy type type_ :: ProxyType } deriving (Show, Eq, Generic) -- | Parameter of Function editProxy data EditProxy = -- | Edits an existing proxy server for network requests. Can be called before authorization EditProxy { -- | Proxy identifier proxy_id :: I32, -- | Proxy server IP address server :: T, -- | Proxy server port port :: I32, -- | True, if the proxy should be enabled enable :: Bool, -- | Proxy type type_ :: ProxyType } deriving (Show, Eq, Generic) -- | Parameter of Function enableProxy data EnableProxy = -- | Enables a proxy. Only one proxy can be enabled at a time. Can be called before authorization EnableProxy { -- | Proxy identifier proxy_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function disableProxy data DisableProxy = -- | Disables the currently enabled proxy. Can be called before authorization DisableProxy { } deriving (Show, Eq, Generic) -- | Parameter of Function removeProxy data RemoveProxy = -- | Removes a proxy server. Can be called before authorization RemoveProxy { -- | Proxy identifier proxy_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getProxies data GetProxies = -- | Returns list of proxies that are currently set up. Can be called before authorization GetProxies { } deriving (Show, Eq, Generic) -- | Parameter of Function getProxyLink data GetProxyLink = -- | Returns an HTTPS link, which can be used to add a proxy. Available only for SOCKS5 and MTProto proxies. Can be called before authorization GetProxyLink { -- | Proxy identifier proxy_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function pingProxy data PingProxy = -- | Computes time needed to receive a response from a Telegram server through a proxy. Can be called before authorization PingProxy { -- | Proxy identifier. Use 0 to ping a Telegram server without a proxy proxy_id :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function setLogStream data SetLogStream = -- | Sets new log stream for internal logging of TDLib. This is an offline method. Can be called before authorization. Can be called synchronously SetLogStream { -- | New log stream log_stream :: LogStream } deriving (Show, Eq, Generic) -- | Parameter of Function getLogStream data GetLogStream = -- | Returns information about currently used log stream for internal logging of TDLib. This is an offline method. Can be called before authorization. Can be called synchronously GetLogStream { } deriving (Show, Eq, Generic) -- | Parameter of Function setLogVerbosityLevel data SetLogVerbosityLevel = -- | Sets the verbosity level of the internal logging of TDLib. This is an offline method. Can be called before authorization. Can be called synchronously SetLogVerbosityLevel { -- | New value of the verbosity level for logging. Value 0 corresponds to fatal errors, value 1 corresponds to errors, value 2 corresponds to warnings and debug warnings, value 3 corresponds to informational, value 4 corresponds to debug, value 5 corresponds to verbose debug, value greater than 5 and up to 1023 can be used to enable even more logging new_verbosity_level :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getLogVerbosityLevel data GetLogVerbosityLevel = -- | Returns current verbosity level of the internal logging of TDLib. This is an offline method. Can be called before authorization. Can be called synchronously GetLogVerbosityLevel { } deriving (Show, Eq, Generic) -- | Parameter of Function getLogTags data GetLogTags = -- | Returns list of available TDLib internal log tags, for example, ["actor", "binlog", "connections", "notifications", "proxy"]. This is an offline method. Can be called before authorization. Can be called synchronously GetLogTags { } deriving (Show, Eq, Generic) -- | Parameter of Function setLogTagVerbosityLevel data SetLogTagVerbosityLevel = -- | Sets the verbosity level for a specified TDLib internal log tag. This is an offline method. Can be called before authorization. Can be called synchronously SetLogTagVerbosityLevel { -- | Logging tag to change verbosity level tag :: T, -- | New verbosity level; 1-1024 new_verbosity_level :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function getLogTagVerbosityLevel data GetLogTagVerbosityLevel = -- | Returns current verbosity level for a specified TDLib internal log tag. This is an offline method. Can be called before authorization. Can be called synchronously GetLogTagVerbosityLevel { -- | Logging tag to change verbosity level tag :: T } deriving (Show, Eq, Generic) -- | Parameter of Function addLogMessage data AddLogMessage = -- | Adds a message to TDLib internal log. This is an offline method. Can be called before authorization. Can be called synchronously AddLogMessage { -- | The minimum verbosity level needed for the message to be logged, 0-1023 verbosity_level :: I32, -- | Text of a message to log text :: T } deriving (Show, Eq, Generic) -- | Parameter of Function testCallEmpty data TestCallEmpty = -- | Does nothing; for testing only. This is an offline method. Can be called before authorization TestCallEmpty { } deriving (Show, Eq, Generic) -- | Parameter of Function testCallString data TestCallString = -- | Returns the received string; for testing only. This is an offline method. Can be called before authorization TestCallString { -- | String to return x :: T } deriving (Show, Eq, Generic) -- | Parameter of Function testCallBytes data TestCallBytes = -- | Returns the received bytes; for testing only. This is an offline method. Can be called before authorization TestCallBytes { -- | Bytes to return x :: ByteString64 } deriving (Show, Eq, Generic) -- | Parameter of Function testCallVectorInt data TestCallVectorInt = -- | Returns the received vector of numbers; for testing only. This is an offline method. Can be called before authorization TestCallVectorInt { -- | Vector of numbers to return x :: ([]) (I32) } deriving (Show, Eq, Generic) -- | Parameter of Function testCallVectorIntObject data TestCallVectorIntObject = -- | Returns the received vector of objects containing a number; for testing only. This is an offline method. Can be called before authorization TestCallVectorIntObject { -- | Vector of objects to return x :: ([]) (TestInt) } deriving (Show, Eq, Generic) -- | Parameter of Function testCallVectorString data TestCallVectorString = -- | Returns the received vector of strings; for testing only. This is an offline method. Can be called before authorization TestCallVectorString { -- | Vector of strings to return x :: ([]) (T) } deriving (Show, Eq, Generic) -- | Parameter of Function testCallVectorStringObject data TestCallVectorStringObject = -- | Returns the received vector of objects containing a string; for testing only. This is an offline method. Can be called before authorization TestCallVectorStringObject { -- | Vector of objects to return x :: ([]) (TestString) } deriving (Show, Eq, Generic) -- | Parameter of Function testSquareInt data TestSquareInt = -- | Returns the squared received number; for testing only. This is an offline method. Can be called before authorization TestSquareInt { -- | Number to square x :: I32 } deriving (Show, Eq, Generic) -- | Parameter of Function testNetwork data TestNetwork = -- | Sends a simple network request to the Telegram servers; for testing only. Can be called before authorization TestNetwork { } deriving (Show, Eq, Generic) -- | Parameter of Function testProxy data TestProxy = -- | Sends a simple network request to the Telegram servers via proxy; for testing only. Can be called before authorization TestProxy { -- | Proxy server IP address server :: T, -- | Proxy server port port :: I32, -- | Proxy type type_ :: ProxyType, -- | Identifier of a datacenter, with which to test connection dc_id :: I32, -- | The maximum overall timeout for the request timeout :: Double } deriving (Show, Eq, Generic) -- | Parameter of Function testGetDifference data TestGetDifference = -- | Forces an updates.getDifference call to the Telegram servers; for testing only TestGetDifference { } deriving (Show, Eq, Generic) -- | Parameter of Function testUseUpdate data TestUseUpdate = -- | Does nothing and ensures that the Update object is used; for testing only. This is an offline method. Can be called before authorization TestUseUpdate { } deriving (Show, Eq, Generic) -- | Parameter of Function testReturnError data TestReturnError = -- | Returns the specified error and ensures that the Error object is used; for testing only. This is an offline method. Can be called before authorization. Can be called synchronously TestReturnError { -- | The error to be returned error :: Error } deriving (Show, Eq, Generic) instancesDec'