telegram-api-0.7.0.0: Telegram Bot API bindings

Safe HaskellNone
LanguageHaskell2010

Web.Telegram.API.Bot.Data

Contents

Description

This module contains objects which represent data of Telegram Bot API responses

Synopsis

Types

data User Source #

This object represents a Telegram user or bot.

Constructors

User 

Fields

data ChatMember Source #

Constructors

ChatMember 

Fields

  • cm_user :: User

    Information about the user

  • cm_status :: Text

    The member's status in the chat. Can be “creator”, “administrator”, “member”, “left” or “kicked”

data Chat Source #

This object represents a chat.

Constructors

Chat 

Fields

Instances

Show Chat Source # 

Methods

showsPrec :: Int -> Chat -> ShowS #

show :: Chat -> String #

showList :: [Chat] -> ShowS #

Generic Chat Source # 

Associated Types

type Rep Chat :: * -> * #

Methods

from :: Chat -> Rep Chat x #

to :: Rep Chat x -> Chat #

FromJSON Chat Source # 
ToJSON Chat Source # 
type Rep Chat Source # 

data Message Source #

This object represents a message.

Constructors

Message 

Fields

Instances

Show Message Source # 
Generic Message Source # 

Associated Types

type Rep Message :: * -> * #

Methods

from :: Message -> Rep Message x #

to :: Rep Message x -> Message #

FromJSON Message Source # 
ToJSON Message Source # 
type Rep Message Source # 
type Rep Message = D1 (MetaData "Message" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "Message" PrefixI True) ((:*:) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "message_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "from") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe User)))) ((:*:) (S1 (MetaSel (Just Symbol "date") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "chat") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Chat)))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "forward_from") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe User))) (S1 (MetaSel (Just Symbol "forward_from_chat") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Chat)))) ((:*:) (S1 (MetaSel (Just Symbol "forward_from_message_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) ((:*:) (S1 (MetaSel (Just Symbol "forward_date") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "reply_to_message") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Message))))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "edit_date") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "text") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "entities") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [MessageEntity]))) ((:*:) (S1 (MetaSel (Just Symbol "audio") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Audio))) (S1 (MetaSel (Just Symbol "document") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Document)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "game") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Game))) (S1 (MetaSel (Just Symbol "photo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [PhotoSize])))) ((:*:) (S1 (MetaSel (Just Symbol "sticker") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Sticker))) ((:*:) (S1 (MetaSel (Just Symbol "video") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Video))) (S1 (MetaSel (Just Symbol "voice") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Voice)))))))) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "contact") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Contact)))) ((:*:) (S1 (MetaSel (Just Symbol "location") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Location))) (S1 (MetaSel (Just Symbol "venue") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Venue))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "new_chat_member") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe User))) (S1 (MetaSel (Just Symbol "left_chat_member") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe User)))) ((:*:) (S1 (MetaSel (Just Symbol "new_chat_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "new_chat_photo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [PhotoSize]))) (S1 (MetaSel (Just Symbol "delete_chat_photo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Bool))))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "group_chat_created") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Bool))) (S1 (MetaSel (Just Symbol "supergroup_chat_created") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Bool)))) ((:*:) (S1 (MetaSel (Just Symbol "channel_chat_created") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Bool))) ((:*:) (S1 (MetaSel (Just Symbol "migrate_to_chat_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int64))) (S1 (MetaSel (Just Symbol "migrate_from_chat_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int64)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "pinned_message") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Message))) (S1 (MetaSel (Just Symbol "invoice") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Invoice)))) ((:*:) (S1 (MetaSel (Just Symbol "successful_payment") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe SuccessfulPayment))) ((:*:) (S1 (MetaSel (Just Symbol "video_note") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe VideoNote))) (S1 (MetaSel (Just Symbol "new_chat_members") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [User]))))))))))

data MessageEntity Source #

This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.

Constructors

MessageEntity 

Fields

  • me_type :: Text

    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_offset :: Int

    Offset in UTF-16 code units to the start of the entity

  • me_length :: Int

    Length of the entity in UTF-16 code units

  • me_url :: Maybe Text

    For “text_link” only, url that will be opened after user taps on the text

  • me_user :: Maybe User

    For “text_mention” only, the mentioned user

data PhotoSize Source #

This object represents one size of a photo or a File / Sticker thumbnail.

Constructors

PhotoSize 

Fields

data Audio Source #

This object represents an audio file to be treated as music by the Telegram clients.

Constructors

Audio 

Fields

