telegram-api-0.1.0.1: 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

user_id :: Int

Unique identifier for this user or bot

user_first_name :: Text

User‘s or bot’s first name

user_last_name :: Maybe Text

User‘s or bot’s last name

user_username :: Maybe Text

User‘s or bot’s username

data Chat Source

This object represents a chat.

Constructors

Chat 

Fields

chat_id :: Int

Unique identifier for this chat, not exceeding 1e13 by absolute value

chat_type :: ChatType

Type of chat, can be either Private, Group, Supergroup or Channel

chat_title :: Maybe Text

Title, for channels and group chats

chat_username :: Maybe Text

Username, for private chats and channels if available

chat_first_name :: Maybe Text

First name of the other party in a private chat

chat_last_name :: Maybe Text

Last name of the other party in a private chat

data Message Source

This object represents a message.

Constructors

Message 

Fields

message_id :: Int

Unique message identifier

from :: User

Sender, can be empty for messages sent to channels

date :: Int

Date the message was sent in Unix time

chat :: Chat

Conversation the message belongs to

forward_from :: Maybe User

For forwarded messages, sender of the original message

forward_date :: Maybe Int

For forwarded messages, date the original message was sent in Unix time

reply_to_message :: Maybe Message

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.

text :: Maybe Text

For text messages, the actual UTF-8 text of the message

audio :: Maybe Audio

Message is an audio file, information about the file

document :: Maybe Document

Message is a general file, information about the file

photo :: Maybe [PhotoSize]

Message is a photo, available sizes of the photo

sticker :: Maybe Sticker

Message is a sticker, information about the sticker

video :: Maybe Video

Message is a video, information about the video

voice :: Maybe Voice

Message is a voice message, information about the file

caption :: Maybe Text

Caption for the photo or video

contact :: Maybe Contact

Message is a shared contact, information about the contact

location :: Maybe Location

Message is a shared location, information about the location

new_chat_participant :: Maybe User

A new member was added to the group, information about them (this member may be the bot itself)

left_chat_participant :: Maybe User

A member was removed from the group, information about them (this member may be the bot itself)

new_chat_title :: Maybe Text

A chat title was changed to this value

new_chat_photo :: Maybe [PhotoSize]

A chat photo was change to this value

delete_chat_photo :: Maybe Bool

Service message: the chat photo was deleted

group_chat_created :: Maybe Bool

Service message: the group has been created

supergroup_chat_created :: Maybe Bool

Service message: the supergroup has been created

channel_chat_created :: Maybe Bool

Service message: the channel has been created

migrate_to_chat_id :: Maybe Int

The group has been migrated to a supergroup with the specified identifier, not exceeding 1e13 by absolute value

migrate_from_chat_id :: Maybe Int

The supergroup has been migrated from a group with the specified identifier, not exceeding 1e13 by absolute value

data PhotoSize Source

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

Constructors

PhotoSize 

Fields

photo_file_id :: Text

Unique identifier for this file

photo_width :: Int

Photo width

photo_height :: Int

Photo height

photo_file_size :: Maybe Int

File size

data Audio Source

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

Constructors

Audio 

Fields

audio_file_id :: Text

Unique identifier for this file

audio_duration :: Int

Duration of the audio in seconds as defined by sender

audio_performer :: Maybe Text

Performer of the audio as defined by sender or by audio tags

audio_title :: Maybe Text

Title of the audio as defined by sender or by audio tags

audio_mime_type :: Maybe Text

MIME type of the file as defined by sender

audio_file_size :: Maybe Int

File size

data Document Source

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

Constructors

Document 

Fields

doc_file_id :: Text

Unique file identifier

doc_thumb :: Maybe PhotoSize

Document thumbnail as defined by sender

doc_file_name :: Maybe Text

Original filename as defined by sender

doc_mime_type :: Maybe Text

MIME type of the file as defined by sender

doc_file_size :: Maybe Int

File size

data Sticker Source

This object represents a sticker.

Constructors

Sticker 

Fields

sticker_file_id :: Text

Unique identifier for this file

sticker_width :: Int

Sticker width

sticker_height :: Int

Sticker height

sticker_thumb :: Maybe PhotoSize

Sticker thumbnail in .webp or .jpg format

sticker_file_size :: Maybe Int

File size

data Video Source

This object represents a video file.

Constructors

Video 

Fields

video_file_id :: Text

Unique identifier for this file

video_width :: Int

Video width as defined by sender

video_height :: Int

Video height as defined by sender

video_duration :: Int

Duration of the video in seconds as defined by sender

video_thumb :: Maybe PhotoSize

Video thumbnail

video_mime_type :: Maybe Text

MIME type of a file as defined by sender

video_file_size :: Maybe Int

File size

data Voice Source

This object represents a voice note.

Constructors

Voice 

Fields

voice_file_id :: Text

Unique identifier for this file

voice_duration :: Int

Duration of the audio in seconds as defined by sender

voice_mime_type :: Maybe Text

MIME type of the file as defined by sender

voice_file_size :: Maybe Int

File size

data Contact Source

This object represents a phone contact.

Constructors

Contact 

Fields

contact_phone_number :: Text

Contact's phone number

contact_first_name :: Text

Contact's first name

contact_last_name :: Maybe Text

Contact's last name

contact_user_id :: Maybe Int

Contact's user identifier in Telegram

data Location Source

This object represents a point on the map.

Constructors

Location 

Fields

longitude :: Float

Longitude as defined by sender

latitude :: Float

Latitude as defined by sender

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 :: Message

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

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

file_id :: Text

Unique identifier for this file

file_size :: Maybe Int

File size, if known

file_path :: Maybe Text

File path. Use https://api.telegram.org/file/bot<token>/<file_path> to get the file.

data UserProfilePhotos Source

This object represent a user's profile pictures.

Constructors

UserProfilePhotos 

Fields

total_count :: Int

Total number of profile pictures the target user has

photos :: [[PhotoSize]]

Requested profile pictures (in up to 4 sizes each)