-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Telegram Bot API bindings
--
-- High-level bindings to the Telegram Bot API
@package telegram-api
@version 0.6.2.0
-- | This module contains objects which represent data of Telegram Bot API
-- responses
module Web.Telegram.API.Bot.Data
-- | This object represents a Telegram user or bot.
data User
User :: Int -> Text -> Maybe Text -> Maybe Text -> User
-- | Unique identifier for this user or bot
[user_id] :: User -> Int
-- | User‘s or bot’s first name
[user_first_name] :: User -> Text
-- | User‘s or bot’s last name
[user_last_name] :: User -> Maybe Text
-- | User‘s or bot’s username
[user_username] :: User -> Maybe Text
data ChatMember
ChatMember :: User -> Text -> ChatMember
-- | Information about the user
[cm_user] :: ChatMember -> User
-- | The member's status in the chat. Can be “creator”, “administrator”,
-- “member”, “left” or “kicked”
[cm_status] :: ChatMember -> Text
-- | This object represents a chat.
data Chat
Chat :: Int64 -> ChatType -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Chat
-- | Unique identifier for this chat. This number may be greater than 32
-- bits and some programming languages may have difficulty/silent defects
-- in interpreting it. But it is smaller than 52 bits, so a signed 64 bit
-- integer or double-precision float type are safe for storing this
-- identifier.
[chat_id] :: Chat -> Int64
-- | Type of chat, can be either Private, Group,
-- Supergroup or Channel
[chat_type] :: Chat -> ChatType
-- | Title, for channels and group chats
[chat_title] :: Chat -> Maybe Text
-- | Username, for private chats and channels if available
[chat_username] :: Chat -> Maybe Text
-- | First name of the other party in a private chat
[chat_first_name] :: Chat -> Maybe Text
-- | Last name of the other party in a private chat
[chat_last_name] :: Chat -> Maybe Text
-- | True if a group has ‘All Members Are Admins’ enabled.
[chat_all_members_are_administrators] :: Chat -> Maybe Bool
-- | This object represents a message.
data Message
Message :: Int -> Maybe User -> Int -> Chat -> Maybe User -> Maybe Chat -> Maybe Int -> Maybe Int -> Maybe Message -> Maybe Int -> Maybe Text -> Maybe [MessageEntity] -> Maybe Audio -> Maybe Document -> Maybe Game -> Maybe [PhotoSize] -> Maybe Sticker -> Maybe Video -> Maybe Voice -> Maybe Text -> Maybe Contact -> Maybe Location -> Maybe Venue -> Maybe User -> Maybe User -> Maybe Text -> Maybe [PhotoSize] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Int64 -> Maybe Int64 -> Maybe Message -> Maybe Invoice -> Maybe SuccessfulPayment -> Message
-- | Unique message identifier
[message_id] :: Message -> Int
-- | Sender, can be empty for messages sent to channels
[from] :: Message -> Maybe User
-- | Date the message was sent in Unix time
[date] :: Message -> Int
-- | Conversation the message belongs to
[chat] :: Message -> Chat
-- | For forwarded messages, sender of the original message
[forward_from] :: Message -> Maybe User
-- | For messages forwarded from a channel, information about the original
-- channel
[forward_from_chat] :: Message -> Maybe Chat
-- | For forwarded channel posts, identifier of the original message in the
-- channel
[forward_from_message_id] :: Message -> Maybe Int
-- | For forwarded messages, date the original message was sent in Unix
-- time
[forward_date] :: Message -> Maybe Int
-- | For replies, the original message. Note that the Message object
-- in this field will not contain further reply_to_message fields
-- even if it itself is a reply.
[reply_to_message] :: Message -> Maybe Message
-- | Date the message was last edited in Unix time
[edit_date] :: Message -> Maybe Int
-- | For text messages, the actual UTF-8 text of the message
[text] :: Message -> Maybe Text
-- | For text messages, special entities like usernames, URLs, bot
-- commands, etc. that appear in the text
[entities] :: Message -> Maybe [MessageEntity]
-- | Message is an audio file, information about the file
[audio] :: Message -> Maybe Audio
-- | Message is a general file, information about the file
[document] :: Message -> Maybe Document
-- | Message is a game, information about the game
[game] :: Message -> Maybe Game
-- | Message is a photo, available sizes of the photo
[photo] :: Message -> Maybe [PhotoSize]
-- | Message is a sticker, information about the sticker
[sticker] :: Message -> Maybe Sticker
-- | Message is a video, information about the video
[video] :: Message -> Maybe Video
-- | Message is a voice message, information about the file
[voice] :: Message -> Maybe Voice
-- | Caption for the photo or video
[caption] :: Message -> Maybe Text
-- | Message is a shared contact, information about the contact
[contact] :: Message -> Maybe Contact
-- | Message is a shared location, information about the location
[location] :: Message -> Maybe Location
-- | Message is a venue, information about the venue
[venue] :: Message -> Maybe Venue
-- | A new member was added to the group, information about them (this
-- member may be the bot itself)
[new_chat_member] :: Message -> Maybe User
-- | A member was removed from the group, information about them (this
-- member may be the bot itself)
[left_chat_member] :: Message -> Maybe User
-- | A chat title was changed to this value
[new_chat_title] :: Message -> Maybe Text
-- | A chat photo was change to this value
[new_chat_photo] :: Message -> Maybe [PhotoSize]
-- | Service message: the chat photo was deleted
[delete_chat_photo] :: Message -> Maybe Bool
-- | Service message: the group has been created
[group_chat_created] :: Message -> Maybe Bool
-- | Service message: the supergroup has been created
[supergroup_chat_created] :: Message -> Maybe Bool
-- | Service message: the channel has been created
[channel_chat_created] :: Message -> Maybe Bool
-- | The group has been migrated to a supergroup with the specified
-- identifier, not exceeding 1e13 by absolute value
[migrate_to_chat_id] :: Message -> Maybe Int64
-- | The supergroup has been migrated from a group with the specified
-- identifier, not exceeding 1e13 by absolute value
[migrate_from_chat_id] :: Message -> Maybe Int64
-- | Specified message was pinned. Note that the Message object in this
-- field will not contain further reply_to_message fields even if it is
-- itself a reply.
[pinned_message] :: Message -> Maybe Message
-- | Message is an invoice for a payment, information about the invoice.
[invoice] :: Message -> Maybe Invoice
-- | Message is a service message about a successful payment, information
-- about the payment.
[successful_payment] :: Message -> Maybe SuccessfulPayment
-- | This object represents one special entity in a text message. For
-- example, hashtags, usernames, URLs, etc.
data MessageEntity
MessageEntity :: Text -> Int -> Int -> Maybe Text -> Maybe User -> MessageEntity
-- | Type of the entity. Can be mention (@username), hashtag, bot_command,
-- url, email, bold (bold text), italic (italic text), code (monowidth
-- string), pre (monowidth block), text_link (for clickable text URLs),
-- text_mention (for users without usernames)
[me_type] :: MessageEntity -> Text
-- | Offset in UTF-16 code units to the start of the entity
[me_offset] :: MessageEntity -> Int
-- | Length of the entity in UTF-16 code units
[me_length] :: MessageEntity -> Int
-- | For “text_link” only, url that will be opened after user taps on the
-- text
[me_url] :: MessageEntity -> Maybe Text
-- | For “text_mention” only, the mentioned user
[me_user] :: MessageEntity -> Maybe User
-- | This object represents one size of a photo or a File /
-- Sticker thumbnail.
data PhotoSize
PhotoSize :: Text -> Int -> Int -> Maybe Int -> PhotoSize
-- | Unique identifier for this file
[photo_file_id] :: PhotoSize -> Text
-- | Photo width
[photo_width] :: PhotoSize -> Int
-- | Photo height
[photo_height] :: PhotoSize -> Int
-- | File size
[photo_file_size] :: PhotoSize -> Maybe Int
-- | This object represents an audio file to be treated as music by the
-- Telegram clients.
data Audio
Audio :: Text -> Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Audio
-- | Unique identifier for this file
[audio_file_id] :: Audio -> Text
-- | Duration of the audio in seconds as defined by sender
[audio_duration] :: Audio -> Int
-- | Performer of the audio as defined by sender or by audio tags
[audio_performer] :: Audio -> Maybe Text
-- | Title of the audio as defined by sender or by audio tags
[audio_title] :: Audio -> Maybe Text
-- | MIME type of the file as defined by sender
[audio_mime_type] :: Audio -> Maybe Text
-- | File size
[audio_file_size] :: Audio -> Maybe Int
-- | This object represents a general file (as opposed to PhotoSize,
-- Voice messages and Audio files).
data Document
Document :: Text -> Maybe PhotoSize -> Maybe Text -> Maybe Text -> Maybe Int -> Document
-- | Unique file identifier
[doc_file_id] :: Document -> Text
-- | Document thumbnail as defined by sender
[doc_thumb] :: Document -> Maybe PhotoSize
-- | Original filename as defined by sender
[doc_file_name] :: Document -> Maybe Text
-- | MIME type of the file as defined by sender
[doc_mime_type] :: Document -> Maybe Text
-- | File size
[doc_file_size] :: Document -> Maybe Int
-- | This object represents a game. Use BotFather to create and edit games,
-- their short names will act as unique identifiers.
data Game
Game :: Text -> Text -> [PhotoSize] -> Maybe Text -> Maybe [MessageEntity] -> Maybe Animation -> Game
-- | Title of the game
[game_title] :: Game -> Text
-- | Description of the game
[game_description] :: Game -> Text
-- | Photo that will be displayed in the game message in chats.
[game_photo] :: Game -> [PhotoSize]
-- | Brief description of the game or high scores included in the game
-- message. Can be automatically edited to include current high scores
-- for the game when the bot calls setGameScore, or manually edited using
-- editMessageText. 0-4096 characters.
[game_text] :: Game -> Maybe Text
-- | Special entities that appear in text, such as usernames, URLs, bot
-- commands, etc.
[game_text_entities] :: Game -> Maybe [MessageEntity]
-- | Animation that will be displayed in the game message in chats. Upload
-- via BotFather
[game_animation] :: Game -> Maybe Animation
-- | This object represents an animation file to be displayed in the
-- message containing a game.
data Animation
Animation :: Text -> Maybe PhotoSize -> Maybe Text -> Maybe Text -> Maybe Int -> Animation
-- | Unique file identifier
[anim_file_id] :: Animation -> Text
-- | Animation thumbnail as defined by sender
[anim_thumb] :: Animation -> Maybe PhotoSize
-- | Original animation filename as defined by sender
[anim_file_name] :: Animation -> Maybe Text
-- | MIME type of the file as defined by sender
[anim_mime_type] :: Animation -> Maybe Text
-- | File size
[anim_file_size] :: Animation -> Maybe Int
-- | This object represents a sticker.
data Sticker
Sticker :: Text -> Int -> Int -> Maybe PhotoSize -> Maybe Text -> Maybe Int -> Sticker
-- | Unique identifier for this file
[sticker_file_id] :: Sticker -> Text
-- | Sticker width
[sticker_width] :: Sticker -> Int
-- | Sticker height
[sticker_height] :: Sticker -> Int
-- | Sticker thumbnail in .webp or .jpg format
[sticker_thumb] :: Sticker -> Maybe PhotoSize
-- | Emoji associated with the sticker
[sticker_emoji] :: Sticker -> Maybe Text
-- | File size
[sticker_file_size] :: Sticker -> Maybe Int
-- | This object represents a video file.
data Video
Video :: Text -> Int -> Int -> Int -> Maybe PhotoSize -> Maybe Text -> Maybe Int -> Video
-- | Unique identifier for this file
[video_file_id] :: Video -> Text
-- | Video width as defined by sender
[video_width] :: Video -> Int
-- | Video height as defined by sender
[video_height] :: Video -> Int
-- | Duration of the video in seconds as defined by sender
[video_duration] :: Video -> Int
-- | Video thumbnail
[video_thumb] :: Video -> Maybe PhotoSize
-- | MIME type of a file as defined by sender
[video_mime_type] :: Video -> Maybe Text
-- | File size
[video_file_size] :: Video -> Maybe Int
-- | This object represents a voice note.
data Voice
Voice :: Text -> Int -> Maybe Text -> Maybe Int -> Voice
-- | Unique identifier for this file
[voice_file_id] :: Voice -> Text
-- | Duration of the audio in seconds as defined by sender
[voice_duration] :: Voice -> Int
-- | MIME type of the file as defined by sender
[voice_mime_type] :: Voice -> Maybe Text
-- | File size
[voice_file_size] :: Voice -> Maybe Int
-- | This object represents a venue.
data Venue
Venue :: Location -> Text -> Text -> Maybe Text -> Venue
-- | Venue location
[venue_location] :: Venue -> Location
-- | Name of the venue
[venue_title] :: Venue -> Text
-- | Address of the venue
[venue_address] :: Venue -> Text
-- | Foursquare identifier of the venue
[venue_foursquare_id] :: Venue -> Maybe Text
-- | This object represents a phone contact.
data Contact
Contact :: Text -> Text -> Maybe Text -> Maybe Int -> Contact
-- | Contact's phone number
[contact_phone_number] :: Contact -> Text
-- | Contact's first name
[contact_first_name] :: Contact -> Text
-- | Contact's last name
[contact_last_name] :: Contact -> Maybe Text
-- | Contact's user identifier in Telegram
[contact_user_id] :: Contact -> Maybe Int
-- | This object represents a point on the map.
data Location
Location :: Float -> Float -> Location
-- | Longitude as defined by sender
[longitude] :: Location -> Float
-- | Latitude as defined by sender
[latitude] :: Location -> Float
-- | This object represents an incoming update. Only one of the optional
-- parameters can be present in any given update.
data Update
Update :: Int -> Maybe Message -> Maybe Message -> Maybe Message -> Maybe Message -> Maybe InlineQuery -> Maybe ChosenInlineResult -> Maybe CallbackQuery -> Maybe ShippingQuery -> Maybe PreCheckoutQuery -> Update
-- | The update's unique identifier. Update identifiers start from a
-- certain positive number and increase sequentially. This ID becomes
-- especially handy if you’re using setWebhooks, since it allows
-- you to ignore repeated updates or to restore the correct update
-- sequence, should they get out of order.
[update_id] :: Update -> Int
-- | New incoming message of any kind — text, photo, sticker, etc.
[message] :: Update -> Maybe Message
-- | New version of a message that is known to the bot and was edited
[edited_message] :: Update -> Maybe Message
-- | New incoming channel post of any kind — text, photo, sticker, etc.
[channel_post] :: Update -> Maybe Message
-- | New version of a channel post that is known to the bot and was edited
[edited_channel_post] :: Update -> Maybe Message
-- | New incoming inline query
[inline_query] :: Update -> Maybe InlineQuery
-- | The result of a inline query that was chosen by a user and sent to
-- their chat partner
[chosen_inline_result] :: Update -> Maybe ChosenInlineResult
-- | This object represents an incoming callback query from a callback
-- button in an inline keyboard. If the button that originated the query
-- was attached to a message sent by the bot, the field message will be
-- presented. If the button was attached to a message sent via the bot
-- (in inline mode), the field inline_message_id will be presented.
[callback_query] :: Update -> Maybe CallbackQuery
-- | New incoming shipping query. Only for invoices with flexible price
[shipping_query] :: Update -> Maybe ShippingQuery
-- | New incoming pre-checkout query. Contains full information about
-- checkout
[pre_checkout_query] :: Update -> Maybe PreCheckoutQuery
-- | This object represents a file ready to be downloaded. The file can be
-- downloaded via the link
-- https://api.telegram.org/file/bot<token>/<file_path>.
-- It is guaranteed that the link will be valid for at least 1 hour. When
-- the link expires, a new one can be requested by calling
-- getFile.
--
-- Maximum file size to download is 20 MB
data File
File :: Text -> Maybe Int -> Maybe Text -> File
-- | Unique identifier for this file
[file_id] :: File -> Text
-- | File size, if known
[file_size] :: File -> Maybe Int
-- | File path. Use
-- https://api.telegram.org/file/bot<token>/<file_path>
-- to get the file.
[file_path] :: File -> Maybe Text
-- | This object represent a user's profile pictures.
data UserProfilePhotos
UserProfilePhotos :: Int -> [[PhotoSize]] -> UserProfilePhotos
-- | Total number of profile pictures the target user has
[total_count] :: UserProfilePhotos -> Int
-- | Requested profile pictures (in up to 4 sizes each)
[photos] :: UserProfilePhotos -> [[PhotoSize]]
-- | This object represents an incoming inline query. When the user sends
-- an empty query, your bot could return some default or trending
-- results.
data InlineQuery
InlineQuery :: Text -> User -> Maybe Location -> Text -> Text -> InlineQuery
-- | Unique identifier for this query
[query_id] :: InlineQuery -> Text
-- | Sender
[query_from] :: InlineQuery -> User
-- | Sender location, only for bots that request user location
[query_location] :: InlineQuery -> Maybe Location
-- | Text of the query
[query_query] :: InlineQuery -> Text
-- | Offset of the results to be returned, can be controlled by the bot
[query_offset] :: InlineQuery -> Text
-- | This object represents a result of an inline query that was chosen by
-- the user and sent to their chat partner.
data ChosenInlineResult
ChosenInlineResult :: Text -> User -> Maybe Location -> Maybe Text -> Text -> ChosenInlineResult
-- | The unique identifier for the result that was chosen
[chosen_result_id] :: ChosenInlineResult -> Text
-- | The user that chose the result
[chosen_from] :: ChosenInlineResult -> User
-- | Sender location, only for bots that require user location
[chosen_location] :: ChosenInlineResult -> Maybe Location
-- | Identifier of the sent inline message. Available only if there is an
-- inline keyboard attached to the message. Will be also received in
-- callback queries and can be used to edit the message.
[chosen_inline_message_id] :: ChosenInlineResult -> Maybe Text
-- | The query that was used to obtain the result
[chosen_query] :: ChosenInlineResult -> Text
data InlineQueryResult
-- | Represents a link to an article or web page.
InlineQueryResultArticle :: Text -> Maybe Text -> Maybe InputMessageContent -> Maybe InlineKeyboardMarkup -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Int -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | URL of the result
[iq_res_url] :: InlineQueryResult -> Maybe Text
-- | Pass True, if you don't want the URL to be shown in the message
[iq_res_hide_url] :: InlineQueryResult -> Maybe Bool
-- | Short description of the result
[iq_res_description] :: InlineQueryResult -> Maybe Text
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Thumbnail width
[iq_res_thumb_width] :: InlineQueryResult -> Maybe Int
-- | Thumbnail height
[iq_res_thumb_height] :: InlineQueryResult -> Maybe Int
-- | Represents a link to a photo. By default, this photo will be sent by
-- the user with optional caption. Alternatively, you can use
-- input_message_content to send a message with the specified content
-- instead of the photo.
InlineQueryResultPhoto :: Text -> Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid URL of the photo. Photo must be in jpeg format. Photo size
-- must not exceed 5MB
[iq_res_photo_url] :: InlineQueryResult -> Text
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Optional. Width of the photo
[iq_res_photo_width] :: InlineQueryResult -> Maybe Int
-- | Optional. Height of the photo
[iq_res_photo_height] :: InlineQueryResult -> Maybe Int
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Short description of the result
[iq_res_description] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to an animated GIF file. By default, this animated
-- GIF file will be sent by the user with optional caption.
-- Alternatively, you can provide message_text to send it instead of the
-- animation.
InlineQueryResultGif :: Text -> Text -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid URL for the GIF file. File size must not exceed 1MB
[iq_res_gif_url] :: InlineQueryResult -> Text
-- | Width of the GIF
[iq_res_gif_width] :: InlineQueryResult -> Maybe Int
-- | Height of the GIF
[iq_res_gif_height] :: InlineQueryResult -> Maybe Int
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a video animation (H.264/MPEG-4 AVC video without
-- sound). By default, this animated MPEG-4 file will be sent by the user
-- with optional caption. Alternatively, you can provide message_text to
-- send it instead of the animation.
InlineQueryResultMpeg4Gif :: Text -> Text -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid URL for the MP4 file. File size must not exceed 1MB
[iq_res_mpeg4_url] :: InlineQueryResult -> Text
-- | Video width
[iq_res_mpeg4_width] :: InlineQueryResult -> Maybe Int
-- | Video height
[iq_res_mpeg4_height] :: InlineQueryResult -> Maybe Int
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents link to a page containing an embedded video player or a
-- video file.
InlineQueryResultVideo :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid URL for the embedded video player or video file
[iq_res_video_url] :: InlineQueryResult -> Text
-- | Mime type of the content of video url, “texthtml” or “videomp4”
[iq_res_mime_type] :: InlineQueryResult -> Text
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Video width
[iq_res_video_width] :: InlineQueryResult -> Maybe Int
-- | Video height
[iq_res_video_height] :: InlineQueryResult -> Maybe Int
-- | Video duration in seconds
[iq_res_video_duration] :: InlineQueryResult -> Maybe Int
-- | Short description of the result
[iq_res_description] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to an mp3 audio file. By default, this audio file
-- will be sent by the user. Alternatively, you can use
-- input_message_content to send a message with the specified content
-- instead of the audio.
InlineQueryResultAudio :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid URL for the audio file
[iq_res_audio_url] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Performer
[iq_res_performer] :: InlineQueryResult -> Maybe Text
-- | Audio duration in seconds
[iq_res_audio_duration] :: InlineQueryResult -> Maybe Int
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a voice recording in an .ogg container encoded
-- with OPUS. By default, this voice recording will be sent by the user.
-- Alternatively, you can use input_message_content to send a message
-- with the specified content instead of the the voice message.
InlineQueryResultVoice :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid URL for the voice recording
[iq_res_voice_url] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Recording duration in seconds
[iq_res_voice_duration] :: InlineQueryResult -> Maybe Int
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a file. By default, this file will be sent by the
-- user with an optional caption. Alternatively, you can use
-- input_message_content to send a message with the specified content
-- instead of the file. Currently, only .PDF and .ZIP files can be sent
-- using this method.
InlineQueryResultDocument :: Text -> Maybe Text -> Maybe Text -> Text -> Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> Maybe Text -> Maybe Int -> Maybe Int -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | A valid URL for the file
[iq_res_document_url] :: InlineQueryResult -> Text
-- | Mime type of the content of video url, “texthtml” or “videomp4”
[iq_res_mime_type] :: InlineQueryResult -> Text
-- | Short description of the result
[iq_res_description] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Thumbnail width
[iq_res_thumb_width] :: InlineQueryResult -> Maybe Int
-- | Thumbnail height
[iq_res_thumb_height] :: InlineQueryResult -> Maybe Int
-- | Represents a location on a map. By default, the location will be sent
-- by the user. Alternatively, you can use input_message_content to send
-- a message with the specified content instead of the location.
InlineQueryResultLocation :: Text -> Float -> Float -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> Maybe Text -> Maybe Int -> Maybe Int -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | Location latitude in degrees
[iq_res_latitude] :: InlineQueryResult -> Float
-- | Location longitude in degrees
[iq_res_longitude] :: InlineQueryResult -> Float
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Thumbnail width
[iq_res_thumb_width] :: InlineQueryResult -> Maybe Int
-- | Thumbnail height
[iq_res_thumb_height] :: InlineQueryResult -> Maybe Int
-- | Represents a venue. By default, the venue will be sent by the user.
-- Alternatively, you can use input_message_content to send a message
-- with the specified content instead of the venue.
InlineQueryResultVenue :: Text -> Float -> Float -> Maybe Text -> Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> Maybe Text -> Maybe Int -> Maybe Int -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | Location latitude in degrees
[iq_res_latitude] :: InlineQueryResult -> Float
-- | Location longitude in degrees
[iq_res_longitude] :: InlineQueryResult -> Float
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Address of the venue
[iq_res_address] :: InlineQueryResult -> Text
-- | Foursquare identifier of the venue if known
[iq_res_foursquare_id] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Thumbnail width
[iq_res_thumb_width] :: InlineQueryResult -> Maybe Int
-- | Thumbnail height
[iq_res_thumb_height] :: InlineQueryResult -> Maybe Int
-- | Represents a link to a photo stored on the Telegram servers. By
-- default, this photo will be sent by the user with an optional caption.
-- Alternatively, you can use input_message_content to send a message
-- with the specified content instead of the photo.
InlineQueryResultContact :: Text -> Text -> Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> Maybe Text -> Maybe Int -> Maybe Int -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | Contact's phone number
[iq_res_phone_number] :: InlineQueryResult -> Text
-- | Contact's first name
[iq_res_first_name] :: InlineQueryResult -> Text
-- | Contact's last name
[iq_res_last_name] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Url of the thumbnail for the result
[iq_res_thumb_url] :: InlineQueryResult -> Maybe Text
-- | Thumbnail width
[iq_res_thumb_width] :: InlineQueryResult -> Maybe Int
-- | Thumbnail height
[iq_res_thumb_height] :: InlineQueryResult -> Maybe Int
-- | Represents a Game.
InlineQueryResultGame :: Text -> Text -> Maybe InlineKeyboardMarkup -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | Short name of the game
[iq_res_game_short_name] :: InlineQueryResult -> Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Represents a link to a photo stored on the Telegram servers. By
-- default, this photo will be sent by the user with an optional caption.
-- Alternatively, you can use input_message_content to send a message
-- with the specified content instead of the photo.
InlineQueryResultCachedPhoto :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid file identifier of the photo
[iq_res_photo_file_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Short description of the result
[iq_res_description] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to an animated GIF file stored on the Telegram
-- servers. By default, this animated GIF file will be sent by the user
-- with an optional caption. Alternatively, you can use
-- input_message_content to send a message with specified content instead
-- of the animation.
InlineQueryResultCachedGif :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid file identifier for the GIF file
[iq_res_gif_file_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a video animation (H.264/MPEG-4 AVC video without
-- sound) stored on the Telegram servers. By default, this animated
-- MPEG-4 file will be sent by the user with an optional caption.
-- Alternatively, you can use input_message_content to send a message
-- with the specified content instead of the animation.
InlineQueryResultCachedMpeg4Gif :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid file identifier for the MP4 file
[iq_res_mpeg4_file_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a sticker stored on the Telegram servers. By
-- default, this sticker will be sent by the user. Alternatively, you can
-- use input_message_content to send a message with the specified content
-- instead of the sticker.
InlineQueryResultCachedSticker :: Text -> Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid file identifier of the sticker
[iq_res_sticker_file_id] :: InlineQueryResult -> Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a file stored on the Telegram servers. By
-- default, this file will be sent by the user with an optional caption.
-- Alternatively, you can use input_message_content to send a message
-- with the specified content instead of the file. Currently, only
-- pdf-files and zip archives can be sent using this method.
InlineQueryResultCachedDocument :: Text -> Maybe Text -> Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | A valid file identifier for the file
[iq_res_document_file_id] :: InlineQueryResult -> Text
-- | Short description of the result
[iq_res_description] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a video file stored on the Telegram servers. By
-- default, this video file will be sent by the user with an optional
-- caption. Alternatively, you can use input_message_content to send a
-- message with the specified content instead of the video.
InlineQueryResultCachedVideo :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid file identifier for the video file
[iq_res_video_file_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Short description of the result
[iq_res_description] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to a voice message stored on the Telegram servers.
-- By default, this voice message will be sent by the user.
-- Alternatively, you can use input_message_content to send a message
-- with the specified content instead of the voice message.
InlineQueryResultCachedVoice :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid file identifier for the voice message
[iq_res_voice_file_id] :: InlineQueryResult -> Text
-- | Title of the result
[iq_res_title] :: InlineQueryResult -> Maybe Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
-- | Represents a link to an mp3 audio file stored on the Telegram servers.
-- By default, this audio file will be sent by the user. Alternatively,
-- you can use input_message_content to send a message with the specified
-- content instead of the audio.
InlineQueryResultCachedAudio :: Text -> Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> Maybe InputMessageContent -> InlineQueryResult
-- | Unique identifier for this result, 1-64 Bytes
[iq_res_id] :: InlineQueryResult -> Text
-- | A valid file identifier for the audio file
[iq_res_audio_file_id] :: InlineQueryResult -> Text
-- | Caption of the photo to be sent, 0-200 characters
[iq_res_caption] :: InlineQueryResult -> Maybe Text
-- | Inline keyboard attached to the message
[iq_res_reply_markup] :: InlineQueryResult -> Maybe InlineKeyboardMarkup
-- | Content of the message to be sent
[iq_res_input_message_content] :: InlineQueryResult -> Maybe InputMessageContent
data InlineKeyboardMarkup
InlineKeyboardMarkup :: [[InlineKeyboardButton]] -> InlineKeyboardMarkup
[inline_keyboard] :: InlineKeyboardMarkup -> [[InlineKeyboardButton]]
data InlineKeyboardButton
InlineKeyboardButton :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe CallbackGame -> Maybe Text -> InlineKeyboardButton
[ikb_text] :: InlineKeyboardButton -> Text
[ikb_url] :: InlineKeyboardButton -> Maybe Text
[ikb_callback_data] :: InlineKeyboardButton -> Maybe Text
[ikb_switch_inline_query] :: InlineKeyboardButton -> Maybe Text
[ikb_callback_game] :: InlineKeyboardButton -> Maybe CallbackGame
-- | If set, pressing the button will insert the bot‘s username and the
-- specified inline query in the current chat's input field. Can be
-- empty, in which case only the bot’s username will be inserted.
[ikb_switch_inline_query_current_chat] :: InlineKeyboardButton -> Maybe Text
data CallbackGame
CallbackGame :: CallbackGame
data CallbackQuery
CallbackQuery :: Text -> User -> Maybe Message -> Maybe Text -> Text -> Maybe Text -> Maybe Text -> CallbackQuery
[cq_id] :: CallbackQuery -> Text
[cq_from] :: CallbackQuery -> User
[cq_message] :: CallbackQuery -> Maybe Message
[cq_inline_message_id] :: CallbackQuery -> Maybe Text
[cq_chat_instance] :: CallbackQuery -> Text
[cq_data] :: CallbackQuery -> Maybe Text
[cq_game_short_name] :: CallbackQuery -> Maybe Text
-- | Type of chat.
data ChatType
Private :: ChatType
Group :: ChatType
Supergroup :: ChatType
Channel :: ChatType
-- | Parse mode for text message
data ParseMode
Markdown :: ParseMode
HTML :: ParseMode
-- | This object represents the content of a message to be sent as a result
-- of an inline query.
data InputMessageContent
-- | Represents the content of a text message to be sent as the result of
-- an inline query.
InputTextMessageContent :: Text -> Maybe ParseMode -> Maybe Bool -> InputMessageContent
-- | Text of the message to be sent, 1-4096 characters
[imc_message_text] :: InputMessageContent -> Text
-- | Send Markdown or HTML, if you want Telegram apps to show
-- bold, italic, fixed-width text or inline URLs in your bot's message.
[imc_parse_mode] :: InputMessageContent -> Maybe ParseMode
-- | Disables link previews for links in the sent message
[imc_disable_web_page_preview] :: InputMessageContent -> Maybe Bool
-- | Represents the content of a location message to be sent as the result
-- of an inline query.
InputLocationMessageContent :: Float -> Float -> InputMessageContent
-- | Latitude of the location in degrees
[imc_latitude] :: InputMessageContent -> Float
-- | Longitude of the location in degrees
[imc_longitude] :: InputMessageContent -> Float
-- | Represents the content of a venue message to be sent as the result of
-- an inline query.
InputVenueMessageContent :: Float -> Float -> Text -> Text -> Maybe Text -> InputMessageContent
-- | Latitude of the location in degrees
[imc_latitude] :: InputMessageContent -> Float
-- | Longitude of the location in degrees
[imc_longitude] :: InputMessageContent -> Float
-- | Name of the venue
[imc_title] :: InputMessageContent -> Text
-- | Address of the venue
[imc_address] :: InputMessageContent -> Text
-- | Foursquare identifier of the venue, if known
[imc_foursquare_id] :: InputMessageContent -> Maybe Text
-- | Represents the content of a contact message to be sent as the result
-- of an inline query.
InputContactMessageContent :: Text -> Text -> Maybe Text -> InputMessageContent
-- | Contact's phone number
[imc_phone_number] :: InputMessageContent -> Text
-- | Contact's first name
[imc_first_name] :: InputMessageContent -> Text
-- | Contact's last name
[imc_last_name] :: InputMessageContent -> Maybe Text
data KeyboardButton
KeyboardButton :: Text -> Maybe Bool -> Maybe Bool -> KeyboardButton
-- | Text of the button. If none of the optional fields are used, it will
-- be sent to the bot as a message when the button is pressed
[kb_text] :: KeyboardButton -> Text
-- | If True, the user's phone number will be sent as a contact when the
-- button is pressed. Available in private chats only
[kb_request_contact] :: KeyboardButton -> Maybe Bool
-- | If True, the user's current location will be sent when the button is
-- pressed. Available in private chats only
[kb_request_location] :: KeyboardButton -> Maybe Bool
data WebhookInfo
WebhookInfo :: Text -> Bool -> Int -> Maybe Int -> Maybe Text -> Maybe Int -> Maybe [Text] -> WebhookInfo
-- | Webhook URL, may be empty if webhook is not set up
[whi_url] :: WebhookInfo -> Text
-- | True, if a custom certificate was provided for webhook certificate
-- checks
[whi_has_custom_certificate] :: WebhookInfo -> Bool
-- | Number of updates awaiting delivery
[whi_pending_update_count] :: WebhookInfo -> Int
-- | Unix time for the most recent error that happened when trying to
-- deliver an update via webhook
[whi_last_error_date] :: WebhookInfo -> Maybe Int
-- | Error message in human-readable format for the most recent error that
-- happened when trying to deliver an update via webhook
[whi_last_error_message] :: WebhookInfo -> Maybe Text
-- | Maximum allowed number of simultaneous HTTPS connections to the
-- webhook for update delivery
[whi_max_connections] :: WebhookInfo -> Maybe Int
-- | A list of update types the bot is subscribed to. Defaults to all
-- update types
[whi_allowed_updates] :: WebhookInfo -> Maybe [Text]
data LabeledPrice
-- | This object represents a portion of the price for goods or services.
LabeledPrice :: Text -> Int -> LabeledPrice
-- | Portion label
[lp_label] :: LabeledPrice -> Text
-- | Total price in the smallest units of the currency (integer, not
-- floatdouble). For example, for a price of US$ 1.45 pass amount =
-- 145. See the exp parameter in
-- <https:core.telegram.orgbotspaymentscurrencies.json
-- currencies.json>, it shows the number of digits past the decimal
-- point for each currency (2 for the majority of currencies).
[lp_amount] :: LabeledPrice -> Int
newtype CurrencyCode
CurrencyCode :: Text -> CurrencyCode
data Invoice
-- | This object contains basic information about an invoice.
Invoice :: Text -> Text -> Text -> CurrencyCode -> Int -> Invoice
-- | Product name
[inv_title] :: Invoice -> Text
-- | Product description
[inv_description] :: Invoice -> Text
-- | Unique bot deep-linking parameter that can be used to generate this
-- invoice
[inv_start_parameter] :: Invoice -> Text
-- | Three-letter ISO 4217 currency code
[inv_currency] :: Invoice -> CurrencyCode
-- | Total price in the smallest units of the currency (integer, not
-- floatdouble). For example, for a price of US$ 1.45 pass amount =
-- 145. See the exp parameter in
-- <https:core.telegram.orgbotspaymentscurrencies.json
-- currencies.json>, it shows the number of digits past the decimal
-- point for each currency (2 for the majority of currencies).
[inv_total_amount] :: Invoice -> Int
data ShippingAddress
ShippingAddress :: Text -> Maybe Text -> Text -> Text -> Text -> Text -> ShippingAddress
-- | ISO 3166-1 alpha-2 country code
[ship_addr_country_code] :: ShippingAddress -> Text
-- | State, if applicable
[ship_addr_state] :: ShippingAddress -> Maybe Text
-- | City
[ship_addr_city] :: ShippingAddress -> Text
-- | First line for the address
[ship_addr_street_line1] :: ShippingAddress -> Text
-- | Second line for the address
[ship_addr_street_line2] :: ShippingAddress -> Text
-- | Address post code
[ship_addr_post_code] :: ShippingAddress -> Text
data OrderInfo
OrderInfo :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe ShippingAddress -> OrderInfo
-- | User name
[ord_info_name] :: OrderInfo -> Maybe Text
-- | User's phone number
[ord_info_phone_number] :: OrderInfo -> Maybe Text
-- | User email
[ord_info_email] :: OrderInfo -> Maybe Text
-- | User shipping address
[ord_info_shipping_address] :: OrderInfo -> Maybe ShippingAddress
data ShippingOption
ShippingOption :: Text -> Text -> [LabeledPrice] -> ShippingOption
-- | Shipping option identifier
[ship_opt_id] :: ShippingOption -> Text
-- | Option title
[ship_opt_title] :: ShippingOption -> Text
-- | List of price portions
[ship_opt_prices] :: ShippingOption -> [LabeledPrice]
data SuccessfulPayment
SuccessfulPayment :: CurrencyCode -> Int -> Text -> Maybe Text -> Maybe OrderInfo -> Text -> Text -> SuccessfulPayment
-- | Three-letter ISO 4217 currency code
[suc_pmnt_currency] :: SuccessfulPayment -> CurrencyCode
-- | Total price in the smallest units of the currency (integer, not
-- floatdouble). For example, for a price of US$ 1.45 pass amount =
-- 145. See the exp parameter in
-- <https:core.telegram.orgbotspaymentscurrencies.json
-- currencies.json>, it shows the number of digits past the decimal
-- point for each currency (2 for the majority of currencies).
[suc_pmnt_total_amount] :: SuccessfulPayment -> Int
-- | Bot specified invoice payload
[suc_pmnt_invoice_payload] :: SuccessfulPayment -> Text
-- | Identifier of the shipping option chosen by the user
[suc_pmnt_shipping_option_id] :: SuccessfulPayment -> Maybe Text
-- | Order info provided by the user
[suc_pmnt_order_info] :: SuccessfulPayment -> Maybe OrderInfo
-- | Telegram payment identifier
[suc_pmnt_telegram_payment_charge_id] :: SuccessfulPayment -> Text
-- | Provider payment identifier
[suc_pmnt_provider_payment_charge_id] :: SuccessfulPayment -> Text
data ShippingQuery
ShippingQuery :: Text -> User -> Text -> ShippingAddress -> ShippingQuery
-- | Unique query identifier
[ship_q_id] :: ShippingQuery -> Text
-- | User who sent the query
[ship_q_from] :: ShippingQuery -> User
-- | Bot specified invoice payload
[ship_q_invoice_payload] :: ShippingQuery -> Text
-- | User specified shipping address
[ship_q_shipping_address] :: ShippingQuery -> ShippingAddress
data PreCheckoutQuery
PreCheckoutQuery :: Text -> User -> CurrencyCode -> Int -> Text -> Maybe Text -> Maybe OrderInfo -> PreCheckoutQuery
-- | Unique query identifier
[pre_che_id] :: PreCheckoutQuery -> Text
-- | User who sent the query
[pre_che_from] :: PreCheckoutQuery -> User
-- | Three-letter ISO 4217 currency code
[pre_che_currency] :: PreCheckoutQuery -> CurrencyCode
-- | Total price in the smallest units of the currency (integer, not
-- floatdouble). For example, for a price of US$ 1.45 pass amount =
-- 145. See the exp parameter in
-- <https:core.telegram.orgbotspaymentscurrencies.json
-- currencies.json>, it shows the number of digits past the decimal
-- point for each currency (2 for the majority of currencies).
[pre_che_total_amount] :: PreCheckoutQuery -> Int
-- | Bot specified invoice payload
[pre_che_invoice_payload] :: PreCheckoutQuery -> Text
-- | Identifier of the shipping option chosen by the user
[pre_che_shipping_option_id] :: PreCheckoutQuery -> Maybe Text
-- | Order info provided by the user
[pre_che_order_info] :: PreCheckoutQuery -> Maybe OrderInfo
inlineKeyboardButton :: Text -> InlineKeyboardButton
keyboardButton :: Text -> KeyboardButton
inlineQueryResultArticle :: Text -> Text -> InputMessageContent -> InlineQueryResult
inlineQueryResultAudio :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultContact :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultDocument :: Text -> Text -> Text -> Text -> InlineQueryResult
inlineQueryResultGif :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultLocation :: Text -> Float -> Float -> Text -> InlineQueryResult
inlineQueryResultMpeg4Gif :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultPhoto :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultVenue :: Text -> Float -> Float -> Text -> Text -> InlineQueryResult
inlineQueryResultVideo :: Text -> Text -> Text -> Text -> Text -> InlineQueryResult
inlineQueryResultVoice :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultCachedAudio :: Text -> Text -> InlineQueryResult
inlineQueryResultCachedDocument :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultCachedGif :: Text -> Text -> InlineQueryResult
inlineQueryResultCachedMpeg4Gif :: Text -> Text -> InlineQueryResult
inlineQueryResultGame :: Text -> Text -> InlineQueryResult
inlineQueryResultCachedPhoto :: Text -> Text -> InlineQueryResult
inlineQueryResultCachedSticker :: Text -> Text -> InlineQueryResult
inlineQueryResultCachedVideo :: Text -> Text -> Text -> InlineQueryResult
inlineQueryResultCachedVoice :: Text -> Text -> Text -> InlineQueryResult
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Update
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Update
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Update
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Update
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.PreCheckoutQuery
instance GHC.Show.Show Web.Telegram.API.Bot.Data.PreCheckoutQuery
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.ShippingQuery
instance GHC.Show.Show Web.Telegram.API.Bot.Data.ShippingQuery
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.CallbackQuery
instance GHC.Show.Show Web.Telegram.API.Bot.Data.CallbackQuery
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Message
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Message
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Message
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Message
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.SuccessfulPayment
instance GHC.Show.Show Web.Telegram.API.Bot.Data.SuccessfulPayment
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.ShippingOption
instance GHC.Show.Show Web.Telegram.API.Bot.Data.ShippingOption
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.OrderInfo
instance GHC.Show.Show Web.Telegram.API.Bot.Data.OrderInfo
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.ShippingAddress
instance GHC.Show.Show Web.Telegram.API.Bot.Data.ShippingAddress
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Invoice
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Invoice
instance GHC.Classes.Ord Web.Telegram.API.Bot.Data.CurrencyCode
instance GHC.Classes.Eq Web.Telegram.API.Bot.Data.CurrencyCode
instance GHC.Show.Show Web.Telegram.API.Bot.Data.CurrencyCode
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.LabeledPrice
instance GHC.Show.Show Web.Telegram.API.Bot.Data.LabeledPrice
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.WebhookInfo
instance GHC.Show.Show Web.Telegram.API.Bot.Data.WebhookInfo
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.KeyboardButton
instance GHC.Show.Show Web.Telegram.API.Bot.Data.KeyboardButton
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Venue
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Venue
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Game
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Game
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.MessageEntity
instance GHC.Show.Show Web.Telegram.API.Bot.Data.MessageEntity
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.ChatMember
instance GHC.Show.Show Web.Telegram.API.Bot.Data.ChatMember
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.UserProfilePhotos
instance GHC.Show.Show Web.Telegram.API.Bot.Data.UserProfilePhotos
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.UserProfilePhotos
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.UserProfilePhotos
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.File
instance GHC.Show.Show Web.Telegram.API.Bot.Data.File
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.File
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.File
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.InlineQuery
instance GHC.Show.Show Web.Telegram.API.Bot.Data.InlineQuery
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.ChosenInlineResult
instance GHC.Show.Show Web.Telegram.API.Bot.Data.ChosenInlineResult
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Location
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Location
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Location
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Location
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.InlineQueryResult
instance GHC.Show.Show Web.Telegram.API.Bot.Data.InlineQueryResult
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.InlineKeyboardMarkup
instance GHC.Show.Show Web.Telegram.API.Bot.Data.InlineKeyboardMarkup
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.InlineKeyboardMarkup
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.InlineKeyboardMarkup
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.InlineKeyboardButton
instance GHC.Show.Show Web.Telegram.API.Bot.Data.InlineKeyboardButton
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.CallbackGame
instance GHC.Show.Show Web.Telegram.API.Bot.Data.CallbackGame
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.InputMessageContent
instance GHC.Show.Show Web.Telegram.API.Bot.Data.InputMessageContent
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Voice
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Voice
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Video
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Video
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Sticker
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Sticker
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Animation
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Animation
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Document
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Document
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Audio
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Audio
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.PhotoSize
instance GHC.Show.Show Web.Telegram.API.Bot.Data.PhotoSize
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.ParseMode
instance GHC.Show.Show Web.Telegram.API.Bot.Data.ParseMode
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Chat
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Chat
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.ChatType
instance GHC.Show.Show Web.Telegram.API.Bot.Data.ChatType
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.Contact
instance GHC.Show.Show Web.Telegram.API.Bot.Data.Contact
instance GHC.Generics.Generic Web.Telegram.API.Bot.Data.User
instance GHC.Show.Show Web.Telegram.API.Bot.Data.User
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.User
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.User
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Contact
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Contact
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Chat
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Chat
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.ChatType
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.ChatType
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.ParseMode
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.ParseMode
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.PhotoSize
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.PhotoSize
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Audio
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Audio
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Document
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Document
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Game
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Game
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Animation
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Animation
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Sticker
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Sticker
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Video
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Video
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Voice
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Voice
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.InlineQuery
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.InlineQuery
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.ChosenInlineResult
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.ChosenInlineResult
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.InputMessageContent
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.InputMessageContent
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.InlineQueryResult
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.InlineQueryResult
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.InlineKeyboardButton
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.InlineKeyboardButton
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.CallbackGame
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.CallbackGame
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.CallbackQuery
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.CallbackQuery
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.ChatMember
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.ChatMember
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.MessageEntity
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.MessageEntity
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Venue
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Venue
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.KeyboardButton
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.KeyboardButton
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.WebhookInfo
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.WebhookInfo
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.LabeledPrice
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.LabeledPrice
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.CurrencyCode
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.CurrencyCode
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.Invoice
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.Invoice
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.ShippingAddress
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.ShippingAddress
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.OrderInfo
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.OrderInfo
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.ShippingOption
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.ShippingOption
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.SuccessfulPayment
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.SuccessfulPayment
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.ShippingQuery
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.ShippingQuery
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Data.PreCheckoutQuery
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Data.PreCheckoutQuery
-- | This module contains responses from Telegram Bot API
module Web.Telegram.API.Bot.Responses
data Response a
Response :: a -> Maybe ResponseParameters -> Response a
[result] :: Response a -> a
[parameters] :: Response a -> Maybe ResponseParameters
data ResponseParameters
ResponseParameters :: Maybe Int64 -> Maybe Int -> ResponseParameters
-- | The group has been migrated to a supergroup with the specified
-- identifier. This number may be greater than 32 bits and some
-- programming languages may have difficulty/silent defects in
-- interpreting it. But it is smaller than 52 bits, so a signed 64 bit
-- integer or double-precision float type are safe for storing this
-- identifier.
[res_migrate_to_chat_id] :: ResponseParameters -> Maybe Int64
-- | In case of exceeding flood control, the number of seconds left to wait
-- before the request can be repeated
[res_retry_after] :: ResponseParameters -> Maybe Int
-- | This object represents getMe response
type GetMeResponse = Response User
-- | This object represents message response
type MessageResponse = Response Message
-- | This object represents sendChatAction response
type ChatActionResponse = Response Bool
-- | This object represents getUpdates response
type UpdatesResponse = Response [Update]
-- | This object represents file response
type FileResponse = Response File
-- | This object represents user profile photos response
type UserProfilePhotosResponse = Response UserProfilePhotos
-- | This object represents setWebhook response
type SetWebhookResponse = Response Bool
-- | This object represents answerInlineQuery response
type InlineQueryResponse = Response Bool
-- | This object represents answerCallbackQuery response
type CallbackQueryResponse = Response Bool
-- | This object represents kickChatMember response
type KickChatMemberResponse = Response Bool
type LeaveChatResponse = Response Bool
-- | This object represents unbanChatMember response
type UnbanChatMemberResponse = Response Bool
type GetChatResponse = Response Chat
type GetChatAdministratorsResponse = Response [ChatMember]
type GetChatMembersCountResponse = Response Int
type GetChatMemberResponse = Response ChatMember
type GetWebhookInfoResponse = Response WebhookInfo
type AnswerShippingQueryResponse = Response Bool
type AnswerPreCheckoutQueryResponse = Response Bool
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Web.Telegram.API.Bot.Responses.Response a)
instance GHC.Generics.Generic (Web.Telegram.API.Bot.Responses.Response a)
instance GHC.Show.Show a => GHC.Show.Show (Web.Telegram.API.Bot.Responses.Response a)
instance GHC.Generics.Generic Web.Telegram.API.Bot.Responses.ResponseParameters
instance GHC.Show.Show Web.Telegram.API.Bot.Responses.ResponseParameters
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Responses.ResponseParameters
module Web.Telegram.API.Bot.API.Get
-- | A simple method for testing your bot's auth token. Requires no
-- parameters. Returns basic information about the bot in form of a
-- User object.
getMe :: Token -> Manager -> IO (Either ServantError GetMeResponse)
-- | See getMe
getMeM :: TelegramClient GetMeResponse
-- | Use this method to get basic info about a file and prepare it for
-- downloading. For the moment, bots can download files of up to 20MB in
-- size. On success, a File object is returned. The file can
-- then be downloaded via the link
-- https://api.telegram.org/file/bot<token>/<file_path>,
-- where file_path is taken from the response. It is
-- guaranteed that the link will be valid for at least 1 hour. When the
-- link expires, a new one can be requested by calling getFile again.
getFile :: Token -> Text -> Manager -> IO (Either ServantError FileResponse)
-- | See getFile
getFileM :: Text -> TelegramClient FileResponse
-- | Use this method to get a list of profile pictures for a user. Returns
-- a UserProfilePhotos object.
getUserProfilePhotos :: Token -> Integer -> Maybe Int -> Maybe Int -> Manager -> IO (Either ServantError UserProfilePhotosResponse)
-- | See getUserProfilePhotos
getUserProfilePhotosM :: Integer -> Maybe Int -> Maybe Int -> TelegramClient UserProfilePhotosResponse
-- | Telegram Bot API
type TelegramBotGetAPI = (TelegramToken :> ("getMe" :> Get '[JSON] GetMeResponse)) :<|> ((TelegramToken :> ("getFile" :> (QueryParam "file_id" Text :> Get '[JSON] FileResponse))) :<|> (TelegramToken :> ("getUserProfilePhotos" :> (QueryParam "user_id" Integer :> (QueryParam "offset" Int :> (QueryParam "limit" Int :> Get '[JSON] UserProfilePhotosResponse))))))
-- | Proxy for Thelegram Bot API
getApi :: Proxy TelegramBotGetAPI
module Web.Telegram.API.Bot.API.Chats
-- | Use this method to kick a user from a group or a supergroup. In the
-- case of supergroups, the user will not be able to return to the group
-- on their own using invite links, etc., unless unbanned first. The bot
-- must be an administrator in the group for this to work.
kickChatMember :: Token -> Text -> Int -> Manager -> IO (Either ServantError KickChatMemberResponse)
-- | See kickChatMember
kickChatMemberM :: Text -> Int -> TelegramClient KickChatMemberResponse
-- | Use this method for your bot to leave a group, supergroup or channel.
-- Returns True on success.
leaveChat :: Token -> Text -> Manager -> IO (Either ServantError LeaveChatResponse)
-- | See leaveChat
leaveChatM :: Text -> TelegramClient LeaveChatResponse
-- | Use this method to unban a previously kicked user in a supergroup. The
-- user will not return to the group automatically, but will be able to
-- join via link, etc. The bot must be an administrator in the group for
-- this to work.
unbanChatMember :: Token -> Text -> Int -> Manager -> IO (Either ServantError UnbanChatMemberResponse)
-- | See unbanChatMember
unbanChatMemberM :: Text -> Int -> TelegramClient UnbanChatMemberResponse
-- | Use this method to get up to date information about the chat (current
-- name of the user for one-on-one conversations, current username of a
-- user, group or channel, etc.)
getChat :: Token -> Text -> Manager -> IO (Either ServantError GetChatResponse)
-- | See getChat
getChatM :: Text -> TelegramClient GetChatResponse
-- | Use this method to get a list of administrators in a chat. On success,
-- returns an Array of ChatMember objects that contains
-- information about all chat administrators except other bots. If the
-- chat is a group or a supergroup and no administrators were appointed,
-- only the creator will be returned.
getChatAdministrators :: Token -> Text -> Manager -> IO (Either ServantError GetChatAdministratorsResponse)
-- | See getChatAdministrators
getChatAdministratorsM :: Text -> TelegramClient GetChatAdministratorsResponse
-- | Use this method to get the number of members in a chat. Returns
-- Int on success.
getChatMembersCount :: Token -> Text -> Manager -> IO (Either ServantError GetChatMembersCountResponse)
-- | See getChatMembersCount
getChatMembersCountM :: Text -> TelegramClient GetChatMembersCountResponse
-- | Use this method to get information about a member of a chat. Returns a
-- ChatMember object on success.
getChatMember :: Token -> Text -> Int -> Manager -> IO (Either ServantError GetChatMemberResponse)
-- | See getChatMember
getChatMemberM :: Text -> Int -> TelegramClient GetChatMemberResponse
-- | Telegram Bot API
type TelegramBotChatsAPI = (TelegramToken :> ("kickChatMember" :> (QueryParam "chat_id" Text :> (QueryParam "user_id" Int :> Post '[JSON] KickChatMemberResponse)))) :<|> ((TelegramToken :> ("leaveChat" :> (QueryParam "chat_id" Text :> Post '[JSON] LeaveChatResponse))) :<|> ((TelegramToken :> ("unbanChatMember" :> (QueryParam "chat_id" Text :> (QueryParam "user_id" Int :> Post '[JSON] UnbanChatMemberResponse)))) :<|> ((TelegramToken :> ("getChat" :> (QueryParam "chat_id" Text :> Post '[JSON] GetChatResponse))) :<|> ((TelegramToken :> ("getChatAdministrators" :> (QueryParam "chat_id" Text :> Post '[JSON] GetChatAdministratorsResponse))) :<|> ((TelegramToken :> ("getChatMembersCount" :> (QueryParam "chat_id" Text :> Post '[JSON] GetChatMembersCountResponse))) :<|> (TelegramToken :> ("getChatMember" :> (QueryParam "chat_id" Text :> (QueryParam "user_id" Int :> Post '[JSON] GetChatMemberResponse)))))))))
-- | Proxy for Thelegram Bot API to administrate chats
chatsApi :: Proxy TelegramBotChatsAPI
-- | This module contains data objects which represents requests to
-- Telegram Bot API
module Web.Telegram.API.Bot.Requests
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
data ChatId
ChatId :: Int64 -> ChatId
ChatChannel :: Text -> ChatId
-- | This object represents request for sendMessage
data SendMessageRequest
SendMessageRequest :: ChatId -> Text -> Maybe ParseMode -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendMessageRequest
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[message_chat_id] :: SendMessageRequest -> ChatId
-- | Text of the message to be sent
[message_text] :: SendMessageRequest -> Text
-- | Send Markdown, if you want Telegram apps to show bold, italic
-- and inline URLs in your bot's message
[message_parse_mode] :: SendMessageRequest -> Maybe ParseMode
-- | Disables link previews for links in this message
[message_disable_web_page_preview] :: SendMessageRequest -> Maybe Bool
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[message_disable_notification] :: SendMessageRequest -> Maybe Bool
-- | If the message is a reply, ID of the original message
[message_reply_to_message_id] :: SendMessageRequest -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[message_reply_markup] :: SendMessageRequest -> Maybe ReplyKeyboard
-- | This object represents request for forwardMessage
data ForwardMessageRequest
ForwardMessageRequest :: ChatId -> ChatId -> Maybe Bool -> Int -> ForwardMessageRequest
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[forward_chat_id] :: ForwardMessageRequest -> ChatId
-- | Unique identifier for the chat where the original message was sent (or
-- channel username in the format @channelusername)
[forward_from_chat_id] :: ForwardMessageRequest -> ChatId
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[forward_disable_notification] :: ForwardMessageRequest -> Maybe Bool
-- | Unique message identifier
[forward_message_id] :: ForwardMessageRequest -> Int
-- | This object represents data (image, video, ...) with mime type to
-- upload.
data FileUpload
FileUpload :: Maybe MimeType -> FileUploadContent -> FileUpload
-- | Mime type of the upload.
[fileUpload_type] :: FileUpload -> Maybe MimeType
-- | The payload/source to upload.
[fileUpload_content] :: FileUpload -> FileUploadContent
-- | This object represents data (image, video, ...) to upload.
data FileUploadContent
FileUploadFile :: FilePath -> FileUploadContent
FileUploadBS :: ByteString -> FileUploadContent
FileUploadLBS :: ByteString -> FileUploadContent
-- | This object represents request for setWebhookWithCertificate
data SetWebhookRequest
SetWebhookRequest :: Text -> FileUpload -> Maybe Int -> SetWebhookRequest
-- | HTTPS url to send updates to. Use setWebhook function and an
-- empty string to remove webhook integration
[webhook_url] :: SetWebhookRequest -> Text
-- | Upload your public key certificate so that the root certificate in use
-- can be checked.
[webhook_certificate] :: SetWebhookRequest -> FileUpload
[webhook_max_connections] :: SetWebhookRequest -> Maybe Int
SetWebhookWithoutCertRequest :: Text -> Maybe Int -> Maybe [Text] -> SetWebhookRequest
-- | HTTPS url to send updates to. Use setWebhook function and an
-- empty string to remove webhook integration
[webhook_url] :: SetWebhookRequest -> Text
[webhook_max_connections] :: SetWebhookRequest -> Maybe Int
[webhook_allowed_updates] :: SetWebhookRequest -> Maybe [Text]
data GetUpdatesRequest
GetUpdatesRequest :: Maybe Int -> Maybe Int -> Maybe Int -> Maybe [Text] -> GetUpdatesRequest
-- | Identifier of the first update to be returned. Must be greater by one
-- than the highest among the identifiers of previously received updates.
-- By default, updates starting with the earliest unconfirmed update are
-- returned. An update is considered confirmed as soon as
-- getUpdates is called with an offset higher than its
-- update_id. The negative offset can be specified to retrieve updates
-- starting from -offset update from the end of the updates queue. All
-- previous updates will forgotten.
[updates_offset] :: GetUpdatesRequest -> Maybe Int
-- | Limits the number of updates to be retrieved. Values between 1—100 are
-- accepted. Defaults to 100.
[updates_limit] :: GetUpdatesRequest -> Maybe Int
-- | Timeout in seconds for long polling. Defaults to 0, i.e. usual short
-- polling. Should be positive, short polling should be used for testing
-- purposes only.
[updates_timeout] :: GetUpdatesRequest -> Maybe Int
-- | List the types of updates you want your bot to receive. For example,
-- specify [“message”, “edited_channel_post”, “callback_query”] to only
-- receive updates of these types. See Update for a complete
-- list of available update types. Specify an empty list to receive all
-- updates regardless of type (default). If not specified, the previous
-- setting will be used.
[updates_allowed_updates] :: GetUpdatesRequest -> Maybe [Text]
-- | This object represents request for sendPhoto
data SendPhotoRequest payload
SendPhotoRequest :: ChatId -> payload -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendPhotoRequest payload
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[photo_chat_id] :: SendPhotoRequest payload -> ChatId
-- | Photo to send. You can either pass a file_id as String to resend a
-- photo that is already on the Telegram servers, or upload a new photo.
[photo_photo] :: SendPhotoRequest payload -> payload
-- | Photo caption (may also be used when resending photos by file_id),
-- 0-200 characters.
[photo_caption] :: SendPhotoRequest payload -> Maybe Text
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[photo_disable_notification] :: SendPhotoRequest payload -> Maybe Bool
-- | If the message is a reply, ID of the original message
[photo_reply_to_message_id] :: SendPhotoRequest payload -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[photo_reply_markup] :: SendPhotoRequest payload -> Maybe ReplyKeyboard
-- | This object represents request for sendAudio
data SendAudioRequest payload
SendAudioRequest :: ChatId -> payload -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendAudioRequest payload
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[_audio_chat_id] :: SendAudioRequest payload -> ChatId
-- | Audio to send. You can either pass a file_id as String to resend an
-- audio that is already on the Telegram servers, or upload a new audio
-- file.
[_audio_audio] :: SendAudioRequest payload -> payload
-- | Audio caption, 0-200 characters
[_audio_caption] :: SendAudioRequest payload -> Maybe Text
-- | Duration of the audio in seconds
[_audio_duration] :: SendAudioRequest payload -> Maybe Int
-- | Performer
[_audio_performer] :: SendAudioRequest payload -> Maybe Text
-- | Track name
[_audio_title] :: SendAudioRequest payload -> Maybe Text
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[_audio_disable_notification] :: SendAudioRequest payload -> Maybe Bool
-- | If the message is a reply, ID of the original message
[_audio_reply_to_message_id] :: SendAudioRequest payload -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[_audio_reply_markup] :: SendAudioRequest payload -> Maybe ReplyKeyboard
-- | This object represents request for sendDocument
data SendDocumentRequest payload
SendDocumentRequest :: ChatId -> payload -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendDocumentRequest payload
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[document_chat_id] :: SendDocumentRequest payload -> ChatId
-- | File to send. You can either pass a file_id as String to resend a file
-- that is already on the Telegram servers, or upload a new file.
[document_document] :: SendDocumentRequest payload -> payload
-- | Document caption (may also be used when resending documents by
-- file_id), 0-200 characters
[document_caption] :: SendDocumentRequest payload -> Maybe Text
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[document_disable_notification] :: SendDocumentRequest payload -> Maybe Bool
-- | If the message is a reply, ID of the original message
[document_reply_to_message_id] :: SendDocumentRequest payload -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[document_reply_markup] :: SendDocumentRequest payload -> Maybe ReplyKeyboard
-- | This object represents request for sendSticker
data SendStickerRequest payload
SendStickerRequest :: ChatId -> payload -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendStickerRequest payload
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[sticker_chat_id] :: SendStickerRequest payload -> ChatId
-- | Sticker to send. You can either pass a file_id as String to resend a
-- sticker that is already on the Telegram servers, or upload a new
-- sticker.
[sticker_sticker] :: SendStickerRequest payload -> payload
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[sticker_disable_notification] :: SendStickerRequest payload -> Maybe Bool
-- | If the message is a reply, ID of the original message
[sticker_reply_to_message_id] :: SendStickerRequest payload -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[sticker_reply_markup] :: SendStickerRequest payload -> Maybe ReplyKeyboard
-- | This object represents request for sendVideo
data SendVideoRequest payload
SendVideoRequest :: ChatId -> payload -> Maybe Int -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendVideoRequest payload
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[_video_chat_id] :: SendVideoRequest payload -> ChatId
-- | Video to send. You can either pass a file_id as String to resend a
-- video that is already on the Telegram servers, or upload a new video.
[_video_video] :: SendVideoRequest payload -> payload
-- | Duration of sent video in seconds
[_video_duration] :: SendVideoRequest payload -> Maybe Int
-- | Video caption, 0-200 characters.
[_video_caption] :: SendVideoRequest payload -> Maybe Text
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[_video_disable_notification] :: SendVideoRequest payload -> Maybe Bool
-- | If the message is a reply, ID of the original message
[_video_reply_to_message_id] :: SendVideoRequest payload -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[_video_reply_markup] :: SendVideoRequest payload -> Maybe ReplyKeyboard
-- | This object represents request for sendVoice
data SendVoiceRequest payload
SendVoiceRequest :: ChatId -> payload -> Maybe Text -> Maybe Int -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendVoiceRequest payload
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[_voice_chat_id] :: SendVoiceRequest payload -> ChatId
-- | Audio file to send. You can either pass a file_id as String to resend
-- an audio that is already on the Telegram servers, or upload a new
-- audio file.
[_voice_voice] :: SendVoiceRequest payload -> payload
-- | Voice message caption, 0-200 characters
[_voice_caption] :: SendVoiceRequest payload -> Maybe Text
-- | Duration of sent audio in seconds
[_voice_duration] :: SendVoiceRequest payload -> Maybe Int
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[_voice_disable_notification] :: SendVoiceRequest payload -> Maybe Bool
-- | If the message is a reply, ID of the original message
[_voice_reply_to_message_id] :: SendVoiceRequest payload -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[_voice_reply_markup] :: SendVoiceRequest payload -> Maybe ReplyKeyboard
-- | This object represents request for sendLocation
data SendLocationRequest
SendLocationRequest :: ChatId -> Float -> Float -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendLocationRequest
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[location_chat_id] :: SendLocationRequest -> ChatId
-- | Latitude of location
[location_latitude] :: SendLocationRequest -> Float
-- | Longitude of location
[location_longitude] :: SendLocationRequest -> Float
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[location_disable_notification] :: SendLocationRequest -> Maybe Bool
-- | If the message is a reply, ID of the original message
[location_reply_to_message_id] :: SendLocationRequest -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[location_reply_markup] :: SendLocationRequest -> Maybe ReplyKeyboard
-- | This object represents request for sendVenue
data SendVenueRequest
SendVenueRequest :: ChatId -> Float -> Float -> Text -> Text -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendVenueRequest
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[_venue_chat_id] :: SendVenueRequest -> ChatId
-- | Latitude of the venue
[_venue_latitude] :: SendVenueRequest -> Float
-- | Longitude of the venue
[_venue_longitude] :: SendVenueRequest -> Float
-- | Name of the venue
[_venue_title] :: SendVenueRequest -> Text
-- | Address of the venue
[_venue_address] :: SendVenueRequest -> Text
-- | Foursquare identifier of the venue
[_venue_foursquare_id] :: SendVenueRequest -> Maybe Text
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[_venue_disable_notification] :: SendVenueRequest -> Maybe Bool
-- | If the message is a reply, ID of the original message
[_venue_reply_to_message_id] :: SendVenueRequest -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[_venue_reply_markup] :: SendVenueRequest -> Maybe ReplyKeyboard
-- | This object represents request for sendContact
data SendContactRequest
SendContactRequest :: ChatId -> Text -> Text -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe ReplyKeyboard -> SendContactRequest
-- | Unique identifier for the target chat or username of the target
-- channel (in the format @channelusername)
[_contact_chat_id] :: SendContactRequest -> ChatId
-- | Contact's phone number
[_contact_phone_number] :: SendContactRequest -> Text
-- | Contact's first name
[_contact_first_name] :: SendContactRequest -> Text
-- | Contact's last name
[_contact_last_name] :: SendContactRequest -> Maybe Text
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[_contact_disable_notification] :: SendContactRequest -> Maybe Bool
-- | If the message is a reply, ID of the original message
[_contact_reply_to_message_id] :: SendContactRequest -> Maybe Int
-- | Additional interface options. A JSON-serialized object for a custom
-- reply keyboard, instructions to hide keyboard or to force a reply from
-- the user.
[_contact_reply_markup] :: SendContactRequest -> Maybe ReplyKeyboard
-- | This object represents request for sendChatAction
data SendChatActionRequest
SendChatActionRequest :: ChatId -> ChatAction -> SendChatActionRequest
-- | Unique identifier for the target chat or username of the target
-- channel (in the format `@channelusername`)
[action_chat_id] :: SendChatActionRequest -> ChatId
-- | Type of action to broadcast.
[action_action] :: SendChatActionRequest -> ChatAction
-- | This object represents request for sendGame
data SendGameRequest
SendGameRequest :: Integer -> Text -> Maybe Bool -> Maybe Int -> Maybe InlineKeyboardMarkup -> SendGameRequest
-- | Unique identifier for the target chat
[game_chat_id] :: SendGameRequest -> Integer
-- | Short name of the game, serves as the unique identifier for the game.
-- Set up your games via Botfather.
[game_game_short_name] :: SendGameRequest -> Text
-- | Sends the message silently. iOS users will not receive a notification,
-- Android users will receive a notification with no sound.
[game_disable_notification] :: SendGameRequest -> Maybe Bool
-- | If the message is a reply, ID of the original message
[game_reply_to_message_id] :: SendGameRequest -> Maybe Int
-- | A JSON-serialized object for an inline keyboard. If empty, one ‘Play
-- game_title’ button will be shown. If not empty, the first button must
-- launch the game.
[game_reply_markup] :: SendGameRequest -> Maybe InlineKeyboardMarkup
-- | Type of action to broadcast.
data ChatAction
Typing :: ChatAction
UploadPhoto :: ChatAction
RecordVideo :: ChatAction
UploadVideo :: ChatAction
RecordAudio :: ChatAction
UploadAudio :: ChatAction
UploadDocument :: ChatAction
FindLocation :: ChatAction
data AnswerInlineQueryRequest
AnswerInlineQueryRequest :: Text -> [InlineQueryResult] -> Maybe Int -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> AnswerInlineQueryRequest
-- | Unique identifier for the answered query
[query_inline_query_id] :: AnswerInlineQueryRequest -> Text
-- | A JSON-serialized array of results for the inline query
[query_results] :: AnswerInlineQueryRequest -> [InlineQueryResult]
-- | The maximum amount of time in seconds that the result of the inline
-- query may be cached on the server. Defaults to 300.
[query_cache_time] :: AnswerInlineQueryRequest -> Maybe Int
-- | Pass True, if results may be cached on the server side only for the
-- user that sent the query. By default, results may be returned to any
-- user who sends the same query
[query_is_personal] :: AnswerInlineQueryRequest -> Maybe Bool
-- | Pass the offset that a client should send in the next query with the
-- same text to receive more results. Pass an empty string if there are
-- no more results or if you don‘t support pagination. Offset length
-- can’t exceed 64 bytes.
[query_next_offset] :: AnswerInlineQueryRequest -> Maybe Text
-- | If passed, clients will display a button with specified text that
-- switches the user to a private chat with the bot and sends the bot a
-- start message with the parameter switch_pm_parameter
[query_switch_pm_text] :: AnswerInlineQueryRequest -> Maybe Text
-- | Parameter for the start message sent to the bot when user presses the
-- switch button
--
-- Example: An inline bot that sends YouTube videos can ask the user to
-- connect the bot to their YouTube account to adapt search results
-- accordingly. To do this, it displays a ‘Connect your YouTube account’
-- button above the results, or even before showing any. The user presses
-- the button, switches to a private chat with the bot and, in doing so,
-- passes a start parameter that instructs the bot to return an oauth
-- link. Once done, the bot can offer a switch_inline button so that the
-- user can easily return to the chat where they wanted to use the bot's
-- inline capabilities.
[query_switch_pm_parameter] :: AnswerInlineQueryRequest -> Maybe Text
data AnswerCallbackQueryRequest
AnswerCallbackQueryRequest :: Text -> Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Int -> AnswerCallbackQueryRequest
-- | Unique identifier for the query to be answered
[cq_callback_query_id] :: AnswerCallbackQueryRequest -> Text
-- | Text of the notification. If not specified, nothing will be shown to
-- the user
[cq_text] :: AnswerCallbackQueryRequest -> Maybe Text
-- | If true, an alert will be shown by the client instead of a
-- notification at the top of the chat screen. Defaults to false.
[cq_show_alert] :: AnswerCallbackQueryRequest -> Maybe Bool
-- | URL that will be opened by the user's client. If you have created a
-- Game and accepted the conditions via `@Botfather`, specify
-- the URL that opens your game – note that this will only work if the
-- query comes from a callback_game button. Otherwise, you may
-- use links like telegram.me/your_bot?start=XXXX that open your bot with
-- a parameter.
[cq_url] :: AnswerCallbackQueryRequest -> Maybe Text
-- | The maximum amount of time in seconds that the result of the callback
-- query may be cached client-side. Telegram apps will support caching
-- starting in version 3.14. Defaults to 0.
[cq_cache_time] :: AnswerCallbackQueryRequest -> Maybe Int
data ReplyKeyboard
-- | This object represents a custom keyboard with reply options
ReplyInlineKeyboardMarkup :: [[InlineKeyboardButton]] -> ReplyKeyboard
-- | Array of button rows, each represented by an Array of
-- InlineKeyboardButton objects
[reply_inline_keyboard] :: ReplyKeyboard -> [[InlineKeyboardButton]]
ReplyKeyboardMarkup :: [[KeyboardButton]] -> Maybe Bool -> Maybe Bool -> Maybe Bool -> ReplyKeyboard
-- | Array of button rows, each represented by an Array of
-- KeyboardButton objects
[reply_keyboard] :: ReplyKeyboard -> [[KeyboardButton]]
-- | Requests clients to resize the keyboard vertically for optimal fit
-- (e.g., make the keyboard smaller if there are just two rows of
-- buttons). Defaults to false, in which case the custom keyboard is
-- always of the same height as the app's standard keyboard.
[reply_resize_keyboard] :: ReplyKeyboard -> Maybe Bool
-- | Requests clients to hide the keyboard as soon as it's been used.
-- Defaults to false.
[reply_one_time_keyboard] :: ReplyKeyboard -> Maybe Bool
-- | Use this parameter if you want to show the keyboard to specific users
-- only. Targets: 1) users that are @mentioned in the text of the Message
-- object; 2) if the bot's message is a reply (has reply_to_message_id),
-- sender of the original message. Example: A user requests to change the
-- bot‘s language, bot replies to the request with a keyboard to select
-- the new language. Other users in the group don’t see the keyboard.
[reply_selective] :: ReplyKeyboard -> Maybe Bool
-- | Upon receiving a message with this object, Telegram clients will hide
-- the current custom keyboard and display the default letter-keyboard.
-- By default, custom keyboards are displayed until a new keyboard is
-- sent by a bot. An exception is made for one-time keyboards that are
-- hidden immediately after the user presses a button
ReplyKeyboardHide :: Bool -> Maybe Bool -> ReplyKeyboard
-- | Requests clients to hide the custom keyboard
[reply_hide_keyboard] :: ReplyKeyboard -> Bool
-- | Use this parameter if you want to show the keyboard to specific users
-- only. Targets: 1) users that are @mentioned in the text of the Message
-- object; 2) if the bot's message is a reply (has reply_to_message_id),
-- sender of the original message. Example: A user requests to change the
-- bot‘s language, bot replies to the request with a keyboard to select
-- the new language. Other users in the group don’t see the keyboard.
[reply_selective] :: ReplyKeyboard -> Maybe Bool
ReplyKeyboardRemove :: Bool -> Maybe Bool -> ReplyKeyboard
-- | Requests clients to remove the custom keyboard (user will not be able
-- to summon this keyboard; if you want to hide the keyboard from sight
-- but keep it accessible, use one_time_keyboard in
-- ReplyKeyboardMarkup)
[reply_remove_keyboard] :: ReplyKeyboard -> Bool
-- | Use this parameter if you want to show the keyboard to specific users
-- only. Targets: 1) users that are @mentioned in the text of the Message
-- object; 2) if the bot's message is a reply (has reply_to_message_id),
-- sender of the original message. Example: A user requests to change the
-- bot‘s language, bot replies to the request with a keyboard to select
-- the new language. Other users in the group don’t see the keyboard.
[reply_selective] :: ReplyKeyboard -> Maybe Bool
-- | Upon receiving a message with this object, Telegram clients will
-- display a reply interface to the user (act as if the user has selected
-- the bot‘s message and tapped ’Reply'). This can be extremely useful if
-- you want to create user-friendly step-by-step interfaces without
-- having to sacrifice privacy mode.
ForceReply :: Bool -> Maybe Bool -> ReplyKeyboard
-- | Shows reply interface to the user, as if they manually selected the
-- bot‘s message and tapped ’Reply'
[reply_force_reply] :: ReplyKeyboard -> Bool
-- | Use this parameter if you want to show the keyboard to specific users
-- only. Targets: 1) users that are @mentioned in the text of the Message
-- object; 2) if the bot's message is a reply (has reply_to_message_id),
-- sender of the original message. Example: A user requests to change the
-- bot‘s language, bot replies to the request with a keyboard to select
-- the new language. Other users in the group don’t see the keyboard.
[reply_selective] :: ReplyKeyboard -> Maybe Bool
data EditMessageTextRequest
EditMessageTextRequest :: Maybe ChatId -> Maybe Int -> Maybe Text -> Text -> Maybe ParseMode -> Maybe Bool -> Maybe InlineKeyboardMarkup -> EditMessageTextRequest
-- | Required if inline_message_id is not specified. Unique
-- identifier for the target chat or username of the target channel (in
-- the format `@channelusername`)
[emt_chat_id] :: EditMessageTextRequest -> Maybe ChatId
-- | if inline_message_id is not specified. Unique identifier of
-- the sent message
[emt_message_id] :: EditMessageTextRequest -> Maybe Int
-- | Required if chat_id and message_id are not specified. Identifier of
-- the inline message
[emt_inline_message_id] :: EditMessageTextRequest -> Maybe Text
-- | New text of the message
[emt_text] :: EditMessageTextRequest -> Text
-- | Send Markdown or HTML, if you want Telegram apps to
-- show bold, italic, fixed-width text or inline URLs in your bot's
-- message.
[emt_parse_mode] :: EditMessageTextRequest -> Maybe ParseMode
-- | Disables link previews for links in this message
[emt_disable_web_page_preview] :: EditMessageTextRequest -> Maybe Bool
-- | A JSON-serialized object for an inline keyboard.
[emt_reply_markup] :: EditMessageTextRequest -> Maybe InlineKeyboardMarkup
data EditMessageCaptionRequest
EditMessageCaptionRequest :: Maybe ChatId -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe InlineKeyboardMarkup -> EditMessageCaptionRequest
-- | Required if inline_message_id is not specified. Unique
-- identifier for the target chat or username of the target channel (in
-- the format `@channelusername`)
[emc_chat_id] :: EditMessageCaptionRequest -> Maybe ChatId
-- | Required if inline_message_id is not specified. Unique
-- identifier of the sent message
[emc_message_id] :: EditMessageCaptionRequest -> Maybe Int
-- | Required if chat_id and message_id are not
-- specified. Identifier of the inline message
[emc_inline_message_id] :: EditMessageCaptionRequest -> Maybe Text
-- | New caption of the message
[emc_caption] :: EditMessageCaptionRequest -> Maybe Text
-- | A JSON-serialized object for an inline keyboard.
[emc_reply_markup] :: EditMessageCaptionRequest -> Maybe InlineKeyboardMarkup
data EditMessageReplyMarkupRequest
EditMessageReplyMarkupRequest :: Maybe ChatId -> Maybe Int -> Maybe Text -> Maybe InlineKeyboardMarkup -> EditMessageReplyMarkupRequest
-- | Required if inline_message_id is not specified. Unique
-- identifier for the target chat or username of the target channel (in
-- the format `@channelusername`)
[emrm_chat_id] :: EditMessageReplyMarkupRequest -> Maybe ChatId
-- | Required if inline_message_id is not specified. Unique
-- identifier of the sent message
[emrm_message_id] :: EditMessageReplyMarkupRequest -> Maybe Int
-- | Required if chat_id and message_id are not
-- specified. Identifier of the inline message
[emrm_inline_message_id] :: EditMessageReplyMarkupRequest -> Maybe Text
-- | A JSON-serialized object for an inline keyboard.
[emrm_reply_markup] :: EditMessageReplyMarkupRequest -> Maybe InlineKeyboardMarkup
data SendInvoiceRequest
SendInvoiceRequest :: Int64 -> Text -> Text -> Text -> Text -> Text -> CurrencyCode -> [LabeledPrice] -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe InlineKeyboardMarkup -> SendInvoiceRequest
-- | Unique identifier for the target private chat
[snd_inv_chat_id] :: SendInvoiceRequest -> Int64
-- | Product name
[snd_inv_title] :: SendInvoiceRequest -> Text
-- | Product description
[snd_inv_description] :: SendInvoiceRequest -> Text
-- | Bot-defined invoice payload, 1-128 bytes. This will not be displayed
-- to the user, use for your internal processes.
[snd_inv_payload] :: SendInvoiceRequest -> Text
-- | Payments provider token, obtained via Botfather
[snd_inv_provider_token] :: SendInvoiceRequest -> Text
-- | Unique deep-linking parameter that can be used to generate this
-- invoice when used as a start parameter
[snd_inv_start_parameter] :: SendInvoiceRequest -> Text
-- | Three-letter ISO 4217 currency code
[snd_inv_currency] :: SendInvoiceRequest -> CurrencyCode
-- | Price breakdown, a list of components (e.g. product price, tax,
-- discount, delivery cost, delivery tax, bonus, etc.)
[snd_inv_prices] :: SendInvoiceRequest -> [LabeledPrice]
-- | URL of the product photo for the invoice. Can be a photo of the goods
-- or a marketing image for a service. People like it better when they
-- see what they are paying for.
[snd_inv_photo_url] :: SendInvoiceRequest -> Maybe Text
-- | Photo size
[snd_inv_photo_size] :: SendInvoiceRequest -> Maybe Int
-- | Photo width
[snd_inv_photo_width] :: SendInvoiceRequest -> Maybe Int
-- | Photo height
[snd_inv_photo_height] :: SendInvoiceRequest -> Maybe Int
-- | Pass True, if you require the user's full name to complete the
-- order
[snd_inv_need_name] :: SendInvoiceRequest -> Maybe Bool
-- | Pass True, if you require the user's phone number to complete
-- the order
[snd_inv_need_phone_number] :: SendInvoiceRequest -> Maybe Bool
-- | Pass True, if you require the user's email to complete the
-- order
[snd_inv_need_email] :: SendInvoiceRequest -> Maybe Bool
-- | Pass True, if you require the user's shipping address to
-- complete the order
[snd_inv_need_shipping_address] :: SendInvoiceRequest -> Maybe Bool
-- | Pass True, if the final price depends on the shipping method
[snd_inv_is_flexible] :: SendInvoiceRequest -> Maybe Bool
-- | Sends the message silently. Users will receive a notification with no
-- sound.
[snd_inv_disable_notification] :: SendInvoiceRequest -> Maybe Bool
-- | If the message is a reply, ID of the original message
[snd_inv_reply_to_message] :: SendInvoiceRequest -> Maybe Int
-- | A JSON-serialized object for an inline keyboard. If empty, one 'Pay
-- total price' button will be shown. If not empty, the first button must
-- be a Pay button.
[snd_inv_reply_markup] :: SendInvoiceRequest -> Maybe InlineKeyboardMarkup
data AnswerShippingQueryRequest
-- | If you sent an invoice requesting a shipping address and the parameter
-- is_flexible was specified, the Bot API will send an Update with a
-- shipping_query field to the bot. Use this method to reply to shipping
-- queries. On success, True is returned.
AnswerShippingQueryRequest :: Text -> Bool -> Maybe [ShippingOption] -> Maybe Text -> AnswerShippingQueryRequest
-- | Unique identifier for the query to be answered
[asq_shipping_query_id] :: AnswerShippingQueryRequest -> Text
-- | Specify True if delivery to the specified address is possible and
-- False if there are any problems (for example, if delivery to the
-- specified address is not possible)
[asq_ok] :: AnswerShippingQueryRequest -> Bool
-- | Required if ok is True. A JSON-serialized array of available shipping
-- options.
[asq_shipping_options] :: AnswerShippingQueryRequest -> Maybe [ShippingOption]
-- | Required if ok is False. Error message in human readable form that
-- explains why it is impossible to complete the order (e.g. "Sorry,
-- delivery to your desired address is unavailable'). Telegram will
-- display this message to the user.
[asq_error_message] :: AnswerShippingQueryRequest -> Maybe Text
data AnswerPreCheckoutQueryRequest
-- | Once the user has confirmed their payment and shipping details, the
-- Bot API sends the final confirmation in the form of an Update
-- with the field pre_checkout_query. Use this method to respond to such
-- pre-checkout queries. On success, True is returned. Note: The Bot API
-- must receive an answer within 10 seconds after the pre-checkout query
-- was sent.
AnswerPreCheckoutQueryRequest :: Text -> Bool -> Maybe Text -> AnswerPreCheckoutQueryRequest
-- | Unique identifier for the query to be answered
[apc_pre_checkout_query_id] :: AnswerPreCheckoutQueryRequest -> Text
-- | Specify True if everything is alright (goods are available, etc.) and
-- the bot is ready to proceed with the order. Use False if there are any
-- problems.
[apc_ok] :: AnswerPreCheckoutQueryRequest -> Bool
-- | Required if ok is False. Error message in human readable form that
-- explains the reason for failure to proceed with the checkout (e.g.
-- "Sorry, somebody just bought the last of our amazing black T-shirts
-- while you were busy filling out your payment details. Please choose a
-- different color or garment!"). Telegram will display this message to
-- the user.
[apc_error_message] :: AnswerPreCheckoutQueryRequest -> Maybe Text
localFileUpload :: FilePath -> FileUpload
setWebhookRequest :: Text -> FileUpload -> SetWebhookRequest
setWebhookRequest' :: Text -> SetWebhookRequest
getUpdatesRequest :: GetUpdatesRequest
sendMessageRequest :: ChatId -> Text -> SendMessageRequest
forwardMessageRequest :: ChatId -> ChatId -> Int -> ForwardMessageRequest
sendPhotoRequest :: ChatId -> Text -> SendPhotoRequest Text
uploadPhotoRequest :: ChatId -> FileUpload -> SendPhotoRequest FileUpload
sendAudioRequest :: ChatId -> Text -> SendAudioRequest Text
uploadAudioRequest :: ChatId -> FileUpload -> SendAudioRequest FileUpload
sendDocumentRequest :: ChatId -> Text -> SendDocumentRequest Text
uploadDocumentRequest :: ChatId -> FileUpload -> SendDocumentRequest FileUpload
sendStickerRequest :: ChatId -> Text -> SendStickerRequest Text
uploadStickerRequest :: ChatId -> FileUpload -> SendStickerRequest FileUpload
sendVideoRequest :: ChatId -> Text -> SendVideoRequest Text
uploadVideoRequest :: ChatId -> FileUpload -> SendVideoRequest FileUpload
sendVoiceRequest :: ChatId -> Text -> SendVoiceRequest Text
uploadVoiceRequest :: ChatId -> FileUpload -> SendVoiceRequest FileUpload
sendLocationRequest :: ChatId -> Float -> Float -> SendLocationRequest
sendVenueRequest :: ChatId -> Float -> Float -> Text -> Text -> SendVenueRequest
sendContactRequest :: ChatId -> Text -> Text -> SendContactRequest
sendChatActionRequest :: ChatId -> ChatAction -> SendChatActionRequest
sendGameRequest :: Integer -> Text -> SendGameRequest
answerInlineQueryRequest :: Text -> [InlineQueryResult] -> AnswerInlineQueryRequest
answerCallbackQueryRequest :: Text -> AnswerCallbackQueryRequest
inlineKeyboardMarkup :: [[InlineKeyboardButton]] -> ReplyKeyboard
replyKeyboardMarkup :: [[KeyboardButton]] -> ReplyKeyboard
replyKeyboardHide :: ReplyKeyboard
forceReply :: ReplyKeyboard
editMessageTextRequest :: ChatId -> Int -> Text -> EditMessageTextRequest
editInlineMessageTextRequest :: Text -> Text -> EditMessageTextRequest
editMessageCaptionRequest :: ChatId -> Int -> Maybe Text -> EditMessageCaptionRequest
editInlineMessageCaptionRequest :: Text -> Maybe Text -> EditMessageCaptionRequest
editMessageReplyMarkupRequest :: ChatId -> Int -> Maybe InlineKeyboardMarkup -> EditMessageReplyMarkupRequest
editInlineMessageReplyMarkupRequest :: Text -> Maybe InlineKeyboardMarkup -> EditMessageReplyMarkupRequest
sendInvoiceRequest :: Int64 -> Text -> Text -> Text -> Text -> Text -> CurrencyCode -> [LabeledPrice] -> SendInvoiceRequest
okShippingQueryRequest :: Text -> [ShippingOption] -> AnswerShippingQueryRequest
errorShippingQueryRequest :: Text -> Text -> AnswerShippingQueryRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.AnswerPreCheckoutQueryRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.AnswerPreCheckoutQueryRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.AnswerShippingQueryRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.AnswerShippingQueryRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SendInvoiceRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.SendInvoiceRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.EditMessageReplyMarkupRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.EditMessageReplyMarkupRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.EditMessageCaptionRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.EditMessageCaptionRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.EditMessageTextRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.EditMessageTextRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SendMessageRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.SendMessageRequest
instance GHC.Generics.Generic (Web.Telegram.API.Bot.Requests.SendPhotoRequest payload)
instance GHC.Show.Show payload => GHC.Show.Show (Web.Telegram.API.Bot.Requests.SendPhotoRequest payload)
instance GHC.Generics.Generic (Web.Telegram.API.Bot.Requests.SendAudioRequest payload)
instance GHC.Show.Show payload => GHC.Show.Show (Web.Telegram.API.Bot.Requests.SendAudioRequest payload)
instance GHC.Generics.Generic (Web.Telegram.API.Bot.Requests.SendStickerRequest payload)
instance GHC.Show.Show payload => GHC.Show.Show (Web.Telegram.API.Bot.Requests.SendStickerRequest payload)
instance GHC.Generics.Generic (Web.Telegram.API.Bot.Requests.SendDocumentRequest payload)
instance GHC.Show.Show payload => GHC.Show.Show (Web.Telegram.API.Bot.Requests.SendDocumentRequest payload)
instance GHC.Generics.Generic (Web.Telegram.API.Bot.Requests.SendVideoRequest payload)
instance GHC.Show.Show payload => GHC.Show.Show (Web.Telegram.API.Bot.Requests.SendVideoRequest payload)
instance GHC.Generics.Generic (Web.Telegram.API.Bot.Requests.SendVoiceRequest payload)
instance GHC.Show.Show payload => GHC.Show.Show (Web.Telegram.API.Bot.Requests.SendVoiceRequest payload)
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SendLocationRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.SendLocationRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SendVenueRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.SendVenueRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SendContactRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.SendContactRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.ReplyKeyboard
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.ReplyKeyboard
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.AnswerCallbackQueryRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.AnswerCallbackQueryRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.AnswerInlineQueryRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.AnswerInlineQueryRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SendGameRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.SendGameRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SendChatActionRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.SendChatActionRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.ChatAction
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.ChatAction
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.ForwardMessageRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.ForwardMessageRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.ChatId
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.GetUpdatesRequest
instance GHC.Show.Show Web.Telegram.API.Bot.Requests.GetUpdatesRequest
instance GHC.Generics.Generic Web.Telegram.API.Bot.Requests.SetWebhookRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SetWebhookRequest
instance Servant.Client.MultipartFormData.ToMultipartFormData Web.Telegram.API.Bot.Requests.SetWebhookRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.GetUpdatesRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.GetUpdatesRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.ChatId
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.ChatId
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SendMessageRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.SendMessageRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.ForwardMessageRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.ForwardMessageRequest
instance Data.Aeson.Types.ToJSON.ToJSON (Web.Telegram.API.Bot.Requests.SendPhotoRequest Data.Text.Internal.Text)
instance Data.Aeson.Types.FromJSON.FromJSON (Web.Telegram.API.Bot.Requests.SendPhotoRequest Data.Text.Internal.Text)
instance Servant.Client.MultipartFormData.ToMultipartFormData (Web.Telegram.API.Bot.Requests.SendPhotoRequest Web.Telegram.API.Bot.Requests.FileUpload)
instance Data.Aeson.Types.ToJSON.ToJSON (Web.Telegram.API.Bot.Requests.SendAudioRequest Data.Text.Internal.Text)
instance Data.Aeson.Types.FromJSON.FromJSON (Web.Telegram.API.Bot.Requests.SendAudioRequest Data.Text.Internal.Text)
instance Servant.Client.MultipartFormData.ToMultipartFormData (Web.Telegram.API.Bot.Requests.SendAudioRequest Web.Telegram.API.Bot.Requests.FileUpload)
instance Data.Aeson.Types.ToJSON.ToJSON (Web.Telegram.API.Bot.Requests.SendStickerRequest Data.Text.Internal.Text)
instance Data.Aeson.Types.FromJSON.FromJSON (Web.Telegram.API.Bot.Requests.SendStickerRequest Data.Text.Internal.Text)
instance Servant.Client.MultipartFormData.ToMultipartFormData (Web.Telegram.API.Bot.Requests.SendStickerRequest Web.Telegram.API.Bot.Requests.FileUpload)
instance Data.Aeson.Types.ToJSON.ToJSON (Web.Telegram.API.Bot.Requests.SendDocumentRequest Data.Text.Internal.Text)
instance Data.Aeson.Types.FromJSON.FromJSON (Web.Telegram.API.Bot.Requests.SendDocumentRequest Data.Text.Internal.Text)
instance Servant.Client.MultipartFormData.ToMultipartFormData (Web.Telegram.API.Bot.Requests.SendDocumentRequest Web.Telegram.API.Bot.Requests.FileUpload)
instance Data.Aeson.Types.ToJSON.ToJSON (Web.Telegram.API.Bot.Requests.SendVideoRequest Data.Text.Internal.Text)
instance Data.Aeson.Types.FromJSON.FromJSON (Web.Telegram.API.Bot.Requests.SendVideoRequest Data.Text.Internal.Text)
instance Servant.Client.MultipartFormData.ToMultipartFormData (Web.Telegram.API.Bot.Requests.SendVideoRequest Web.Telegram.API.Bot.Requests.FileUpload)
instance Data.Aeson.Types.ToJSON.ToJSON (Web.Telegram.API.Bot.Requests.SendVoiceRequest Data.Text.Internal.Text)
instance Data.Aeson.Types.FromJSON.FromJSON (Web.Telegram.API.Bot.Requests.SendVoiceRequest Data.Text.Internal.Text)
instance Servant.Client.MultipartFormData.ToMultipartFormData (Web.Telegram.API.Bot.Requests.SendVoiceRequest Web.Telegram.API.Bot.Requests.FileUpload)
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SendLocationRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.SendLocationRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SendVenueRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.SendVenueRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SendContactRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.SendContactRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.ChatAction
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.ChatAction
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SendChatActionRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.SendChatActionRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SendGameRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.SendGameRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.AnswerInlineQueryRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.AnswerInlineQueryRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.AnswerCallbackQueryRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.AnswerCallbackQueryRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.ReplyKeyboard
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.ReplyKeyboard
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.EditMessageTextRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.EditMessageTextRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.EditMessageCaptionRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.EditMessageCaptionRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.EditMessageReplyMarkupRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.EditMessageReplyMarkupRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.SendInvoiceRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.SendInvoiceRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.AnswerShippingQueryRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.AnswerShippingQueryRequest
instance Data.Aeson.Types.ToJSON.ToJSON Web.Telegram.API.Bot.Requests.AnswerPreCheckoutQueryRequest
instance Data.Aeson.Types.FromJSON.FromJSON Web.Telegram.API.Bot.Requests.AnswerPreCheckoutQueryRequest
module Web.Telegram.API.Bot.API.Edit
-- | Use this method to edit text messages sent by the bot. On success, the
-- edited Message is returned, otherwise True is returned.
editMessageText :: Token -> EditMessageTextRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See editMessageText
editMessageTextM :: EditMessageTextRequest -> TelegramClient MessageResponse
-- | Use this method to edit captions of messages sent by the bot. On
-- success, the edited Message is returned.
editMessageCaption :: Token -> EditMessageCaptionRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See editMessageCaption
editMessageCaptionM :: EditMessageCaptionRequest -> TelegramClient MessageResponse
-- | Use this method to edit only the reply markup of messages sent by the
-- bot. On success, the edited Message is returned.
editMessageReplyMarkup :: Token -> EditMessageReplyMarkupRequest -> Manager -> IO (Either ServantError MessageResponse)
editMessageReplyMarkupM :: EditMessageReplyMarkupRequest -> TelegramClient MessageResponse
-- | Use this method to edit text messages sent via the bot (for inline
-- bots).
editInlineMessageText :: Token -> EditMessageTextRequest -> Manager -> IO (Either ServantError (Response Bool))
-- | See editInlineMessageText
editInlineMessageTextM :: EditMessageTextRequest -> TelegramClient (Response Bool)
-- | Use this method to edit captions of messages sent via the bot (for
-- inline bots).
editInlineMessageCaption :: Token -> EditMessageCaptionRequest -> Manager -> IO (Either ServantError (Response Bool))
-- | See editInlineMessageCaption
editInlineMessageCaptionM :: EditMessageCaptionRequest -> TelegramClient (Response Bool)
-- | Use this method to edit only the reply markup of messages sent via the
-- bot (for inline bots).
editInlineMessageReplyMarkup :: Token -> EditMessageReplyMarkupRequest -> Manager -> IO (Either ServantError (Response Bool))
-- | See editInlineMessageReplyMarkup
editInlineMessageReplyMarkupM :: EditMessageReplyMarkupRequest -> TelegramClient (Response Bool)
-- | Telegram Bot API
type TelegramBotEditAPI = (TelegramToken :> ("editMessageText" :> (ReqBody '[JSON] EditMessageTextRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("editMessageCaption" :> (ReqBody '[JSON] EditMessageCaptionRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("editMessageReplyMarkup" :> (ReqBody '[JSON] EditMessageReplyMarkupRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("editMessageText" :> (ReqBody '[JSON] EditMessageTextRequest :> Post '[JSON] (Response Bool)))) :<|> ((TelegramToken :> ("editMessageCaption" :> (ReqBody '[JSON] EditMessageCaptionRequest :> Post '[JSON] (Response Bool)))) :<|> (TelegramToken :> ("editMessageReplyMarkup" :> (ReqBody '[JSON] EditMessageReplyMarkupRequest :> Post '[JSON] (Response Bool))))))))
-- | Proxy for Thelegram Bot API
editApi :: Proxy TelegramBotEditAPI
module Web.Telegram.API.Bot.API.Messages
-- | Use this method to send text messages. On success, the sent
-- Message is returned.
sendMessage :: Token -> SendMessageRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendMessage
sendMessageM :: SendMessageRequest -> TelegramClient MessageResponse
-- | Use this method to forward messages of any kind. On success, the sent
-- Message is returned.
forwardMessage :: Token -> ForwardMessageRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See forwardMessage
forwardMessageM :: ForwardMessageRequest -> TelegramClient MessageResponse
-- | Use this method to upload and send photos. On success, the sent
-- Message is returned.
uploadPhoto :: Token -> SendPhotoRequest FileUpload -> Manager -> IO (Either ServantError MessageResponse)
-- | See uploadPhoto
uploadPhotoM :: SendPhotoRequest FileUpload -> TelegramClient MessageResponse
-- | Use this method to send photos that have already been uploaded. On
-- success, the sent Message is returned.
sendPhoto :: Token -> SendPhotoRequest Text -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendPhoto
sendPhotoM :: SendPhotoRequest Text -> TelegramClient MessageResponse
-- | Use this method to upload and send audio files, if you want Telegram
-- clients to display them in the music player. Your audio must be in the
-- .mp3 format. On success, the sent Message is returned. Bots
-- can currently send audio files of up to 50 MB in size, this limit may
-- be changed in the future.
--
-- For backward compatibility, when the fields title and
-- performer are both empty and the mime-type of the file to be
-- sent is not _audio/mpeg_, the file will be sent as a playable voice
-- message. For this to work, the audio must be in an .ogg file encoded
-- with OPUS. This behavior will be phased out in the future. For sending
-- voice messages, use the sendVoice method instead.
uploadAudio :: Token -> SendAudioRequest FileUpload -> Manager -> IO (Either ServantError MessageResponse)
-- | See uploadAudio
uploadAudioM :: SendAudioRequest FileUpload -> TelegramClient MessageResponse
-- | Use this method to send audio files that are already on the Telegram
-- servers, if you want Telegram clients to display them in the music
-- player. Your audio must be in the .mp3 format. On success, the sent
-- Message is returned. Bots can currently send audio files of
-- up to 50 MB in size, this limit may be changed in the future.
--
-- For backward compatibility, when the fields title and
-- performer are both empty and the mime-type of the file to be
-- sent is not _audio/mpeg_, the file will be sent as a playable voice
-- message. For this to work, the audio must be in an .ogg file encoded
-- with OPUS. This behavior will be phased out in the future. For sending
-- voice messages, use the sendVoice method instead.
sendAudio :: Token -> SendAudioRequest Text -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendAudio
sendAudioM :: SendAudioRequest Text -> TelegramClient MessageResponse
-- | Use this method to upload and send general files. On success, the sent
-- Message is returned. Bots can currently send files of any
-- type of up to 50 MB in size, this limit may be changed in the future.
uploadDocument :: Token -> SendDocumentRequest FileUpload -> Manager -> IO (Either ServantError MessageResponse)
-- | See uploadDocument
uploadDocumentM :: SendDocumentRequest FileUpload -> TelegramClient MessageResponse
-- | Use this method to send general files that have already been uploaded.
-- On success, the sent Message is returned. Bots can currently
-- send files of any type of up to 50 MB in size, this limit may be
-- changed in the future.
sendDocument :: Token -> SendDocumentRequest Text -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendDocument
sendDocumentM :: SendDocumentRequest Text -> TelegramClient MessageResponse
-- | Use this method to upload and send .webp stickers. On success, the
-- sent Message is returned.
uploadSticker :: Token -> SendStickerRequest FileUpload -> Manager -> IO (Either ServantError MessageResponse)
-- | See uploadSticker
uploadStickerM :: SendStickerRequest FileUpload -> TelegramClient MessageResponse
-- | Use this method to send .webp stickers that are already on the
-- Telegram servers. On success, the sent Message is returned.
sendSticker :: Token -> SendStickerRequest Text -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendSticker
sendStickerM :: SendStickerRequest Text -> TelegramClient MessageResponse
-- | Use this method to upload and send video files. Telegram clients
-- support mp4 videos (other formats may be sent as Document).
-- On success, the sent Message is returned. Bots can currently
-- send video files of up to 50 MB in size, this limit may be changed in
-- the future.
uploadVideo :: Token -> SendVideoRequest FileUpload -> Manager -> IO (Either ServantError MessageResponse)
-- | See uploadVideo
uploadVideoM :: SendVideoRequest FileUpload -> TelegramClient MessageResponse
-- | Use this method to send video files that are already on the Telegram
-- servers. Telegram clients support mp4 videos (other formats may be
-- sent as Document). On success, the sent Message is
-- returned. Bots can currently send video files of up to 50 MB in size,
-- this limit may be changed in the future.
sendVideo :: Token -> SendVideoRequest Text -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendVideo
sendVideoM :: SendVideoRequest Text -> TelegramClient MessageResponse
-- | Use this method to upload and send audio files, if you want Telegram
-- clients to display the file as a playable voice message. For this to
-- work, your audio must be in an .ogg file encoded with OPUS (other
-- formats may be sent as Audio or Document). On
-- success, the sent Message is returned. Bots can currently
-- send voice messages of up to 50 MB in size, this limit may be changed
-- in the future.
uploadVoice :: Token -> SendVoiceRequest FileUpload -> Manager -> IO (Either ServantError MessageResponse)
-- | See uploadVoice
uploadVoiceM :: SendVoiceRequest FileUpload -> TelegramClient MessageResponse
-- | Use this method to send audio files that are already on the telegram
-- server, if you want Telegram clients to display the file as a playable
-- voice message. For this to work, your audio must be in an .ogg file
-- encoded with OPUS (other formats may be sent as Audio or
-- Document). On success, the sent Message is returned.
-- Bots can currently send voice messages of up to 50 MB in size, this
-- limit may be changed in the future.
sendVoice :: Token -> SendVoiceRequest Text -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendVoice
sendVoiceM :: SendVoiceRequest Text -> TelegramClient MessageResponse
-- | Use this method to send point on the map. On success, the sent
-- Message is returned.
sendLocation :: Token -> SendLocationRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendLocation
sendLocationM :: SendLocationRequest -> TelegramClient MessageResponse
-- | Use this method to send information about a venue. On success, the
-- sent Message is returned.
sendVenue :: Token -> SendVenueRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendVenue
sendVenueM :: SendVenueRequest -> TelegramClient MessageResponse
-- | Use this method to send information about a venue. On success, the
-- sent Message is returned.
sendContact :: Token -> SendContactRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendContact
sendContactM :: SendContactRequest -> TelegramClient MessageResponse
-- | Use this method when you need to tell the user that something is
-- happening on the bot's side. The status is set for 5 seconds or less
-- (when a message arrives from your bot, Telegram clients clear its
-- typing status).
sendChatAction :: Token -> SendChatActionRequest -> Manager -> IO (Either ServantError ChatActionResponse)
-- | See sendChatAction
sendChatActionM :: SendChatActionRequest -> TelegramClient ChatActionResponse
-- | Use this method to send a game. On success, the sent Message
-- is returned.
sendGame :: Token -> SendGameRequest -> Manager -> IO (Either ServantError MessageResponse)
-- | See sendGame
sendGameM :: SendGameRequest -> TelegramClient MessageResponse
-- | Telegram Bot API
type TelegramBotMessagesAPI = (TelegramToken :> ("sendMessage" :> (ReqBody '[JSON] SendMessageRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("forwardMessage" :> (ReqBody '[JSON] ForwardMessageRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendPhoto" :> (MultipartFormDataReqBody (SendPhotoRequest FileUpload) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendPhoto" :> (ReqBody '[JSON] (SendPhotoRequest Text) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendAudio" :> (MultipartFormDataReqBody (SendAudioRequest FileUpload) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendAudio" :> (ReqBody '[JSON] (SendAudioRequest Text) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendDocument" :> (MultipartFormDataReqBody (SendDocumentRequest FileUpload) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendDocument" :> (ReqBody '[JSON] (SendDocumentRequest Text) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendSticker" :> (MultipartFormDataReqBody (SendStickerRequest FileUpload) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendSticker" :> (ReqBody '[JSON] (SendStickerRequest Text) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendVideo" :> (MultipartFormDataReqBody (SendVideoRequest FileUpload) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendVideo" :> (ReqBody '[JSON] (SendVideoRequest Text) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendVoice" :> (MultipartFormDataReqBody (SendVoiceRequest FileUpload) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendVoice" :> (ReqBody '[JSON] (SendVoiceRequest Text) :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendLocation" :> (ReqBody '[JSON] SendLocationRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendVenue" :> (ReqBody '[JSON] SendVenueRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendContact" :> (ReqBody '[JSON] SendContactRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("sendChatAction" :> (ReqBody '[JSON] SendChatActionRequest :> Post '[JSON] ChatActionResponse))) :<|> (TelegramToken :> ("sendGame" :> (ReqBody '[JSON] SendGameRequest :> Post '[JSON] MessageResponse))))))))))))))))))))
-- | Proxy for Thelegram Bot API
messagesApi :: Proxy TelegramBotMessagesAPI
module Web.Telegram.API.Bot.API.Payments
sendInvoiceM :: SendInvoiceRequest -> TelegramClient MessageResponse
answerShippingQueryM :: AnswerShippingQueryRequest -> TelegramClient AnswerShippingQueryResponse
answerPreCheckoutQueryM :: AnswerPreCheckoutQueryRequest -> TelegramClient AnswerPreCheckoutQueryResponse
type TelegramBotPaymentsAPI = (TelegramToken :> ("sendInvoice" :> (ReqBody '[JSON] SendInvoiceRequest :> Post '[JSON] MessageResponse))) :<|> ((TelegramToken :> ("answerShippingQuery" :> (ReqBody '[JSON] AnswerShippingQueryRequest :> Post '[JSON] AnswerShippingQueryResponse))) :<|> (TelegramToken :> ("answerPreCheckoutQuery" :> (ReqBody '[JSON] AnswerPreCheckoutQueryRequest :> Post '[JSON] AnswerPreCheckoutQueryResponse))))
paymentsApi :: Proxy TelegramBotPaymentsAPI
module Web.Telegram.API.Bot.API.Queries
-- | Use this method to send answers to an inline query. No more than 50
-- results per query are allowed.
answerInlineQuery :: Token -> AnswerInlineQueryRequest -> Manager -> IO (Either ServantError InlineQueryResponse)
-- | See answerInlineQuery
answerInlineQueryM :: AnswerInlineQueryRequest -> TelegramClient InlineQueryResponse
-- | Use this method to send answers to callback queries sent from inline
-- keyboards. The answer will be displayed to the user as a notification
-- at the top of the chat screen or as an alert.
answerCallbackQuery :: Token -> AnswerCallbackQueryRequest -> Manager -> IO (Either ServantError CallbackQueryResponse)
-- | See answerCallbackQuery
answerCallbackQueryM :: AnswerCallbackQueryRequest -> TelegramClient CallbackQueryResponse
-- | Telegram Bot API
type TelegramBotQueriesAPI = (TelegramToken :> ("answerInlineQuery" :> (ReqBody '[JSON] AnswerInlineQueryRequest :> Post '[JSON] InlineQueryResponse))) :<|> (TelegramToken :> ("answerCallbackQuery" :> (ReqBody '[JSON] AnswerCallbackQueryRequest :> Post '[JSON] CallbackQueryResponse)))
-- | Proxy for Thelegram Bot API
queriesApi :: Proxy TelegramBotQueriesAPI
module Web.Telegram.API.Bot.API.Updates
-- | Use this method to receive incoming updates using long polling. A list
-- of Update objects is returned. Use getUpdatesM for
-- more features
getUpdates :: Token -> Maybe Int -> Maybe Int -> Maybe Int -> Manager -> IO (Either ServantError UpdatesResponse)
-- | See getUpdates
getUpdatesM :: GetUpdatesRequest -> TelegramClient UpdatesResponse
-- | Get update with default parameters See getUpdates for details.
getUpdatesM' :: TelegramClient UpdatesResponse
-- | Use this method to specify a url and receive incoming updates via an
-- outgoing webhook. Whenever there is an update for the bot, we will
-- send an HTTPS POST request to the specified url, containing a
-- JSON-serialized Update. In case of an unsuccessful request,
-- we will give up after a reasonable amount of attempts.
--
-- If you'd like to make sure that the Webhook request comes from
-- Telegram, we recommend using a secret path in the URL, e.g.
-- https://www.example.com/<token>. Since nobody
-- else knows your bot‘s token, you can be pretty sure it’s us.
setWebhook :: Token -> Maybe Text -> Manager -> IO (Either ServantError SetWebhookResponse)
-- | See setWebhook
setWebhookM :: SetWebhookRequest -> TelegramClient SetWebhookResponse
-- | Use this method to specify a url and receive incoming updates via an
-- outgoing webhook. Whenever there is an update for the bot, we will
-- send an HTTPS POST request to the specified url, containing a
-- JSON-serialized Update. In case of an unsuccessful request,
-- we will give up after a reasonable amount of attempts.
--
-- If you'd like to make sure that the Webhook request comes from
-- Telegram, we recommend using a secret path in the URL, e.g.
-- https://www.example.com/<token>. Since nobody
-- else knows your bot‘s token, you can be pretty sure it’s us.
setWebhookWithCertificate :: Token -> SetWebhookRequest -> Manager -> IO (Either ServantError SetWebhookResponse)
-- | See setWebhookWithCertificate
setWebhookWithCertificateM :: SetWebhookRequest -> TelegramClient SetWebhookResponse
-- | Use this method to remove webhook integration if you decide to switch
-- back to getUpdates. Returns True on success.
deleteWebhook :: Token -> Manager -> IO (Either ServantError (Response Bool))
-- | See deleteWebhook
deleteWebhookM :: TelegramClient (Response Bool)
-- | Contains information about the current status of a webhook.
getWebhookInfo :: Token -> Manager -> IO (Either ServantError GetWebhookInfoResponse)
-- | See getWebhookInfo
getWebhookInfoM :: TelegramClient GetWebhookInfoResponse
-- | Telegram Bot API
type TelegramBotUpdatesAPI = (TelegramToken :> ("getUpdates" :> (ReqBody '[JSON] GetUpdatesRequest :> Get '[JSON] UpdatesResponse))) :<|> ((TelegramToken :> ("setWebhook" :> (ReqBody '[JSON] SetWebhookRequest :> Get '[JSON] SetWebhookResponse))) :<|> ((TelegramToken :> ("setWebhook" :> (MultipartFormDataReqBody SetWebhookRequest :> Post '[JSON] SetWebhookResponse))) :<|> ((TelegramToken :> ("deleteWebhook" :> Post '[JSON] (Response Bool))) :<|> (TelegramToken :> ("getWebhookInfo" :> Get '[JSON] GetWebhookInfoResponse)))))
-- | Proxy for Thelegram Bot API to configure your bot
updatesApi :: Proxy TelegramBotUpdatesAPI
module Web.Telegram.API.Bot.API
-- | Runs TelegramClient
runClient :: TelegramClient a -> Token -> Manager -> IO (Either ServantError a)
-- | Allows to run TelegramClient against arbitrary url
runClient' :: TelegramClient a -> Token -> ClientEnv -> IO (Either ServantError a)
type TelegramBotAPI = TelegramBotMessagesAPI :<|> (TelegramBotUpdatesAPI :<|> (TelegramBotChatsAPI :<|> (TelegramBotEditAPI :<|> (TelegramBotQueriesAPI :<|> (TelegramBotGetAPI :<|> TelegramBotPaymentsAPI)))))
-- | Proxy for Thelegram Bot API
api :: Proxy TelegramBotAPI
-- | Telegram Bot's Token
newtype Token
Token :: Text -> Token
type TelegramClient a = ReaderT Token ClientM a
-- | This module provides Telegram Bot API
module Web.Telegram.API.Bot