data Document Source #

This object represents a general file (as opposed to PhotoSize, Voice messages and Audio files).

Constructors

Document 

Fields

data Game Source #

This object represents a game. Use BotFather to create and edit games, their short names will act as unique identifiers.

Constructors

Game 

Fields

data Animation Source #

This object represents an animation file to be displayed in the message containing a game.

Constructors

Animation 

Fields

data Sticker Source #

This object represents a sticker.

Constructors

Sticker 

Fields

data Video Source #

This object represents a video file.

Constructors

Video 

Fields

Instances

Show Video Source # 

Methods

showsPrec :: Int -> Video -> ShowS #

show :: Video -> String #

showList :: [Video] -> ShowS #

Generic Video Source # 

Associated Types

type Rep Video :: * -> * #

Methods

from :: Video -> Rep Video x #

to :: Rep Video x -> Video #

FromJSON Video Source # 
ToJSON Video Source # 
type Rep Video Source # 

data Voice Source #

This object represents a voice note.

Constructors

Voice 

Fields

Instances

Show Voice Source # 

Methods

showsPrec :: Int -> Voice -> ShowS #

show :: Voice -> String #

showList :: [Voice] -> ShowS #

Generic Voice Source # 

Associated Types

type Rep Voice :: * -> * #

Methods

from :: Voice -> Rep Voice x #

to :: Rep Voice x -> Voice #

FromJSON Voice Source # 
ToJSON Voice Source # 
type Rep Voice Source # 
type Rep Voice = D1 (MetaData "Voice" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "Voice" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "voice_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "voice_duration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) ((:*:) (S1 (MetaSel (Just Symbol "voice_mime_type") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "voice_file_size") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))))))

data VideoNote Source #

Constructors

VideoNote 

Fields

data Venue Source #

This object represents a venue.

Constructors

Venue 

Fields

Instances

Show Venue Source # 

Methods

showsPrec :: Int -> Venue -> ShowS #

show :: Venue -> String #

showList :: [Venue] -> ShowS #

Generic Venue Source # 

Associated Types

type Rep Venue :: * -> * #

Methods

from :: Venue -> Rep Venue x #

to :: Rep Venue x -> Venue #

FromJSON Venue Source # 
ToJSON Venue Source # 
type Rep Venue Source # 
type Rep Venue = D1 (MetaData "Venue" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "Venue" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "venue_location") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Location)) (S1 (MetaSel (Just Symbol "venue_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "venue_address") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "venue_foursquare_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))))

data Contact Source #

This object represents a phone contact.

Constructors

Contact 

Fields

Instances

data Location Source #

This object represents a point on the map.

Constructors

Location 

Fields

Instances

data Update Source #

This object represents an incoming update. Only one of the optional parameters can be present in any given update.

Constructors

Update 

Fields

  • update_id :: Int

    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.

  • message :: Maybe Message

    New incoming message of any kind — text, photo, sticker, etc.

  • edited_message :: Maybe Message

    New version of a message that is known to the bot and was edited

  • channel_post :: Maybe Message

    New incoming channel post of any kind — text, photo, sticker, etc.

  • edited_channel_post :: Maybe Message

    New version of a channel post that is known to the bot and was edited

  • inline_query :: Maybe InlineQuery

    New incoming inline query

  • chosen_inline_result :: Maybe ChosenInlineResult

    The result of a inline query that was chosen by a user and sent to their chat partner

  • callback_query :: Maybe CallbackQuery

    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.

  • shipping_query :: Maybe ShippingQuery

    New incoming shipping query. Only for invoices with flexible price

  • pre_checkout_query :: Maybe PreCheckoutQuery

    New incoming pre-checkout query. Contains full information about checkout

Instances

Show Update Source # 
Generic Update Source # 

Associated Types

type Rep Update :: * -> * #

Methods

from :: Update -> Rep Update x #

to :: Rep Update x -> Update #

FromJSON Update Source # 
ToJSON Update Source # 
type Rep Update Source # 

data File Source #

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

Constructors

File 

Fields

Instances

Show File Source # 

Methods

showsPrec :: Int -> File -> ShowS #

show :: File -> String #

showList :: [File] -> ShowS #

Generic File Source # 

Associated Types

type Rep File :: * -> * #

Methods

from :: File -> Rep File x #

to :: Rep File x -> File #

FromJSON File Source # 
ToJSON File Source # 
type Rep File Source # 
type Rep File = D1 (MetaData "File" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "File" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "file_size") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "file_path") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))))

data UserProfilePhotos Source #

This object represent a user's profile pictures.

Constructors

UserProfilePhotos 

Fields

data InlineQuery Source #

This object represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results.

Constructors

InlineQuery 

Fields

data ChosenInlineResult Source #

This object represents a result of an inline query that was chosen by the user and sent to their chat partner.

Constructors

ChosenInlineResult 

Fields

Instances

Show ChosenInlineResult Source # 
Generic ChosenInlineResult Source # 
FromJSON ChosenInlineResult Source # 
ToJSON ChosenInlineResult Source # 
type Rep ChosenInlineResult Source # 
type Rep ChosenInlineResult = D1 (MetaData "ChosenInlineResult" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "ChosenInlineResult" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "chosen_result_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "chosen_from") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 User))) ((:*:) (S1 (MetaSel (Just Symbol "chosen_location") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Location))) ((:*:) (S1 (MetaSel (Just Symbol "chosen_inline_message_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "chosen_query") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))))

data InlineQueryResult Source #

Constructors

InlineQueryResultArticle

Represents a link to an article or web page.

Fields

InlineQueryResultPhoto

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.

Fields

InlineQueryResultGif

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.

Fields

InlineQueryResultMpeg4Gif

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.

Fields

InlineQueryResultVideo

Represents link to a page containing an embedded video player or a video file.

Fields

InlineQueryResultAudio

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.

Fields

InlineQueryResultVoice

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.

Fields

InlineQueryResultDocument

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.

Fields

InlineQueryResultLocation

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.

Fields

InlineQueryResultVenue

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.

Fields

InlineQueryResultContact

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.

Fields

InlineQueryResultGame

Represents a Game.

Fields

InlineQueryResultCachedPhoto

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.

Fields

InlineQueryResultCachedGif

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.

Fields

InlineQueryResultCachedMpeg4Gif

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.

Fields

InlineQueryResultCachedSticker

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.

Fields

InlineQueryResultCachedDocument

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.

Fields

InlineQueryResultCachedVideo

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.

Fields

InlineQueryResultCachedVoice

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.

Fields

InlineQueryResultCachedAudio

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.

Fields

Instances

Show InlineQueryResult Source # 
Generic InlineQueryResult Source # 
FromJSON InlineQueryResult Source # 
ToJSON InlineQueryResult Source # 
type Rep InlineQueryResult Source # 
type Rep InlineQueryResult = D1 (MetaData "InlineQueryResult" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "InlineQueryResultArticle" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_hide_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Bool))) (S1 (MetaSel (Just Symbol "iq_res_description") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_thumb_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))))) (C1 (MetaCons "InlineQueryResultPhoto" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_photo_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_photo_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_photo_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_description") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))))) ((:+:) (C1 (MetaCons "InlineQueryResultGif" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_gif_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_gif_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_gif_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))) (S1 (MetaSel (Just Symbol "iq_res_gif_duration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))))) ((:+:) (C1 (MetaCons "InlineQueryResultMpeg4Gif" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_mpeg4_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_mpeg4_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_mpeg4_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))) (S1 (MetaSel (Just Symbol "iq_res_mpeg4_duration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))))) (C1 (MetaCons "InlineQueryResultVideo" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_video_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_mime_type") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_video_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_video_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_video_duration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_description") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))))))) ((:+:) ((:+:) (C1 (MetaCons "InlineQueryResultAudio" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_audio_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_performer") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_audio_duration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))) (C1 (MetaCons "InlineQueryResultVoice" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_voice_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_voice_duration") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent)))))))) ((:+:) (C1 (MetaCons "InlineQueryResultDocument" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_document_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_mime_type") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_description") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_thumb_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))))) ((:+:) (C1 (MetaCons "InlineQueryResultLocation" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_latitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_longitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_thumb_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))))) (C1 (MetaCons "InlineQueryResultVenue" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_latitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_longitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_address") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_foursquare_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_thumb_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "InlineQueryResultContact" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_phone_number") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_first_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_last_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_thumb_width") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "iq_res_thumb_height") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int)))))))) (C1 (MetaCons "InlineQueryResultGame" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_game_short_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))))))) ((:+:) (C1 (MetaCons "InlineQueryResultCachedPhoto" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_photo_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_description") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))) ((:+:) (C1 (MetaCons "InlineQueryResultCachedGif" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_gif_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))) (C1 (MetaCons "InlineQueryResultCachedMpeg4Gif" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_mpeg4_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent)))))))))) ((:+:) ((:+:) (C1 (MetaCons "InlineQueryResultCachedSticker" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_sticker_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent)))))) (C1 (MetaCons "InlineQueryResultCachedDocument" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_document_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_description") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent)))))))) ((:+:) (C1 (MetaCons "InlineQueryResultCachedVideo" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_video_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_description") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))) ((:+:) (C1 (MetaCons "InlineQueryResultCachedVoice" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_voice_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))) (C1 (MetaCons "InlineQueryResultCachedAudio" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "iq_res_audio_file_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_caption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "iq_res_reply_markup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InlineKeyboardMarkup))) (S1 (MetaSel (Just Symbol "iq_res_input_message_content") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe InputMessageContent))))))))))))

data InlineKeyboardButton Source #

Constructors

InlineKeyboardButton 

Fields

  • ikb_text :: Text

    Label text on the button

  • ikb_url :: Maybe Text

    HTTP url to be opened when button is pressed

  • ikb_callback_data :: Maybe Text

    Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes

  • ikb_switch_inline_query :: Maybe Text

    If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot‘s username and the specified inline query in the input field. Can be empty, in which case just the bot’s username will be inserted.

  • ikb_callback_game :: Maybe CallbackGame

    Description of the game that will be launched when the user presses the button. NOTE: This type of button must always be the first button in the first row.

  • ikb_switch_inline_query_current_chat :: Maybe Text

    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_pay :: Maybe Bool

    Specify True, to send a Pay button. NOTE: This type of button must always be the first button in the first row.

Instances

Show InlineKeyboardButton Source # 
Generic InlineKeyboardButton Source # 
FromJSON InlineKeyboardButton Source # 
ToJSON InlineKeyboardButton Source # 
type Rep InlineKeyboardButton Source # 

data CallbackGame Source #

Constructors

CallbackGame 

data CallbackQuery Source #

Instances

Show CallbackQuery Source # 
Generic CallbackQuery Source # 

Associated Types

type Rep CallbackQuery :: * -> * #

FromJSON CallbackQuery Source # 
ToJSON CallbackQuery Source # 
type Rep CallbackQuery Source # 

data ChatType Source #

Type of chat.

Constructors

Private 
Group 
Supergroup 
Channel 

Instances

Show ChatType Source # 
Generic ChatType Source # 

Associated Types

type Rep ChatType :: * -> * #

Methods

from :: ChatType -> Rep ChatType x #

to :: Rep ChatType x -> ChatType #

FromJSON ChatType Source # 
ToJSON ChatType Source # 
type Rep ChatType Source # 
type Rep ChatType = D1 (MetaData "ChatType" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) ((:+:) ((:+:) (C1 (MetaCons "Private" PrefixI False) U1) (C1 (MetaCons "Group" PrefixI False) U1)) ((:+:) (C1 (MetaCons "Supergroup" PrefixI False) U1) (C1 (MetaCons "Channel" PrefixI False) U1)))

data ParseMode Source #

Parse mode for text message

Constructors

Markdown 
HTML 

Instances

Show ParseMode Source # 
Generic ParseMode Source # 

Associated Types

type Rep ParseMode :: * -> * #

FromJSON ParseMode Source # 
ToJSON ParseMode Source # 
type Rep ParseMode Source # 
type Rep ParseMode = D1 (MetaData "ParseMode" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) ((:+:) (C1 (MetaCons "Markdown" PrefixI False) U1) (C1 (MetaCons "HTML" PrefixI False) U1))

data InputMessageContent Source #

This object represents the content of a message to be sent as a result of an inline query.

Constructors

InputTextMessageContent

Represents the content of a text message to be sent as the result of an inline query.

Fields

InputLocationMessageContent

Represents the content of a location message to be sent as the result of an inline query.

Fields

InputVenueMessageContent

Represents the content of a venue message to be sent as the result of an inline query.

Fields

InputContactMessageContent

Represents the content of a contact message to be sent as the result of an inline query.

Fields

Instances

Show InputMessageContent Source # 
Generic InputMessageContent Source # 
FromJSON InputMessageContent Source # 
ToJSON InputMessageContent Source # 
type Rep InputMessageContent Source # 
type Rep InputMessageContent = D1 (MetaData "InputMessageContent" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) ((:+:) ((:+:) (C1 (MetaCons "InputTextMessageContent" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "imc_message_text") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "imc_parse_mode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe ParseMode))) (S1 (MetaSel (Just Symbol "imc_disable_web_page_preview") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Bool)))))) (C1 (MetaCons "InputLocationMessageContent" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "imc_latitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)) (S1 (MetaSel (Just Symbol "imc_longitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float))))) ((:+:) (C1 (MetaCons "InputVenueMessageContent" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "imc_latitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)) (S1 (MetaSel (Just Symbol "imc_longitude") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float))) ((:*:) (S1 (MetaSel (Just Symbol "imc_title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "imc_address") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "imc_foursquare_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))))) (C1 (MetaCons "InputContactMessageContent" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "imc_phone_number") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "imc_first_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "imc_last_name") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))))))

data KeyboardButton Source #

Constructors

KeyboardButton 

Fields

  • kb_text :: Text

    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_request_contact :: Maybe Bool

    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_location :: Maybe Bool

    If True, the user's current location will be sent when the button is pressed. Available in private chats only

data WebhookInfo Source #

Constructors

WebhookInfo 

Fields

Instances

Show WebhookInfo Source # 
Generic WebhookInfo Source # 

Associated Types

type Rep WebhookInfo :: * -> * #

FromJSON WebhookInfo Source # 
ToJSON WebhookInfo Source # 
type Rep WebhookInfo Source # 
type Rep WebhookInfo = D1 (MetaData "WebhookInfo" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "WebhookInfo" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "whi_url") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "whi_has_custom_certificate") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) (S1 (MetaSel (Just Symbol "whi_pending_update_count") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "whi_last_error_date") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "whi_last_error_message") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "whi_max_connections") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "whi_allowed_updates") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Text])))))))

data LabeledPrice Source #

Constructors

LabeledPrice

This object represents a portion of the price for goods or services.

Fields

  • lp_label :: Text

    Portion label

  • lp_amount :: Int

    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).

data Invoice Source #

Constructors

Invoice

This object contains basic information about an invoice.

Fields

  • inv_title :: Text

    Product name

  • inv_description :: Text

    Product description

  • inv_start_parameter :: Text

    Unique bot deep-linking parameter that can be used to generate this invoice

  • inv_currency :: CurrencyCode

    Three-letter ISO 4217 currency code

  • inv_total_amount :: Int

    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).

data ShippingAddress Source #

Constructors

ShippingAddress 

Fields

Instances

Show ShippingAddress Source # 
Generic ShippingAddress Source # 
FromJSON ShippingAddress Source # 
ToJSON ShippingAddress Source # 
type Rep ShippingAddress Source # 
type Rep ShippingAddress = D1 (MetaData "ShippingAddress" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "ShippingAddress" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "ship_addr_country_code") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "ship_addr_state") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "ship_addr_city") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))) ((:*:) (S1 (MetaSel (Just Symbol "ship_addr_street_line1") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) ((:*:) (S1 (MetaSel (Just Symbol "ship_addr_street_line2") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "ship_addr_post_code") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))))

data OrderInfo Source #

Constructors

OrderInfo 

Fields

data SuccessfulPayment Source #

Constructors

SuccessfulPayment 

Fields

Instances

Show SuccessfulPayment Source # 
Generic SuccessfulPayment Source # 
FromJSON SuccessfulPayment Source # 
ToJSON SuccessfulPayment Source # 
type Rep SuccessfulPayment Source # 
type Rep SuccessfulPayment = D1 (MetaData "SuccessfulPayment" "Web.Telegram.API.Bot.Data" "telegram-api-0.7.0.0-9Z3D6e2nzOOHMeRp7flNOr" False) (C1 (MetaCons "SuccessfulPayment" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "suc_pmnt_currency") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CurrencyCode)) ((:*:) (S1 (MetaSel (Just Symbol "suc_pmnt_total_amount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) (S1 (MetaSel (Just Symbol "suc_pmnt_invoice_payload") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "suc_pmnt_shipping_option_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "suc_pmnt_order_info") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe OrderInfo)))) ((:*:) (S1 (MetaSel (Just Symbol "suc_pmnt_telegram_payment_charge_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "suc_pmnt_provider_payment_charge_id") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))))

data ShippingQuery Source #

Constructors

ShippingQuery 

Fields

data PreCheckoutQuery Source #

Constructors

PreCheckoutQuery 

Fields

Instances

Show PreCheckoutQuery Source # 
Generic PreCheckoutQuery Source # 
FromJSON PreCheckoutQuery Source # 
ToJSON PreCheckoutQuery Source # 
type Rep PreCheckoutQuery Source # 

Functions