Types Reference

All 303 types from Telegram Bot API, auto-generated from api.json.

Note

Do not edit this file by hand. Run python3 scripts/generate_rst.py to regenerate.

AcceptedGiftTypes

Telegram docs ↗

This object describes the types of gifts that can be gifted to a user or a chat.

Parameter

Type

Required

Description

unlimited_gifts

Boolean

Yes

True, if unlimited regular gifts are accepted

limited_gifts

Boolean

Yes

True, if limited regular gifts are accepted

unique_gifts

Boolean

Yes

True, if unique gifts or gifts that can be upgraded to unique for free are accepted

premium_subscription

Boolean

Yes

True, if a Telegram Premium subscription is accepted

gifts_from_channels

Boolean

Yes

True, if transfers of unique gifts from channels are accepted

AffiliateInfo

Telegram docs ↗

Contains information about the affiliate that received a commission via this transaction.

Parameter

Type

Required

Description

affiliate_user

User

Optional

Optional. The bot or the user that received an affiliate commission if it was received by a bot or a user

affiliate_chat

Chat

Optional

Optional. The chat that received an affiliate commission if it was received by a chat

commission_per_mille

Integer

Yes

The number of Telegram Stars received by the affiliate for each 1000 Telegram Stars received by the bot from referred users

amount

Integer

Yes

Integer amount of Telegram Stars received by the affiliate from the transaction, rounded to 0; can be negative for refunds

nanostar_amount

Integer

Optional

Optional. The number of 1/1000000000 shares of Telegram Stars received by the affiliate; from -999999999 to 999999999; can be negative for refunds

Animation

Telegram docs ↗

This object represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

width

Integer

Yes

Video width as defined by the sender

height

Integer

Yes

Video height as defined by the sender

duration

Integer

Yes

Duration of the video in seconds as defined by the sender

thumbnail

PhotoSize

Optional

Optional. Animation thumbnail as defined by the sender

file_name

String

Optional

Optional. Original animation filename as defined by the sender

mime_type

String

Optional

Optional. MIME type of the file as defined by the sender

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

Audio

Telegram docs ↗

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

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

duration

Integer

Yes

Duration of the audio in seconds as defined by the sender

performer

String

Optional

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

title

String

Optional

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

file_name

String

Optional

Optional. Original filename as defined by the sender

mime_type

String

Optional

Optional. MIME type of the file as defined by the sender

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

thumbnail

PhotoSize

Optional

Optional. Thumbnail of the album cover to which the music file belongs

BackgroundFill

Telegram docs ↗

This object describes the way a background is filled based on the selected colors. Currently, it can be one of - BackgroundFillSolid - BackgroundFillGradient - BackgroundFillFreeformGradient

Union type, one of: BackgroundFillSolid, BackgroundFillGradient, BackgroundFillFreeformGradient

BackgroundFillFreeformGradient

Telegram docs ↗

The background is a freeform gradient that rotates after every message in the chat.

Parameter

Type

Required

Description

type

String

Yes

Type of the background fill, always “freeform_gradient”

colors

Array of Integer

Yes

A list of the 3 or 4 base colors that are used to generate the freeform gradient in the RGB24 format

BackgroundFillGradient

Telegram docs ↗

The background is a gradient fill.

Parameter

Type

Required

Description

type

String

Yes

Type of the background fill, always “gradient”

top_color

Integer

Yes

Top color of the gradient in the RGB24 format

bottom_color

Integer

Yes

Bottom color of the gradient in the RGB24 format

rotation_angle

Integer

Yes

Clockwise rotation angle of the background fill in degrees; 0-359

BackgroundFillSolid

Telegram docs ↗

The background is filled using the selected color.

Parameter

Type

Required

Description

type

String

Yes

Type of the background fill, always “solid”

color

Integer

Yes

The color of the background fill in the RGB24 format

BackgroundType

Telegram docs ↗

This object describes the type of a background. Currently, it can be one of - BackgroundTypeFill - BackgroundTypeWallpaper - BackgroundTypePattern - BackgroundTypeChatTheme

Union type, one of: BackgroundTypeFill, BackgroundTypeWallpaper, BackgroundTypePattern, BackgroundTypeChatTheme

BackgroundTypeChatTheme

Telegram docs ↗

The background is taken directly from a built-in chat theme.

Parameter

Type

Required

Description

type

String

Yes

Type of the background, always “chat_theme”

theme_name

String

Yes

Name of the chat theme, which is usually an emoji

BackgroundTypeFill

Telegram docs ↗

The background is automatically filled based on the selected colors.

Parameter

Type

Required

Description

type

String

Yes

Type of the background, always “fill”

fill

BackgroundFill

Yes

The background fill

dark_theme_dimming

Integer

Yes

Dimming of the background in dark themes, as a percentage; 0-100

BackgroundTypePattern

Telegram docs ↗

The background is a .PNG or .TGV (gzipped subset of SVG with MIME type “application/x-tgwallpattern”) pattern to be combined with the background fill chosen by the user.

Parameter

Type

Required

Description

type

String

Yes

Type of the background, always “pattern”

document

Document

Yes

Document with the pattern

fill

BackgroundFill

Yes

The background fill that is combined with the pattern

intensity

Integer

Yes

Intensity of the pattern when it is shown above the filled background; 0-100

is_inverted

Boolean

Optional

Optional. True, if the background fill must be applied only to the pattern itself. All other pixels are black in this case. For dark themes only

is_moving

Boolean

Optional

Optional. True, if the background moves slightly when the device is tilted

BackgroundTypeWallpaper

Telegram docs ↗

The background is a wallpaper in the JPEG format.

Parameter

Type

Required

Description

type

String

Yes

Type of the background, always “wallpaper”

document

Document

Yes

Document with the wallpaper

dark_theme_dimming

Integer

Yes

Dimming of the background in dark themes, as a percentage; 0-100

is_blurred

Boolean

Optional

Optional. True, if the wallpaper is downscaled to fit in a 450x450 square and then box-blurred with radius 12

is_moving

Boolean

Optional

Optional. True, if the background moves slightly when the device is tilted

Birthdate

Telegram docs ↗

Describes the birthdate of a user.

Parameter

Type

Required

Description

day

Integer

Yes

Day of the user’s birth; 1-31

month

Integer

Yes

Month of the user’s birth; 1-12

year

Integer

Optional

Optional. Year of the user’s birth

BotAccessSettings

Telegram docs ↗

This object describes the access settings of a bot.

Parameter

Type

Required

Description

is_access_restricted

Boolean

Yes

True, if only selected users can access the bot. The bot’s owner can always access it.

added_users

Array of User

Optional

Optional. The list of other users who have access to the bot if the access is restricted

BotCommand

Telegram docs ↗

This object represents a bot command.

Parameter

Type

Required

Description

command

String

Yes

Text of the command; 1-32 characters. Can contain only lowercase English letters, digits and underscores.

description

String

Yes

Description of the command; 1-256 characters.

BotCommandScope

Telegram docs ↗

This object represents the scope to which bot commands are applied. Currently, the following 7 scopes are supported: - BotCommandScopeDefault - BotCommandScopeAllPrivateChats - BotCommandScopeAllGroupChats - BotCommandScopeAllChatAdministrators - BotCommandScopeChat - BotCommandScopeChatAdministrators - BotCommandScopeChatMember

Union type, one of: BotCommandScopeDefault, BotCommandScopeAllPrivateChats, BotCommandScopeAllGroupChats, BotCommandScopeAllChatAdministrators, BotCommandScopeChat, BotCommandScopeChatAdministrators, BotCommandScopeChatMember

BotCommandScopeAllChatAdministrators

Telegram docs ↗

Represents the scope of bot commands, covering all group and supergroup chat administrators.

Parameter

Type

Required

Description

type

String

Yes

Scope type, must be all_chat_administrators

BotCommandScopeAllGroupChats

Telegram docs ↗

Represents the scope of bot commands, covering all group and supergroup chats.

Parameter

Type

Required

Description

type

String

Yes

Scope type, must be all_group_chats

BotCommandScopeAllPrivateChats

Telegram docs ↗

Represents the scope of bot commands, covering all private chats.

Parameter

Type

Required

Description

type

String

Yes

Scope type, must be all_private_chats

BotCommandScopeChat

Telegram docs ↗

Represents the scope of bot commands, covering a specific chat.

Parameter

Type

Required

Description

type

String

Yes

Scope type, must be chat

chat_id

Integer | String

Yes

Unique identifier for the target chat or username of the target supergroup in the format @username. Channel direct messages chats and channel chats aren’t supported.

BotCommandScopeChatAdministrators

Telegram docs ↗

Represents the scope of bot commands, covering all administrators of a specific group or supergroup chat.

Parameter

Type

Required

Description

type

String

Yes

Scope type, must be chat_administrators

chat_id

Integer | String

Yes

Unique identifier for the target chat or username of the target supergroup in the format @username. Channel direct messages chats and channel chats aren’t supported.

BotCommandScopeChatMember

Telegram docs ↗

Represents the scope of bot commands, covering a specific member of a group or supergroup chat.

Parameter

Type

Required

Description

type

String

Yes

Scope type, must be chat_member

chat_id

Integer | String

Yes

Unique identifier for the target chat or username of the target supergroup in the format @username. Channel direct messages chats and channel chats aren’t supported.

user_id

Integer

Yes

Unique identifier of the target user

BotCommandScopeDefault

Telegram docs ↗

Represents the default scope of bot commands. Default commands are used if no commands with a narrower scope are specified for the user.

Parameter

Type

Required

Description

type

String

Yes

Scope type, must be default

BotDescription

Telegram docs ↗

This object represents the bot’s description.

Parameter

Type

Required

Description

description

String

Yes

The bot’s description

BotName

Telegram docs ↗

This object represents the bot’s name.

Parameter

Type

Required

Description

name

String

Yes

The bot’s name

BotShortDescription

Telegram docs ↗

This object represents the bot’s short description.

Parameter

Type

Required

Description

short_description

String

Yes

The bot’s short description

BusinessBotRights

Telegram docs ↗

Represents the rights of a business bot.

Parameter

Type

Required

Description

can_reply

Boolean

Optional

Optional. True, if the bot can send and edit messages in the private chats that had incoming messages in the last 24 hours

can_read_messages

Boolean

Optional

Optional. True, if the bot can mark incoming private messages as read

can_delete_sent_messages

Boolean

Optional

Optional. True, if the bot can delete messages sent by the bot

can_delete_all_messages

Boolean

Optional

Optional. True, if the bot can delete all private messages in managed chats

can_edit_name

Boolean

Optional

Optional. True, if the bot can edit the first and last name of the business account

can_edit_bio

Boolean

Optional

Optional. True, if the bot can edit the bio of the business account

can_edit_profile_photo

Boolean

Optional

Optional. True, if the bot can edit the profile photo of the business account

can_edit_username

Boolean

Optional

Optional. True, if the bot can edit the username of the business account

can_change_gift_settings

Boolean

Optional

Optional. True, if the bot can change the privacy settings pertaining to gifts for the business account

can_view_gifts_and_stars

Boolean

Optional

Optional. True, if the bot can view gifts and the amount of Telegram Stars owned by the business account

can_convert_gifts_to_stars

Boolean

Optional

Optional. True, if the bot can convert regular gifts owned by the business account to Telegram Stars

can_transfer_and_upgrade_gifts

Boolean

Optional

Optional. True, if the bot can transfer and upgrade gifts owned by the business account

can_transfer_stars

Boolean

Optional

Optional. True, if the bot can transfer Telegram Stars received by the business account to its own account, or use them to upgrade and transfer gifts

can_manage_stories

Boolean

Optional

Optional. True, if the bot can post, edit and delete stories on behalf of the business account

BusinessConnection

Telegram docs ↗

Describes the connection of the bot with a business account.

Parameter

Type

Required

Description

id

String

Yes

Unique identifier of the business connection

user

User

Yes

Business account user that created the business connection

user_chat_id

Integer

Yes

Identifier of a private chat with the user who created the business connection. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a 64-bit integer or double-precision flo

date

Integer

Yes

Date the connection was established in Unix time

rights

BusinessBotRights

Optional

Optional. Rights of the business bot

is_enabled

Boolean

Yes

True, if the connection is active

BusinessIntro

Telegram docs ↗

Contains information about the start page settings of a Telegram Business account.

Parameter

Type

Required

Description

title

String

Optional

Optional. Title text of the business intro

message

String

Optional

Optional. Message text of the business intro

sticker

Sticker

Optional

Optional. Sticker of the business intro

BusinessLocation

Telegram docs ↗

Contains information about the location of a Telegram Business account.

Parameter

Type

Required

Description

address

String

Yes

Address of the business

location

Location

Optional

Optional. Location of the business

BusinessMessagesDeleted

Telegram docs ↗

This object is received when messages are deleted from a connected business account.

Parameter

Type

Required

Description

business_connection_id

String

Yes

Unique identifier of the business connection

chat

Chat

Yes

Information about a chat in the business account. The bot may not have access to the chat or the corresponding user.

message_ids

Array of Integer

Yes

The list of identifiers of deleted messages in the chat of the business account

BusinessOpeningHours

Telegram docs ↗

Describes the opening hours of a business.

Parameter

Type

Required

Description

time_zone_name

String

Yes

Unique name of the time zone for which the opening hours are defined

opening_hours

Array of BusinessOpeningHoursInterval

Yes

List of time intervals describing business opening hours

BusinessOpeningHoursInterval

Telegram docs ↗

Describes an interval of time during which a business is open.

Parameter

Type

Required

Description

opening_minute

Integer

Yes

The minute’s sequence number in a week, starting on Monday, marking the start of the time interval during which the business is open; 0 - 7 * 24 * 60

closing_minute

Integer

Yes

The minute’s sequence number in a week, starting on Monday, marking the end of the time interval during which the business is open; 0 - 8 * 24 * 60

CallbackGame

Telegram docs ↗

A placeholder, currently holds no information. Use BotFather to set up your game.

No fields.

CallbackQuery

Telegram docs ↗

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 present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.

Parameter

Type

Required

Description

id

String

Yes

Unique identifier for this query

from

User

Yes

Sender

message

MaybeInaccessibleMessage

Optional

Optional. Message sent by the bot with the callback button that originated the query

inline_message_id

String

Optional

Optional. Identifier of the message sent via the bot in inline mode, that originated the query.

chat_instance

String

Yes

Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in games.

data

String

Optional

Optional. Data associated with the callback button. Be aware that the message originated the query can contain no callback buttons with this data.

game_short_name

String

Optional

Optional. Short name of a Game to be returned, serves as the unique identifier for the game

Chat

Telegram docs ↗

This object represents a chat.

Parameter

Type

Required

Description

id

Integer

Yes

Unique identifier for this chat. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identi

type

String

Yes

Type of the chat, can be either “private”, “group”, “supergroup” or “channel”

title

String

Optional

Optional. Title, for supergroups, channels and group chats

username

String

Optional

Optional. Username, for private chats, supergroups and channels if available

first_name

String

Optional

Optional. First name of the other party in a private chat

last_name

String

Optional

Optional. Last name of the other party in a private chat

is_forum

Boolean

Optional

Optional. True, if the supergroup chat is a forum (has topics enabled)

is_direct_messages

Boolean

Optional

Optional. True, if the chat is the direct messages chat of a channel

ChatAdministratorRights

Telegram docs ↗

Represents the rights of an administrator in a chat.

Parameter

Type

Required

Description

is_anonymous

Boolean

Yes

True, if the user’s presence in the chat is hidden

can_manage_chat

Boolean

Yes

True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages, ignore slow mode, and send messages to the chat without paying Telegram Stars. Implied by any other administrator privilege.

can_delete_messages

Boolean

Yes

True, if the administrator can delete messages of other users

can_manage_video_chats

Boolean

Yes

True, if the administrator can manage video chats

can_restrict_members

Boolean

Yes

True, if the administrator can restrict, ban or unban chat members, or access supergroup statistics

can_promote_members

Boolean

Yes

True, if the administrator can add new administrators with a subset of their own privileges or demote administrators that they have promoted, directly or indirectly (promoted by administrators that were appointed by the user)

can_change_info

Boolean

Yes

True, if the user is allowed to change the chat title, photo and other settings

can_invite_users

Boolean

Yes

True, if the user is allowed to invite new users to the chat

can_post_stories

Boolean

Yes

True, if the administrator can post stories to the chat

can_edit_stories

Boolean

Yes

True, if the administrator can edit stories posted by other users, post stories to the chat page, pin chat stories, and access the chat’s story archive

can_delete_stories

Boolean

Yes

True, if the administrator can delete stories posted by other users

can_post_messages

Boolean

Optional

Optional. True, if the administrator can post messages in the channel, approve suggested posts, or access channel statistics; for channels only

can_edit_messages

Boolean

Optional

Optional. True, if the administrator can edit messages of other users and can pin messages; for channels only

can_pin_messages

Boolean

Optional

Optional. True, if the user is allowed to pin messages; for groups and supergroups only

can_manage_topics

Boolean

Optional

Optional. True, if the user is allowed to create, rename, close, and reopen forum topics; for supergroups only

can_manage_direct_messages

Boolean

Optional

Optional. True, if the administrator can manage direct messages of the channel and decline suggested posts; for channels only

can_manage_tags

Boolean

Optional

Optional. True, if the administrator can edit the tags of regular members; for groups and supergroups only. If omitted defaults to the value of can_pin_messages.

ChatBackground

Telegram docs ↗

This object represents a chat background.

Parameter

Type

Required

Description

type

BackgroundType

Yes

Type of the background

ChatBoost

Telegram docs ↗

This object contains information about a chat boost.

Parameter

Type

Required

Description

boost_id

String

Yes

Unique identifier of the boost

add_date

Integer

Yes

Point in time (Unix timestamp) when the chat was boosted

expiration_date

Integer

Yes

Point in time (Unix timestamp) when the boost will automatically expire, unless the booster’s Telegram Premium subscription is prolonged

source

ChatBoostSource

Yes

Source of the added boost

ChatBoostAdded

Telegram docs ↗

This object represents a service message about a user boosting a chat.

Parameter

Type

Required

Description

boost_count

Integer

Yes

Number of boosts added by the user

ChatBoostRemoved

Telegram docs ↗

This object represents a boost removed from a chat.

Parameter

Type

Required

Description

chat

Chat

Yes

Chat which was boosted

boost_id

String

Yes

Unique identifier of the boost

remove_date

Integer

Yes

Point in time (Unix timestamp) when the boost was removed

source

ChatBoostSource

Yes

Source of the removed boost

ChatBoostSource

Telegram docs ↗

This object describes the source of a chat boost. It can be one of - ChatBoostSourcePremium - ChatBoostSourceGiftCode - ChatBoostSourceGiveaway

Union type, one of: ChatBoostSourcePremium, ChatBoostSourceGiftCode, ChatBoostSourceGiveaway

ChatBoostSourceGiftCode

Telegram docs ↗

The boost was obtained by the creation of Telegram Premium gift codes to boost a chat. Each such code boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.

Parameter

Type

Required

Description

source

String

Yes

Source of the boost, always “gift_code”

user

User

Yes

User for which the gift code was created

ChatBoostSourceGiveaway

Telegram docs ↗

The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and prize_star_count / 500 times for one year for Telegram Star giveaways.

Parameter

Type

Required

Description

source

String

Yes

Source of the boost, always “giveaway”

giveaway_message_id

Integer

Yes

Identifier of a message in the chat with the giveaway; the message could have been deleted already. May be 0 if the message isn’t sent yet.

user

User

Optional

Optional. User that won the prize in the giveaway if any; for Telegram Premium giveaways only

prize_star_count

Integer

Optional

Optional. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only

is_unclaimed

Boolean

Optional

Optional. True, if the giveaway was completed, but there was no user to win the prize

ChatBoostSourcePremium

Telegram docs ↗

The boost was obtained by subscribing to Telegram Premium or by gifting a Telegram Premium subscription to another user.

Parameter

Type

Required

Description

source

String

Yes

Source of the boost, always “premium”

user

User

Yes

User that boosted the chat

ChatBoostUpdated

Telegram docs ↗

This object represents a boost added to a chat or changed.

Parameter

Type

Required

Description

chat

Chat

Yes

Chat which was boosted

boost

ChatBoost

Yes

Information about the chat boost

ChatFullInfo

Telegram docs ↗

This object contains full information about a chat.

Parameter

Type

Required

Description

id

Integer

Yes

Unique identifier for this chat. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this identi

type

String

Yes

Type of the chat, can be either “private”, “group”, “supergroup” or “channel”

title

String

Optional

Optional. Title, for supergroups, channels and group chats

username

String

Optional

Optional. Username, for private chats, supergroups and channels if available

first_name

String

Optional

Optional. First name of the other party in a private chat

last_name

String

Optional

Optional. Last name of the other party in a private chat

is_forum

Boolean

Optional

Optional. True, if the supergroup chat is a forum (has topics enabled)

is_direct_messages

Boolean

Optional

Optional. True, if the chat is the direct messages chat of a channel

accent_color_id

Integer

Yes

Identifier of the accent color for the chat name and backgrounds of the chat photo, reply header, and link preview. See accent colors for more details.

max_reaction_count

Integer

Yes

The maximum number of reactions that can be set on a message in the chat

photo

ChatPhoto

Optional

Optional. Chat photo

active_usernames

Array of String

Optional

Optional. If non-empty, the list of all active chat usernames; for private chats, supergroups and channels

birthdate

Birthdate

Optional

Optional. For private chats, the date of birth of the user

business_intro

BusinessIntro

Optional

Optional. For private chats with business accounts, the intro of the business

business_location

BusinessLocation

Optional

Optional. For private chats with business accounts, the location of the business

business_opening_hours

BusinessOpeningHours

Optional

Optional. For private chats with business accounts, the opening hours of the business

personal_chat

Chat

Optional

Optional. For private chats, the personal channel of the user

parent_chat

Chat

Optional

Optional. Information about the corresponding channel chat; for direct messages chats only

available_reactions

Array of ReactionType

Optional

Optional. List of available reactions allowed in the chat. If omitted, then all emoji reactions are allowed.

background_custom_emoji_id

String

Optional

Optional. Custom emoji identifier of the emoji chosen by the chat for the reply header and link preview background

profile_accent_color_id

Integer

Optional

Optional. Identifier of the accent color for the chat’s profile background. See profile accent colors for more details.

profile_background_custom_emoji_id

String

Optional

Optional. Custom emoji identifier of the emoji chosen by the chat for its profile background

emoji_status_custom_emoji_id

String

Optional

Optional. Custom emoji identifier of the emoji status of the chat or the other party in a private chat

emoji_status_expiration_date

Integer

Optional

Optional. Expiration date of the emoji status of the chat or the other party in a private chat, in Unix time, if any

bio

String

Optional

Optional. Bio of the other party in a private chat

has_private_forwards

Boolean

Optional

Optional. True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user

has_restricted_voice_and_video_messages

Boolean

Optional

Optional. True, if the privacy settings of the other party restrict sending voice and video note messages in the private chat

join_to_send_messages

Boolean

Optional

Optional. True, if users need to join the supergroup before they can send messages

join_by_request

Boolean

Optional

Optional. True, if all users directly joining the supergroup without using an invite link need to be approved by supergroup administrators

description

String

Optional

Optional. Description, for groups, supergroups and channel chats

invite_link

String

Optional

Optional. Primary invite link, for groups, supergroups and channel chats

pinned_message

Message

Optional

Optional. The most recent pinned message (by sending date)

permissions

ChatPermissions

Optional

Optional. Default chat member permissions, for groups and supergroups

accepted_gift_types

AcceptedGiftTypes

Yes

Information about types of gifts that are accepted by the chat or by the corresponding user for private chats

can_send_paid_media

Boolean

Optional

Optional. True, if paid media messages can be sent or forwarded to the channel chat. The field is available only for channel chats.

slow_mode_delay

Integer

Optional

Optional. For supergroups, the minimum allowed delay between consecutive messages sent by each unprivileged user; in seconds

unrestrict_boost_count

Integer

Optional

Optional. For supergroups, the minimum number of boosts that a non-administrator user needs to add in order to ignore slow mode and chat permissions

message_auto_delete_time

Integer

Optional

Optional. The time after which all messages sent to the chat will be automatically deleted; in seconds

has_aggressive_anti_spam_enabled

Boolean

Optional

Optional. True, if aggressive anti-spam checks are enabled in the supergroup. The field is only available to chat administrators.

has_hidden_members

Boolean

Optional

Optional. True, if non-administrators can only get the list of bots and administrators in the chat

has_protected_content

Boolean

Optional

Optional. True, if messages from the chat can’t be forwarded to other chats

has_visible_history

Boolean

Optional

Optional. True, if new chat members will have access to old messages; available only to chat administrators

sticker_set_name

String

Optional

Optional. For supergroups, name of the group sticker set

can_set_sticker_set

Boolean

Optional

Optional. True, if the bot can change the group sticker set

custom_emoji_sticker_set_name

String

Optional

Optional. For supergroups, the name of the group’s custom emoji sticker set. Custom emoji from this set can be used by all users and bots in the group.

linked_chat_id

Integer

Optional

Optional. Unique identifier for the linked chat, i.e. the discussion group identifier for a channel and vice versa; for supergroups and channel chats. This identifier may be greater than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller t

location

ChatLocation

Optional

Optional. For supergroups, the location to which the supergroup is connected

rating

UserRating

Optional

Optional. For private chats, the rating of the user if any

first_profile_audio

Audio

Optional

Optional. For private chats, the first audio added to the profile of the user

unique_gift_colors

UniqueGiftColors

Optional

Optional. The color scheme based on a unique gift that must be used for the chat’s name, message replies and link previews

paid_message_star_count

Integer

Optional

Optional. The number of Telegram Stars a general user have to pay to send a message to the chat

ChatJoinRequest

Telegram docs ↗

Represents a join request sent to a chat.

Parameter

Type

Required

Description

chat

Chat

Yes

Chat to which the request was sent

from

User

Yes

User that sent the join request

user_chat_id

Integer

Yes

Identifier of a private chat with the user who sent the join request. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a 64-bit integer or double-precision float type ar

date

Integer

Yes

Date the request was sent in Unix time

bio

String

Optional

Optional. Bio of the user.

invite_link

ChatInviteLink

Optional

Optional. Chat invite link that was used by the user to send the join request

ChatLocation

Telegram docs ↗

Represents a location to which a chat is connected.

Parameter

Type

Required

Description

location

Location

Yes

The location to which the supergroup is connected. Can’t be a live location.

address

String

Yes

Location address; 1-64 characters, as defined by the chat owner

ChatMember

Telegram docs ↗

This object contains information about one member of a chat. Currently, the following 6 types of chat members are supported: - ChatMemberOwner - ChatMemberAdministrator - ChatMemberMember - ChatMemberRestricted - ChatMemberLeft - ChatMemberBanned

Union type, one of: ChatMemberOwner, ChatMemberAdministrator, ChatMemberMember, ChatMemberRestricted, ChatMemberLeft, ChatMemberBanned

ChatMemberAdministrator

Telegram docs ↗

Represents a chat member that has some additional privileges.

Parameter

Type

Required

Description

status

String

Yes

The member’s status in the chat, always “administrator”

user

User

Yes

Information about the user

can_be_edited

Boolean

Yes

True, if the bot is allowed to edit administrator privileges of that user

is_anonymous

Boolean

Yes

True, if the user’s presence in the chat is hidden

can_manage_chat

Boolean

Yes

True, if the administrator can access the chat event log, get boost list, see hidden supergroup and channel members, report spam messages, ignore slow mode, and send messages to the chat without paying Telegram Stars. Implied by any other administrator privilege.

can_delete_messages

Boolean

Yes

True, if the administrator can delete messages of other users

can_manage_video_chats

Boolean

Yes

True, if the administrator can manage video chats

can_restrict_members

Boolean

Yes

True, if the administrator can restrict, ban or unban chat members, or access supergroup statistics

can_promote_members

Boolean

Yes

True, if the administrator can add new administrators with a subset of their own privileges or demote administrators that they have promoted, directly or indirectly (promoted by administrators that were appointed by the user)

can_change_info

Boolean

Yes

True, if the user is allowed to change the chat title, photo and other settings

can_invite_users

Boolean

Yes

True, if the user is allowed to invite new users to the chat

can_post_stories

Boolean

Yes

True, if the administrator can post stories to the chat

can_edit_stories

Boolean

Yes

True, if the administrator can edit stories posted by other users, post stories to the chat page, pin chat stories, and access the chat’s story archive

can_delete_stories

Boolean

Yes

True, if the administrator can delete stories posted by other users

can_post_messages

Boolean

Optional

Optional. True, if the administrator can post messages in the channel, approve suggested posts, or access channel statistics; for channels only

can_edit_messages

Boolean

Optional

Optional. True, if the administrator can edit messages of other users and can pin messages; for channels only

can_pin_messages

Boolean

Optional

Optional. True, if the user is allowed to pin messages; for groups and supergroups only

can_manage_topics

Boolean

Optional

Optional. True, if the user is allowed to create, rename, close, and reopen forum topics; for supergroups only

can_manage_direct_messages

Boolean

Optional

Optional. True, if the administrator can manage direct messages of the channel and decline suggested posts; for channels only

can_manage_tags

Boolean

Optional

Optional. True, if the administrator can edit the tags of regular members; for groups and supergroups only. If omitted defaults to the value of can_pin_messages.

custom_title

String

Optional

Optional. Custom title for this user

ChatMemberBanned

Telegram docs ↗

Represents a chat member that was banned in the chat and can’t return to the chat or view chat messages.

Parameter

Type

Required

Description

status

String

Yes

The member’s status in the chat, always “kicked”

user

User

Yes

Information about the user

until_date

Integer

Yes

Date when restrictions will be lifted for this user; Unix time. If 0, then the user is banned forever

ChatMemberLeft

Telegram docs ↗

Represents a chat member that isn’t currently a member of the chat, but may join it themselves.

Parameter

Type

Required

Description

status

String

Yes

The member’s status in the chat, always “left”

user

User

Yes

Information about the user

ChatMemberMember

Telegram docs ↗

Represents a chat member that has no additional privileges or restrictions.

Parameter

Type

Required

Description

status

String

Yes

The member’s status in the chat, always “member”

tag

String

Optional

Optional. Tag of the member

user

User

Yes

Information about the user

until_date

Integer

Optional

Optional. Date when the user’s subscription will expire; Unix time

ChatMemberOwner

Telegram docs ↗

Represents a chat member that owns the chat and has all administrator privileges.

Parameter

Type

Required

Description

status

String

Yes

The member’s status in the chat, always “creator”

user

User

Yes

Information about the user

is_anonymous

Boolean

Yes

True, if the user’s presence in the chat is hidden

custom_title

String

Optional

Optional. Custom title for this user

ChatMemberRestricted

Telegram docs ↗

Represents a chat member that is under certain restrictions in the chat. Supergroups only.

Parameter

Type

Required

Description

status

String

Yes

The member’s status in the chat, always “restricted”

tag

String

Optional

Optional. Tag of the member

user

User

Yes

Information about the user

is_member

Boolean

Yes

True, if the user is a member of the chat at the moment of the request

can_send_messages

Boolean

Yes

True, if the user is allowed to send text messages, contacts, giveaways, giveaway winners, invoices, locations and venues

can_send_audios

Boolean

Yes

True, if the user is allowed to send audios

can_send_documents

Boolean

Yes

True, if the user is allowed to send documents

can_send_photos

Boolean

Yes

True, if the user is allowed to send photos

can_send_videos

Boolean

Yes

True, if the user is allowed to send videos

can_send_video_notes

Boolean

Yes

True, if the user is allowed to send video notes

can_send_voice_notes

Boolean

Yes

True, if the user is allowed to send voice notes

can_send_polls

Boolean

Yes

True, if the user is allowed to send polls and checklists

can_send_other_messages

Boolean

Yes

True, if the user is allowed to send animations, games, stickers and use inline bots

can_add_web_page_previews

Boolean

Yes

True, if the user is allowed to add web page previews to their messages

can_react_to_messages

Boolean

Yes

True, if the user is allowed to react to messages

can_edit_tag

Boolean

Yes

True, if the user is allowed to edit their own tag

can_change_info

Boolean

Yes

True, if the user is allowed to change the chat title, photo and other settings

can_invite_users

Boolean

Yes

True, if the user is allowed to invite new users to the chat

can_pin_messages

Boolean

Yes

True, if the user is allowed to pin messages

can_manage_topics

Boolean

Yes

True, if the user is allowed to create forum topics

until_date

Integer

Yes

Date when restrictions will be lifted for this user; Unix time. If 0, then the user is restricted forever

ChatMemberUpdated

Telegram docs ↗

This object represents changes in the status of a chat member.

Parameter

Type

Required

Description

chat

Chat

Yes

Chat the user belongs to

from

User

Yes

Performer of the action, which resulted in the change

date

Integer

Yes

Date the change was done in Unix time

old_chat_member

ChatMember

Yes

Previous information about the chat member

new_chat_member

ChatMember

Yes

New information about the chat member

invite_link

ChatInviteLink

Optional

Optional. Chat invite link, which was used by the user to join the chat; for joining by invite link events only.

via_join_request

Boolean

Optional

Optional. True, if the user joined the chat after sending a direct join request without using an invite link and being approved by an administrator

via_chat_folder_invite_link

Boolean

Optional

Optional. True, if the user joined the chat via a chat folder invite link

ChatOwnerChanged

Telegram docs ↗

Describes a service message about an ownership change in the chat.

Parameter

Type

Required

Description

new_owner

User

Yes

The new owner of the chat

ChatOwnerLeft

Telegram docs ↗

Describes a service message about the chat owner leaving the chat.

Parameter

Type

Required

Description

new_owner

User

Optional

Optional. The user who will become the new owner of the chat if the previous owner does not return to the chat

ChatPermissions

Telegram docs ↗

Describes actions that a non-administrator user is allowed to take in a chat.

Parameter

Type

Required

Description

can_send_messages

Boolean

Optional

Optional. True, if the user is allowed to send text messages, contacts, giveaways, giveaway winners, invoices, locations and venues

can_send_audios

Boolean

Optional

Optional. True, if the user is allowed to send audios

can_send_documents

Boolean

Optional

Optional. True, if the user is allowed to send documents

can_send_photos

Boolean

Optional

Optional. True, if the user is allowed to send photos

can_send_videos

Boolean

Optional

Optional. True, if the user is allowed to send videos

can_send_video_notes

Boolean

Optional

Optional. True, if the user is allowed to send video notes

can_send_voice_notes

Boolean

Optional

Optional. True, if the user is allowed to send voice notes

can_send_polls

Boolean

Optional

Optional. True, if the user is allowed to send polls and checklists

can_send_other_messages

Boolean

Optional

Optional. True, if the user is allowed to send animations, games, stickers and use inline bots

can_add_web_page_previews

Boolean

Optional

Optional. True, if the user is allowed to add web page previews to their messages

can_react_to_messages

Boolean

Optional

Optional. True, if the user is allowed to react to messages. If omitted, defaults to the value of can_send_messages.

can_edit_tag

Boolean

Optional

Optional. True, if the user is allowed to edit their own tag. If omitted, defaults to the value of can_pin_messages.

can_change_info

Boolean

Optional

Optional. True, if the user is allowed to change the chat title, photo and other settings. Ignored in public supergroups

can_invite_users

Boolean

Optional

Optional. True, if the user is allowed to invite new users to the chat

can_pin_messages

Boolean

Optional

Optional. True, if the user is allowed to pin messages. Ignored in public supergroups

can_manage_topics

Boolean

Optional

Optional. True, if the user is allowed to create forum topics. If omitted defaults to the value of can_pin_messages

ChatPhoto

Telegram docs ↗

This object represents a chat photo.

Parameter

Type

Required

Description

small_file_id

String

Yes

File identifier of small (160x160) chat photo. This file_id can be used only for photo download and only for as long as the photo is not changed.

small_file_unique_id

String

Yes

Unique file identifier of small (160x160) chat photo, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

big_file_id

String

Yes

File identifier of big (640x640) chat photo. This file_id can be used only for photo download and only for as long as the photo is not changed.

big_file_unique_id

String

Yes

Unique file identifier of big (640x640) chat photo, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

ChatShared

Telegram docs ↗

This object contains information about a chat that was shared with the bot using a KeyboardButtonRequestChat button.

Parameter

Type

Required

Description

request_id

Integer

Yes

Identifier of the request

chat_id

Integer

Yes

Identifier of the shared chat. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a 64-bit integer or double-precision float type are safe for storing this identifier. The

title

String

Optional

Optional. Title of the chat, if the title was requested by the bot.

username

String

Optional

Optional. Username of the chat, if the username was requested by the bot and available.

photo

Array of PhotoSize

Optional

Optional. Available sizes of the chat photo, if the photo was requested by the bot

Checklist

Telegram docs ↗

Describes a checklist.

Parameter

Type

Required

Description

title

String

Yes

Title of the checklist

title_entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the checklist title

tasks

Array of ChecklistTask

Yes

List of tasks in the checklist

others_can_add_tasks

Boolean

Optional

Optional. True, if users other than the creator of the list can add tasks to the list

others_can_mark_tasks_as_done

Boolean

Optional

Optional. True, if users other than the creator of the list can mark tasks as done or not done

ChecklistTask

Telegram docs ↗

Describes a task in a checklist.

Parameter

Type

Required

Description

id

Integer

Yes

Unique identifier of the task

text

String

Yes

Text of the task

text_entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the task text

completed_by_user

User

Optional

Optional. User that completed the task; omitted if the task wasn’t completed by a user

completed_by_chat

Chat

Optional

Optional. Chat that completed the task; omitted if the task wasn’t completed by a chat

completion_date

Integer

Optional

Optional. Point in time (Unix timestamp) when the task was completed; 0 if the task wasn’t completed

ChecklistTasksAdded

Telegram docs ↗

Describes a service message about tasks added to a checklist.

Parameter

Type

Required

Description

checklist_message

Message

Optional

Optional. Message containing the checklist to which the tasks were added. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

tasks

Array of ChecklistTask

Yes

List of tasks added to the checklist

ChecklistTasksDone

Telegram docs ↗

Describes a service message about checklist tasks marked as done or not done.

Parameter

Type

Required

Description

checklist_message

Message

Optional

Optional. Message containing the checklist whose tasks were marked as done or not done. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

marked_as_done_task_ids

Array of Integer

Optional

Optional. Identifiers of the tasks that were marked as done

marked_as_not_done_task_ids

Array of Integer

Optional

Optional. Identifiers of the tasks that were marked as not done

ChosenInlineResult

Telegram docs ↗

Represents a result of an inline query that was chosen by the user and sent to their chat partner. Note: It is necessary to enable inline feedback via @BotFather in order to receive these objects in updates.

Parameter

Type

Required

Description

result_id

String

Yes

The unique identifier for the result that was chosen

from

User

Yes

The user that chose the result

location

Location

Optional

Optional. Sender location, only for bots that require user location

inline_message_id

String

Optional

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

query

String

Yes

The query that was used to obtain the result

Contact

Telegram docs ↗

This object represents a phone contact.

Parameter

Type

Required

Description

phone_number

String

Yes

Contact’s phone number

first_name

String

Yes

Contact’s first name

last_name

String

Optional

Optional. Contact’s last name

user_id

Integer

Optional

Optional. Contact’s user identifier in Telegram. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a 64-bit integer or double-precision float type are safe for storing th

vcard

String

Optional

Optional. Additional data about the contact in the form of a vCard

CopyTextButton

Telegram docs ↗

This object represents an inline keyboard button that copies specified text to the clipboard.

Parameter

Type

Required

Description

text

String

Yes

The text to be copied to the clipboard; 1-256 characters

Dice

Telegram docs ↗

This object represents an animated emoji that displays a random value.

Parameter

Type

Required

Description

emoji

String

Yes

Emoji on which the dice throw animation is based

value

Integer

Yes

Value of the dice, 1-6 for “🎲”, “🎯” and “🎳” base emoji, 1-5 for “🏀” and “⚽” base emoji, 1-64 for “🎰” base emoji

DirectMessagePriceChanged

Telegram docs ↗

Describes a service message about a change in the price of direct messages sent to a channel chat.

Parameter

Type

Required

Description

are_direct_messages_enabled

Boolean

Yes

True, if direct messages are enabled for the channel chat; false otherwise

direct_message_star_count

Integer

Optional

Optional. The new number of Telegram Stars that must be paid by users for each direct message sent to the channel. Does not apply to users who have been exempted by administrators. Defaults to 0.

DirectMessagesTopic

Telegram docs ↗

Describes a topic of a direct messages chat.

Parameter

Type

Required

Description

topic_id

Integer

Yes

Unique identifier of the topic. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a 64-bit integer or double-precision float type are safe for storing this identifier.

user

User

Optional

Optional. Information about the user that created the topic. Currently, it is always present

Document

Telegram docs ↗

This object represents a general file (as opposed to photos, voice messages and audio files).

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

thumbnail

PhotoSize

Optional

Optional. Document thumbnail as defined by the sender

file_name

String

Optional

Optional. Original filename as defined by the sender

mime_type

String

Optional

Optional. MIME type of the file as defined by the sender

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

EncryptedCredentials

Telegram docs ↗

Describes data required for decrypting and authenticating EncryptedPassportElement. See the Telegram Passport Documentation for a complete description of the data decryption and authentication processes.

Parameter

Type

Required

Description

data

String

Yes

Base64-encoded encrypted JSON-serialized data with unique user’s payload, data hashes and secrets required for EncryptedPassportElement decryption and authentication

hash

String

Yes

Base64-encoded data hash for data authentication

secret

String

Yes

Base64-encoded secret, encrypted with the bot’s public RSA key, required for data decryption

EncryptedPassportElement

Telegram docs ↗

Describes documents or other Telegram Passport elements shared with the bot by the user.

Parameter

Type

Required

Description

type

String

Yes

Element type. One of “personal_details”, “passport”, “driver_license”, “identity_card”, “internal_passport”, “address”, “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration”, “temporary_registration”, “phone_number”, “email”.

data

String

Optional

Optional. Base64-encoded encrypted Telegram Passport element data provided by the user; available only for “personal_details”, “passport”, “driver_license”, “identity_card”, “internal_passport” and “address” types. Can be decrypted and verified using the accompanying EncryptedCredentials.

phone_number

String

Optional

Optional. User’s verified phone number; available only for “phone_number” type

email

String

Optional

Optional. User’s verified email address; available only for “email” type

files

Array of PassportFile

Optional

Optional. Array of encrypted files with documents provided by the user; available only for “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration” and “temporary_registration” types. Files can be decrypted and verified using the accompanying EncryptedCredentials.

front_side

PassportFile

Optional

Optional. Encrypted file with the front side of the document, provided by the user; available only for “passport”, “driver_license”, “identity_card” and “internal_passport”. The file can be decrypted and verified using the accompanying EncryptedCredentials.

reverse_side

PassportFile

Optional

Optional. Encrypted file with the reverse side of the document, provided by the user; available only for “driver_license” and “identity_card”. The file can be decrypted and verified using the accompanying EncryptedCredentials.

selfie

PassportFile

Optional

Optional. Encrypted file with the selfie of the user holding a document, provided by the user; available if requested for “passport”, “driver_license”, “identity_card” and “internal_passport”. The file can be decrypted and verified using the accompanying EncryptedCredentials.

translation

Array of PassportFile

Optional

Optional. Array of encrypted files with translated versions of documents provided by the user; available if requested for “passport”, “driver_license”, “identity_card”, “internal_passport”, “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration” and “temporary_registration” typ

hash

String

Yes

Base64-encoded element hash for using in PassportElementErrorUnspecified

ExternalReplyInfo

Telegram docs ↗

This object contains information about a message that is being replied to, which may come from another chat or forum topic.

Parameter

Type

Required

Description

origin

MessageOrigin

Yes

Origin of the message replied to by the given message

chat

Chat

Optional

Optional. Chat the original message belongs to. Available only if the chat is a supergroup or a channel.

message_id

Integer

Optional

Optional. Unique message identifier inside the original chat. Available only if the original chat is a supergroup or a channel.

link_preview_options

LinkPreviewOptions

Optional

Optional. Options used for link preview generation for the original message, if it is a text message

animation

Animation

Optional

Optional. Message is an animation, information about the animation

audio

Audio

Optional

Optional. Message is an audio file, information about the file

document

Document

Optional

Optional. Message is a general file, information about the file

live_photo

LivePhoto

Optional

Optional. Message is a live photo, information about the live photo

paid_media

PaidMediaInfo

Optional

Optional. Message contains paid media; information about the paid media

photo

Array of PhotoSize

Optional

Optional. Message is a photo, available sizes of the photo

sticker

Sticker

Optional

Optional. Message is a sticker, information about the sticker

story

Story

Optional

Optional. Message is a forwarded story

video

Video

Optional

Optional. Message is a video, information about the video

video_note

VideoNote

Optional

Optional. Message is a video note, information about the video message

voice

Voice

Optional

Optional. Message is a voice message, information about the file

has_media_spoiler

Boolean

Optional

Optional. True, if the message media is covered by a spoiler animation

checklist

Checklist

Optional

Optional. Message is a checklist

contact

Contact

Optional

Optional. Message is a shared contact, information about the contact

dice

Dice

Optional

Optional. Message is a dice with random value

game

Game

Optional

Optional. Message is a game, information about the game. More about games: https://core.telegram.org/bots/api#games

giveaway

Giveaway

Optional

Optional. Message is a scheduled giveaway, information about the giveaway

giveaway_winners

GiveawayWinners

Optional

Optional. A giveaway with public winners was completed

invoice

Invoice

Optional

Optional. Message is an invoice for a payment, information about the invoice. More about payments: https://core.telegram.org/bots/api#payments

location

Location

Optional

Optional. Message is a shared location, information about the location

poll

Poll

Optional

Optional. Message is a native poll, information about the poll

venue

Venue

Optional

Optional. Message is a venue, information about the venue

File

Telegram docs ↗

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.

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

file_path

String

Optional

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

ForceReply

Telegram docs ↗

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. Not supported in channels and for messages sent on behalf of a user account.

Parameter

Type

Required

Description

force_reply

Boolean

Yes

Shows reply interface to the user, as if they manually selected the bot’s message and tapped ‘Reply’

input_field_placeholder

String

Optional

Optional. The placeholder to be shown in the input field when the reply is active; 1-64 characters

selective

Boolean

Optional

Optional. Use this parameter if you want to force reply from 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 to a message in the same chat and forum topic, sender of the original message.

ForumTopic

Telegram docs ↗

This object represents a forum topic.

Parameter

Type

Required

Description

message_thread_id

Integer

Yes

Unique identifier of the forum topic

name

String

Yes

Name of the topic

icon_color

Integer

Yes

Color of the topic icon in RGB format

icon_custom_emoji_id

String

Optional

Optional. Unique identifier of the custom emoji shown as the topic icon

is_name_implicit

Boolean

Optional

Optional. True, if the name of the topic wasn’t specified explicitly by its creator and likely needs to be changed by the bot

ForumTopicClosed

Telegram docs ↗

This object represents a service message about a forum topic closed in the chat. Currently holds no information.

No fields.

ForumTopicCreated

Telegram docs ↗

This object represents a service message about a new forum topic created in the chat.

Parameter

Type

Required

Description

name

String

Yes

Name of the topic

icon_color

Integer

Yes

Color of the topic icon in RGB format

icon_custom_emoji_id

String

Optional

Optional. Unique identifier of the custom emoji shown as the topic icon

is_name_implicit

Boolean

Optional

Optional. True, if the name of the topic wasn’t specified explicitly by its creator and likely needs to be changed by the bot

ForumTopicEdited

Telegram docs ↗

This object represents a service message about an edited forum topic.

Parameter

Type

Required

Description

name

String

Optional

Optional. New name of the topic, if it was edited

icon_custom_emoji_id

String

Optional

Optional. New identifier of the custom emoji shown as the topic icon, if it was edited; an empty string if the icon was removed

ForumTopicReopened

Telegram docs ↗

This object represents a service message about a forum topic reopened in the chat. Currently holds no information.

No fields.

Game

Telegram docs ↗

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

Parameter

Type

Required

Description

title

String

Yes

Title of the game

description

String

Yes

Description of the game

photo

Array of PhotoSize

Yes

Photo that will be displayed in the game message in chats.

text

String

Optional

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

text_entities

Array of MessageEntity

Optional

Optional. Special entities that appear in text, such as usernames, URLs, bot commands, etc.

animation

Animation

Optional

Optional. Animation that will be displayed in the game message in chats. Upload via BotFather

GameHighScore

Telegram docs ↗

This object represents one row of the high scores table for a game.

Parameter

Type

Required

Description

position

Integer

Yes

Position in high score table for the game

user

User

Yes

User

score

Integer

Yes

Score

GeneralForumTopicHidden

Telegram docs ↗

This object represents a service message about General forum topic hidden in the chat. Currently holds no information.

No fields.

GeneralForumTopicUnhidden

Telegram docs ↗

This object represents a service message about General forum topic unhidden in the chat. Currently holds no information.

No fields.

Gift

Telegram docs ↗

This object represents a gift that can be sent by the bot.

Parameter

Type

Required

Description

id

String

Yes

Unique identifier of the gift

sticker

Sticker

Yes

The sticker that represents the gift

star_count

Integer

Yes

The number of Telegram Stars that must be paid to send the sticker

upgrade_star_count

Integer

Optional

Optional. The number of Telegram Stars that must be paid to upgrade the gift to a unique one

is_premium

Boolean

Optional

Optional. True, if the gift can only be purchased by Telegram Premium subscribers

has_colors

Boolean

Optional

Optional. True, if the gift can be used (after being upgraded) to customize a user’s appearance

total_count

Integer

Optional

Optional. The total number of gifts of this type that can be sent by all users; for limited gifts only

remaining_count

Integer

Optional

Optional. The number of remaining gifts of this type that can be sent by all users; for limited gifts only

personal_total_count

Integer

Optional

Optional. The total number of gifts of this type that can be sent by the bot; for limited gifts only

personal_remaining_count

Integer

Optional

Optional. The number of remaining gifts of this type that can be sent by the bot; for limited gifts only

background

GiftBackground

Optional

Optional. Background of the gift

unique_gift_variant_count

Integer

Optional

Optional. The total number of different unique gifts that can be obtained by upgrading the gift

publisher_chat

Chat

Optional

Optional. Information about the chat that published the gift

GiftBackground

Telegram docs ↗

This object describes the background of a gift.

Parameter

Type

Required

Description

center_color

Integer

Yes

Center color of the background in RGB format

edge_color

Integer

Yes

Edge color of the background in RGB format

text_color

Integer

Yes

Text color of the background in RGB format

GiftInfo

Telegram docs ↗

Describes a service message about a regular gift that was sent or received.

Parameter

Type

Required

Description

gift

Gift

Yes

Information about the gift

owned_gift_id

String

Optional

Optional. Unique identifier of the received gift for the bot; only present for gifts received on behalf of business accounts

convert_star_count

Integer

Optional

Optional. Number of Telegram Stars that can be claimed by the receiver by converting the gift; omitted if conversion to Telegram Stars is impossible

prepaid_upgrade_star_count

Integer

Optional

Optional. Number of Telegram Stars that were prepaid for the ability to upgrade the gift

is_upgrade_separate

Boolean

Optional

Optional. True, if the gift’s upgrade was purchased after the gift was sent

can_be_upgraded

Boolean

Optional

Optional. True, if the gift can be upgraded to a unique gift

text

String

Optional

Optional. Text of the message that was added to the gift

entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the text

is_private

Boolean

Optional

Optional. True, if the sender and gift text are shown only to the gift receiver; otherwise, everyone will be able to see them

unique_gift_number

Integer

Optional

Optional. Unique number reserved for this gift when upgraded. See the number field in UniqueGift

Gifts

Telegram docs ↗

This object represent a list of gifts.

Parameter

Type

Required

Description

gifts

Array of Gift

Yes

The list of gifts

Giveaway

Telegram docs ↗

This object represents a message about a scheduled giveaway.

Parameter

Type

Required

Description

chats

Array of Chat

Yes

The list of chats which the user must join to participate in the giveaway

winners_selection_date

Integer

Yes

Point in time (Unix timestamp) when winners of the giveaway will be selected

winner_count

Integer

Yes

The number of users which are supposed to be selected as winners of the giveaway

only_new_members

Boolean

Optional

Optional. True, if only users who join the chats after the giveaway started should be eligible to win

has_public_winners

Boolean

Optional

Optional. True, if the list of giveaway winners will be visible to everyone

prize_description

String

Optional

Optional. Description of additional giveaway prize

country_codes

Array of String

Optional

Optional. A list of two-letter ISO 3166-1 alpha-2 country codes indicating the countries from which eligible users for the giveaway must come. If empty, then all users can participate in the giveaway. Users with a phone number that was bought on Fragment can always participate in giveaways.

prize_star_count

Integer

Optional

Optional. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only

premium_subscription_month_count

Integer

Optional

Optional. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only

GiveawayCompleted

Telegram docs ↗

This object represents a service message about the completion of a giveaway without public winners.

Parameter

Type

Required

Description

winner_count

Integer

Yes

Number of winners in the giveaway

unclaimed_prize_count

Integer

Optional

Optional. Number of undistributed prizes

giveaway_message

Message

Optional

Optional. Message with the giveaway that was completed, if it wasn’t deleted

is_star_giveaway

Boolean

Optional

Optional. True, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway.

GiveawayCreated

Telegram docs ↗

This object represents a service message about the creation of a scheduled giveaway.

Parameter

Type

Required

Description

prize_star_count

Integer

Optional

Optional. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only

GiveawayWinners

Telegram docs ↗

This object represents a message about the completion of a giveaway with public winners.

Parameter

Type

Required

Description

chat

Chat

Yes

The chat that created the giveaway

giveaway_message_id

Integer

Yes

Identifier of the message with the giveaway in the chat

winners_selection_date

Integer

Yes

Point in time (Unix timestamp) when winners of the giveaway were selected

winner_count

Integer

Yes

Total number of winners in the giveaway

winners

Array of User

Yes

List of up to 100 winners of the giveaway

additional_chat_count

Integer

Optional

Optional. The number of other chats the user had to join in order to be eligible for the giveaway

prize_star_count

Integer

Optional

Optional. The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only

premium_subscription_month_count

Integer

Optional

Optional. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only

unclaimed_prize_count

Integer

Optional

Optional. Number of undistributed prizes

only_new_members

Boolean

Optional

Optional. True, if only users who had joined the chats after the giveaway started were eligible to win

was_refunded

Boolean

Optional

Optional. True, if the giveaway was canceled because the payment for it was refunded

prize_description

String

Optional

Optional. Description of additional giveaway prize

InaccessibleMessage

Telegram docs ↗

This object describes a message that was deleted or is otherwise inaccessible to the bot.

Parameter

Type

Required

Description

chat

Chat

Yes

Chat the message belonged to

message_id

Integer

Yes

Unique message identifier inside the chat

date

Integer

Yes

Always 0. The field can be used to differentiate regular and inaccessible messages.

InlineKeyboardButton

Telegram docs ↗

This object represents one button of an inline keyboard. Exactly one of the fields other than text, icon_custom_emoji_id, and style must be used to specify the type of the button.

Parameter

Type

Required

Description

text

String

Yes

Label text on the button

icon_custom_emoji_id

String

Optional

Optional. Unique identifier of the custom emoji shown before the text of the button. Can only be used by bots that purchased additional usernames on Fragment or in the messages directly sent by the bot to private, group and supergroup chats if the owner of the bot has a Telegram Premium subscription

style

String

Optional

Optional. Style of the button. Must be one of “danger” (red), “success” (green) or “primary” (blue). If omitted, then an app-specific style is used.

url

String

Optional

Optional. HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id=<user_id> can be used to mention a user by their identifier without using a username, if this is allowed by their privacy settings.

callback_data

String

Optional

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

web_app

WebAppInfo

Optional

Optional. Description of the Web App that will be launched when the user presses the button. The Web App will be able to send an arbitrary message on behalf of the user using the method answerWebAppQuery. Available only in private chats between a user and the bot. Not supported for messages sent on

login_url

LoginUrl

Optional

Optional. An HTTPS URL used to automatically authorize the user. Can be used as a replacement for the Telegram Login Widget.

switch_inline_query

String

Optional

Optional. 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. May be empty, in which case just the bot’s username will be inserted. Not supported for messages sent in channel di

switch_inline_query_current_chat

String

Optional

Optional. If set, pressing the button will insert the bot’s username and the specified inline query in the current chat’s input field. May be empty, in which case only the bot’s username will be inserted. This offers a quick way for the user to open your bot in inline mode in the same chat - good fo

switch_inline_query_chosen_chat

SwitchInlineQueryChosenChat

Optional

Optional. If set, pressing the button will prompt the user to select one of their chats of the specified type, open that chat and insert the bot’s username and the specified inline query in the input field. Not supported for messages sent in channel direct messages chats and on behalf of a business

copy_text

CopyTextButton

Optional

Optional. Description of the button that copies the specified text to the clipboard.

callback_game

CallbackGame

Optional

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

pay

Boolean

Optional

Optional. Specify True, to send a Pay button. Substrings “⭐” and “XTR” in the buttons’s text will be replaced with a Telegram Star icon. NOTE: This type of button must always be the first button in the first row and can only be used in invoice messages.

InlineKeyboardMarkup

Telegram docs ↗

This object represents an inline keyboard that appears right next to the message it belongs to.

Parameter

Type

Required

Description

inline_keyboard

Array of Array of InlineKeyboardButton

Yes

Array of button rows, each represented by an Array of InlineKeyboardButton objects

InlineQuery

Telegram docs ↗

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

Parameter

Type

Required

Description

id

String

Yes

Unique identifier for this query

from

User

Yes

Sender

query

String

Yes

Text of the query (up to 256 characters)

offset

String

Yes

Offset of the results to be returned, can be controlled by the bot

chat_type

String

Optional

Optional. Type of the chat from which the inline query was sent. Can be either “sender” for a private chat with the inline query sender, “private”, “group”, “supergroup”, or “channel”. The chat type should be always known for requests sent from official clients and most third-party clients, unless t

location

Location

Optional

Optional. Sender location, only for bots that request user location

InlineQueryResult

Telegram docs ↗

This object represents one result of an inline query. Telegram clients currently support results of the following 20 types: - InlineQueryResultCachedAudio - InlineQueryResultCachedDocument - InlineQueryResultCachedGif - InlineQueryResultCachedMpeg4Gif - InlineQueryResultCachedPhoto - InlineQueryResultCachedSticker - InlineQueryResultCachedVideo - InlineQueryResultCachedVoice - InlineQueryResultArticle - InlineQueryResultAudio - InlineQueryResultContact - InlineQueryResultGame - InlineQueryResult

Union type, one of: InlineQueryResultCachedAudio, InlineQueryResultCachedDocument, InlineQueryResultCachedGif, InlineQueryResultCachedMpeg4Gif, InlineQueryResultCachedPhoto, InlineQueryResultCachedSticker, InlineQueryResultCachedVideo, InlineQueryResultCachedVoice, InlineQueryResultArticle, InlineQueryResultAudio, InlineQueryResultContact, InlineQueryResultGame, InlineQueryResultDocument, InlineQueryResultGif, InlineQueryResultLocation, InlineQueryResultMpeg4Gif, InlineQueryResultPhoto, InlineQueryResultVenue, InlineQueryResultVideo, InlineQueryResultVoice

InlineQueryResultArticle

Telegram docs ↗

Represents a link to an article or web page.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be article

id

String

Yes

Unique identifier for this result, 1-64 Bytes

title

String

Yes

Title of the result

input_message_content

InputMessageContent

Yes

Content of the message to be sent

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

url

String

Optional

Optional. URL of the result

description

String

Optional

Optional. Short description of the result

thumbnail_url

String

Optional

Optional. Url of the thumbnail for the result

thumbnail_width

Integer

Optional

Optional. Thumbnail width

thumbnail_height

Integer

Optional

Optional. Thumbnail height

InlineQueryResultAudio

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be audio

id

String

Yes

Unique identifier for this result, 1-64 bytes

audio_url

String

Yes

A valid URL for the audio file

title

String

Yes

Title

caption

String

Optional

Optional. Caption, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the audio caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

performer

String

Optional

Optional. Performer

audio_duration

Integer

Optional

Optional. Audio duration in seconds

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the audio

InlineQueryResultCachedAudio

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be audio

id

String

Yes

Unique identifier for this result, 1-64 bytes

audio_file_id

String

Yes

A valid file identifier for the audio file

caption

String

Optional

Optional. Caption, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the audio caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the audio

InlineQueryResultCachedDocument

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be document

id

String

Yes

Unique identifier for this result, 1-64 bytes

title

String

Yes

Title for the result

document_file_id

String

Yes

A valid file identifier for the file

description

String

Optional

Optional. Short description of the result

caption

String

Optional

Optional. Caption of the document to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the document caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the file

InlineQueryResultCachedGif

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be gif

id

String

Yes

Unique identifier for this result, 1-64 bytes

gif_file_id

String

Yes

A valid file identifier for the GIF file

title

String

Optional

Optional. Title for the result

caption

String

Optional

Optional. Caption of the GIF file to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the GIF animation

InlineQueryResultCachedMpeg4Gif

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be mpeg4_gif

id

String

Yes

Unique identifier for this result, 1-64 bytes

mpeg4_file_id

String

Yes

A valid file identifier for the MPEG4 file

title

String

Optional

Optional. Title for the result

caption

String

Optional

Optional. Caption of the MPEG-4 file to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the video animation

InlineQueryResultCachedPhoto

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be photo

id

String

Yes

Unique identifier for this result, 1-64 bytes

photo_file_id

String

Yes

A valid file identifier of the photo

title

String

Optional

Optional. Title for the result

description

String

Optional

Optional. Short description of the result

caption

String

Optional

Optional. Caption of the photo to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the photo caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the photo

InlineQueryResultCachedSticker

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be sticker

id

String

Yes

Unique identifier for this result, 1-64 bytes

sticker_file_id

String

Yes

A valid file identifier of the sticker

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the sticker

InlineQueryResultCachedVideo

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be video

id

String

Yes

Unique identifier for this result, 1-64 bytes

video_file_id

String

Yes

A valid file identifier for the video file

title

String

Yes

Title for the result

description

String

Optional

Optional. Short description of the result

caption

String

Optional

Optional. Caption of the video to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the video caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the video

InlineQueryResultCachedVoice

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be voice

id

String

Yes

Unique identifier for this result, 1-64 bytes

voice_file_id

String

Yes

A valid file identifier for the voice message

title

String

Yes

Voice message title

caption

String

Optional

Optional. Caption, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the voice message caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the voice message

InlineQueryResultContact

Telegram docs ↗

Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use input_message_content to send a message with the specified content instead of the contact.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be contact

id

String

Yes

Unique identifier for this result, 1-64 Bytes

phone_number

String

Yes

Contact’s phone number

first_name

String

Yes

Contact’s first name

last_name

String

Optional

Optional. Contact’s last name

vcard

String

Optional

Optional. Additional data about the contact in the form of a vCard, 0-2048 bytes

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the contact

thumbnail_url

String

Optional

Optional. Url of the thumbnail for the result

thumbnail_width

Integer

Optional

Optional. Thumbnail width

thumbnail_height

Integer

Optional

Optional. Thumbnail height

InlineQueryResultDocument

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be document

id

String

Yes

Unique identifier for this result, 1-64 bytes

title

String

Yes

Title for the result

caption

String

Optional

Optional. Caption of the document to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the document caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

document_url

String

Yes

A valid URL for the file

mime_type

String

Yes

MIME type of the content of the file, either “application/pdf” or “application/zip”

description

String

Optional

Optional. Short description of the result

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the file

thumbnail_url

String

Optional

Optional. URL of the thumbnail (JPEG only) for the file

thumbnail_width

Integer

Optional

Optional. Thumbnail width

thumbnail_height

Integer

Optional

Optional. Thumbnail height

InlineQueryResultGame

Telegram docs ↗

Represents a Game.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be game

id

String

Yes

Unique identifier for this result, 1-64 bytes

game_short_name

String

Yes

Short name of the game

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

InlineQueryResultGif

Telegram docs ↗

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 use input_message_content to send a message with the specified content instead of the animation.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be gif

id

String

Yes

Unique identifier for this result, 1-64 bytes

gif_url

String

Yes

A valid URL for the GIF file

gif_width

Integer

Optional

Optional. Width of the GIF

gif_height

Integer

Optional

Optional. Height of the GIF

gif_duration

Integer

Optional

Optional. Duration of the GIF in seconds

thumbnail_url

String

Yes

URL of the static (JPEG or GIF) or animated (MPEG4) thumbnail for the result

thumbnail_mime_type

String

Optional

Optional. MIME type of the thumbnail, must be one of “image/jpeg”, “image/gif”, or “video/mp4”. Defaults to “image/jpeg”

title

String

Optional

Optional. Title for the result

caption

String

Optional

Optional. Caption of the GIF file to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the GIF animation

InlineQueryResultLocation

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be location

id

String

Yes

Unique identifier for this result, 1-64 Bytes

latitude

Float

Yes

Location latitude in degrees

longitude

Float

Yes

Location longitude in degrees

title

String

Yes

Location title

horizontal_accuracy

Float

Optional

Optional. The radius of uncertainty for the location, measured in meters; 0-1500

live_period

Integer

Optional

Optional. Period in seconds during which the location can be updated, should be between 60 and 86400, or 0x7FFFFFFF for live locations that can be edited indefinitely.

heading

Integer

Optional

Optional. For live locations, a direction in which the user is moving, in degrees. Must be between 1 and 360 if specified.

proximity_alert_radius

Integer

Optional

Optional. For live locations, a maximum distance for proximity alerts about approaching another chat member, in meters. Must be between 1 and 100000 if specified.

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the location

thumbnail_url

String

Optional

Optional. Url of the thumbnail for the result

thumbnail_width

Integer

Optional

Optional. Thumbnail width

thumbnail_height

Integer

Optional

Optional. Thumbnail height

InlineQueryResultMpeg4Gif

Telegram docs ↗

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 use input_message_content to send a message with the specified content instead of the animation.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be mpeg4_gif

id

String

Yes

Unique identifier for this result, 1-64 bytes

mpeg4_url

String

Yes

A valid URL for the MPEG4 file

mpeg4_width

Integer

Optional

Optional. Video width

mpeg4_height

Integer

Optional

Optional. Video height

mpeg4_duration

Integer

Optional

Optional. Video duration in seconds

thumbnail_url

String

Yes

URL of the static (JPEG or GIF) or animated (MPEG4) thumbnail for the result

thumbnail_mime_type

String

Optional

Optional. MIME type of the thumbnail, must be one of “image/jpeg”, “image/gif”, or “video/mp4”. Defaults to “image/jpeg”

title

String

Optional

Optional. Title for the result

caption

String

Optional

Optional. Caption of the MPEG-4 file to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the video animation

InlineQueryResultPhoto

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be photo

id

String

Yes

Unique identifier for this result, 1-64 bytes

photo_url

String

Yes

A valid URL of the photo. Photo must be in JPEG format. Photo size must not exceed 5MB

thumbnail_url

String

Yes

URL of the thumbnail for the photo

photo_width

Integer

Optional

Optional. Width of the photo

photo_height

Integer

Optional

Optional. Height of the photo

title

String

Optional

Optional. Title for the result

description

String

Optional

Optional. Short description of the result

caption

String

Optional

Optional. Caption of the photo to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the photo caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the photo

InlineQueryResultVenue

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be venue

id

String

Yes

Unique identifier for this result, 1-64 Bytes

latitude

Float

Yes

Latitude of the venue location in degrees

longitude

Float

Yes

Longitude of the venue location in degrees

title

String

Yes

Title of the venue

address

String

Yes

Address of the venue

foursquare_id

String

Optional

Optional. Foursquare identifier of the venue if known

foursquare_type

String

Optional

Optional. Foursquare type of the venue, if known. (For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.)

google_place_id

String

Optional

Optional. Google Places identifier of the venue

google_place_type

String

Optional

Optional. Google Places type of the venue. (See supported types.)

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the venue

thumbnail_url

String

Optional

Optional. Url of the thumbnail for the result

thumbnail_width

Integer

Optional

Optional. Thumbnail width

thumbnail_height

Integer

Optional

Optional. Thumbnail height

InlineQueryResultVideo

Telegram docs ↗

Represents a link to a page containing an embedded video player or a video file. 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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be video

id

String

Yes

Unique identifier for this result, 1-64 bytes

video_url

String

Yes

A valid URL for the embedded video player or video file

mime_type

String

Yes

MIME type of the content of the video URL, “text/html” or “video/mp4”

thumbnail_url

String

Yes

URL of the thumbnail (JPEG only) for the video

title

String

Yes

Title for the result

caption

String

Optional

Optional. Caption of the video to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the video caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

video_width

Integer

Optional

Optional. Video width

video_height

Integer

Optional

Optional. Video height

video_duration

Integer

Optional

Optional. Video duration in seconds

description

String

Optional

Optional. Short description of the result

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the video. This field is required if InlineQueryResultVideo is used to send an HTML-page as a result (e.g., a YouTube video).

InlineQueryResultVoice

Telegram docs ↗

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.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be voice

id

String

Yes

Unique identifier for this result, 1-64 bytes

voice_url

String

Yes

A valid URL for the voice recording

title

String

Yes

Recording title

caption

String

Optional

Optional. Caption, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the voice message caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

voice_duration

Integer

Optional

Optional. Recording duration in seconds

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message

input_message_content

InputMessageContent

Optional

Optional. Content of the message to be sent instead of the voice recording

InlineQueryResultsButton

Telegram docs ↗

This object represents a button to be shown above inline query results. You must use exactly one of the optional fields.

Parameter

Type

Required

Description

text

String

Yes

Label text on the button

web_app

WebAppInfo

Optional

Optional. Description of the Web App that will be launched when the user presses the button. The Web App will be able to switch back to the inline mode using the method switchInlineQuery inside the Web App.

start_parameter

String

Optional

Optional. Deep-linking parameter for the /start message sent to the bot when a user presses the button. 1-64 characters, only A-Z, a-z, 0-9, _ and - are allowed. Example: An inline bot that sends YouTube videos can ask the user to connect the bot to their YouTube account to adapt search results acco

InputChecklist

Telegram docs ↗

Describes a checklist to create.

Parameter

Type

Required

Description

title

String

Yes

Title of the checklist; 1-255 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the title. See formatting options for more details.

title_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the title, which can be specified instead of parse_mode. Currently, only bold, italic, underline, strikethrough, spoiler, custom_emoji, and date_time entities are allowed.

tasks

Array of InputChecklistTask

Yes

List of 1-30 tasks in the checklist

others_can_add_tasks

Boolean

Optional

Optional. Pass True if other users can add tasks to the checklist

others_can_mark_tasks_as_done

Boolean

Optional

Optional. Pass True if other users can mark tasks as done or not done in the checklist

InputChecklistTask

Telegram docs ↗

Describes a task to add to a checklist.

Parameter

Type

Required

Description

id

Integer

Yes

Unique identifier of the task; must be positive and unique among all task identifiers currently present in the checklist

text

String

Yes

Text of the task; 1-100 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the text. See formatting options for more details.

text_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the text, which can be specified instead of parse_mode. Currently, only bold, italic, underline, strikethrough, spoiler, custom_emoji, and date_time entities are allowed.

InputContactMessageContent

Telegram docs ↗

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

Parameter

Type

Required

Description

phone_number

String

Yes

Contact’s phone number

first_name

String

Yes

Contact’s first name

last_name

String

Optional

Optional. Contact’s last name

vcard

String

Optional

Optional. Additional data about the contact in the form of a vCard, 0-2048 bytes

InputFile

Telegram docs ↗

This object represents the contents of a file to be uploaded. Must be posted using multipart/form-data in the usual way that files are uploaded via the browser.

No fields.

InputInvoiceMessageContent

Telegram docs ↗

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

Parameter

Type

Required

Description

title

String

Yes

Product name, 1-32 characters

description

String

Yes

Product description, 1-255 characters

payload

String

Yes

Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.

provider_token

String

Optional

Optional. Payment provider token, obtained via @BotFather. Pass an empty string for payments in Telegram Stars.

currency

String

Yes

Three-letter ISO 4217 currency code, see more on currencies. Pass “XTR” for payments in Telegram Stars.

prices

Array of LabeledPrice

Yes

Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in Telegram Stars.

max_tip_amount

Integer

Optional

Optional. The maximum accepted amount for tips in the smallest units of the currency (integer, not float/double). For example, for a maximum tip of US$ 1.45 pass max_tip_amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2

suggested_tip_amounts

Array of Integer

Optional

Optional. A JSON-serialized array of suggested amounts of tip in the smallest units of the currency (integer, not float/double). At most 4 suggested tip amounts can be specified. The suggested tip amounts must be positive, passed in a strictly increased order and must not exceed max_tip_amount.

provider_data

String

Optional

Optional. A JSON-serialized object for data about the invoice, which will be shared with the payment provider. A detailed description of the required fields should be provided by the payment provider.

photo_url

String

Optional

Optional. URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service.

photo_size

Integer

Optional

Optional. Photo size in bytes

photo_width

Integer

Optional

Optional. Photo width

photo_height

Integer

Optional

Optional. Photo height

need_name

Boolean

Optional

Optional. Pass True if you require the user’s full name to complete the order. Ignored for payments in Telegram Stars.

need_phone_number

Boolean

Optional

Optional. Pass True if you require the user’s phone number to complete the order. Ignored for payments in Telegram Stars.

need_email

Boolean

Optional

Optional. Pass True if you require the user’s email address to complete the order. Ignored for payments in Telegram Stars.

need_shipping_address

Boolean

Optional

Optional. Pass True if you require the user’s shipping address to complete the order. Ignored for payments in Telegram Stars.

send_phone_number_to_provider

Boolean

Optional

Optional. Pass True if the user’s phone number should be sent to the provider. Ignored for payments in Telegram Stars.

send_email_to_provider

Boolean

Optional

Optional. Pass True if the user’s email address should be sent to the provider. Ignored for payments in Telegram Stars.

is_flexible

Boolean

Optional

Optional. Pass True if the final price depends on the shipping method. Ignored for payments in Telegram Stars.

InputLocationMessageContent

Telegram docs ↗

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

Parameter

Type

Required

Description

latitude

Float

Yes

Latitude of the location in degrees

longitude

Float

Yes

Longitude of the location in degrees

horizontal_accuracy

Float

Optional

Optional. The radius of uncertainty for the location, measured in meters; 0-1500

live_period

Integer

Optional

Optional. Period in seconds during which the location can be updated, should be between 60 and 86400, or 0x7FFFFFFF for live locations that can be edited indefinitely.

heading

Integer

Optional

Optional. For live locations, a direction in which the user is moving, in degrees. Must be between 1 and 360 if specified.

proximity_alert_radius

Integer

Optional

Optional. For live locations, a maximum distance for proximity alerts about approaching another chat member, in meters. Must be between 1 and 100000 if specified.

InputMedia

Telegram docs ↗

This object represents the content of a media message to be sent. It should be one of - InputMediaAnimation - InputMediaAudio - InputMediaDocument - InputMediaLivePhoto - InputMediaPhoto - InputMediaVideo

Union type, one of: InputMediaAnimation, InputMediaAudio, InputMediaDocument, InputMediaLivePhoto, InputMediaPhoto, InputMediaVideo

InputMediaAnimation

Telegram docs ↗

Represents an animation file (GIF or H.264/MPEG-4 AVC video without sound) to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be animation

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending

thumbnail

String

Optional

Optional. Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail’s width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data

caption

String

Optional

Optional. Caption of the animation to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the animation caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

width

Integer

Optional

Optional. Animation width

height

Integer

Optional

Optional. Animation height

duration

Integer

Optional

Optional. Animation duration in seconds

has_spoiler

Boolean

Optional

Optional. Pass True if the animation needs to be covered with a spoiler animation

InputMediaAudio

Telegram docs ↗

Represents an audio file to be treated as music to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be audio

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending

thumbnail

String

Optional

Optional. Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail’s width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data

caption

String

Optional

Optional. Caption of the audio to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the audio caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

duration

Integer

Optional

Optional. Duration of the audio in seconds

performer

String

Optional

Optional. Performer of the audio

title

String

Optional

Optional. Title of the audio

InputMediaDocument

Telegram docs ↗

Represents a general file to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be document

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending

thumbnail

String

Optional

Optional. Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail’s width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data

caption

String

Optional

Optional. Caption of the document to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the document caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

disable_content_type_detection

Boolean

Optional

Optional. Disables automatic server-side content type detection for files uploaded using multipart/form-data. Always True, if the document is sent as part of an album.

InputMediaLivePhoto

Telegram docs ↗

Represents a live photo to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be live_photo

media

String

Yes

Video of the live photo to send. Pass a file_id to send a file that exists on the Telegram servers (recommended) or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending Files: https://core.telegram.org/bots/api#se

photo

String

Yes

The static photo to send. Pass a file_id to send a file that exists on the Telegram servers (recommended) or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending Files: https://core.telegram.org/bots/api#sending-f

caption

String

Optional

Optional. Caption of the live photo to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the live photo caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

has_spoiler

Boolean

Optional

Optional. Pass True if the live photo needs to be covered with a spoiler animation

InputMediaLocation

Telegram docs ↗

Represents a location to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be location

latitude

Float

Yes

Latitude of the location

longitude

Float

Yes

Longitude of the location

horizontal_accuracy

Float

Optional

Optional. The radius of uncertainty for the location, measured in meters; 0-1500

InputMediaPhoto

Telegram docs ↗

Represents a photo to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be photo

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending

caption

String

Optional

Optional. Caption of the photo to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the photo caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

has_spoiler

Boolean

Optional

Optional. Pass True if the photo needs to be covered with a spoiler animation

InputMediaSticker

Telegram docs ↗

Represents a sticker file to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be sticker

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a .WEBP sticker from the Internet, or pass “attach://<file_attach_name>” to upload a new .WEBP, .TGS, or .WEBM sticker using multipart/form-data under <file_attach_name

emoji

String

Optional

Optional. Emoji associated with the sticker; only for just uploaded stickers

InputMediaVenue

Telegram docs ↗

Represents a venue to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be venue

latitude

Float

Yes

Latitude of the location

longitude

Float

Yes

Longitude of the location

title

String

Yes

Name of the venue

address

String

Yes

Address of the venue

foursquare_id

String

Optional

Optional. Foursquare identifier of the venue

foursquare_type

String

Optional

Optional. Foursquare type of the venue, if known. (For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.)

google_place_id

String

Optional

Optional. Google Places identifier of the venue

google_place_type

String

Optional

Optional. Google Places type of the venue. (See supported types.)

InputMediaVideo

Telegram docs ↗

Represents a video to be sent.

Parameter

Type

Required

Description

type

String

Yes

Type of the result, must be video

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending

thumbnail

String

Optional

Optional. Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail’s width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data

cover

String

Optional

Optional. Cover for the video in the message. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> n

start_timestamp

Integer

Optional

Optional. Start timestamp for the video in the message

caption

String

Optional

Optional. Caption of the video to be sent, 0-1024 characters after entities parsing

parse_mode

String

Optional

Optional. Mode for parsing entities in the video caption. See formatting options for more details.

caption_entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode

show_caption_above_media

Boolean

Optional

Optional. Pass True, if the caption must be shown above the message media

width

Integer

Optional

Optional. Video width

height

Integer

Optional

Optional. Video height

duration

Integer

Optional

Optional. Video duration in seconds

supports_streaming

Boolean

Optional

Optional. Pass True if the uploaded video is suitable for streaming

has_spoiler

Boolean

Optional

Optional. Pass True if the video needs to be covered with a spoiler animation

InputMessageContent

Telegram docs ↗

This object represents the content of a message to be sent as a result of an inline query. Telegram clients currently support the following 5 types: - InputTextMessageContent - InputLocationMessageContent - InputVenueMessageContent - InputContactMessageContent - InputInvoiceMessageContent

Union type, one of: InputTextMessageContent, InputLocationMessageContent, InputVenueMessageContent, InputContactMessageContent, InputInvoiceMessageContent

InputPaidMedia

Telegram docs ↗

This object describes the paid media to be sent. Currently, it can be one of - InputPaidMediaLivePhoto - InputPaidMediaPhoto - InputPaidMediaVideo

Union type, one of: InputPaidMediaLivePhoto, InputPaidMediaPhoto, InputPaidMediaVideo

InputPaidMediaLivePhoto

Telegram docs ↗

The paid media to send is a live photo.

Parameter

Type

Required

Description

type

String

Yes

Type of the media, must be live_photo

media

String

Yes

Video of the live photo to send. Pass a file_id to send a file that exists on the Telegram servers (recommended) or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending Files: https://core.telegram.org/bots/api#se

photo

String

Yes

The static photo to send. Pass a file_id to send a file that exists on the Telegram servers (recommended) or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending Files: https://core.telegram.org/bots/api#sending-f

InputPaidMediaPhoto

Telegram docs ↗

The paid media to send is a photo.

Parameter

Type

Required

Description

type

String

Yes

Type of the media, must be photo

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending

InputPaidMediaVideo

Telegram docs ↗

The paid media to send is a video.

Parameter

Type

Required

Description

type

String

Yes

Type of the media, must be video

media

String

Yes

File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending

thumbnail

String

Optional

Optional. Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail’s width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data

cover

String

Optional

Optional. Cover for the video in the message. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> n

start_timestamp

Integer

Optional

Optional. Start timestamp for the video in the message

width

Integer

Optional

Optional. Video width

height

Integer

Optional

Optional. Video height

duration

Integer

Optional

Optional. Video duration in seconds

supports_streaming

Boolean

Optional

Optional. Pass True if the uploaded video is suitable for streaming

InputPollMedia

Telegram docs ↗

This object represents the content of a poll description or a quiz explanation to be sent. It should be one of - InputMediaAnimation - InputMediaAudio - InputMediaDocument - InputMediaLivePhoto - InputMediaLocation - InputMediaPhoto - InputMediaVenue - InputMediaVideo

Union type, one of: InputMediaAnimation, InputMediaAudio, InputMediaDocument, InputMediaLivePhoto, InputMediaLocation, InputMediaPhoto, InputMediaVenue, InputMediaVideo

InputPollOption

Telegram docs ↗

This object contains information about one answer option in a poll to be sent.

Parameter

Type

Required

Description

text

String

Yes

Option text, 1-100 characters

text_parse_mode

String

Optional

Optional. Mode for parsing entities in the text. See formatting options for more details. Currently, only custom emoji entities are allowed

text_entities

Array of MessageEntity

Optional

Optional. A JSON-serialized list of special entities that appear in the poll option text. It can be specified instead of text_parse_mode

media

InputPollOptionMedia

Optional

Optional. Media added to the poll option

InputPollOptionMedia

Telegram docs ↗

This object represents the content of a poll option to be sent. It should be one of - InputMediaAnimation - InputMediaLivePhoto - InputMediaLocation - InputMediaPhoto - InputMediaSticker - InputMediaVenue - InputMediaVideo

Union type, one of: InputMediaAnimation, InputMediaLivePhoto, InputMediaLocation, InputMediaPhoto, InputMediaSticker, InputMediaVenue, InputMediaVideo

InputProfilePhoto

Telegram docs ↗

This object describes a profile photo to set. Currently, it can be one of - InputProfilePhotoStatic - InputProfilePhotoAnimated

Union type, one of: InputProfilePhotoStatic, InputProfilePhotoAnimated

InputProfilePhotoAnimated

Telegram docs ↗

An animated profile photo in the MPEG4 format.

Parameter

Type

Required

Description

type

String

Yes

Type of the profile photo, must be animated

animation

String

Yes

The animated profile photo. Profile photos can’t be reused and can only be uploaded as a new file, so you can pass “attach://<file_attach_name>” if the photo was uploaded using multipart/form-data under <file_attach_name>. More information on Sending Files: https://core.telegram.org/bots/api#sending

main_frame_timestamp

Float

Optional

Optional. Timestamp in seconds of the frame that will be used as the static profile photo. Defaults to 0.0.

InputProfilePhotoStatic

Telegram docs ↗

A static profile photo in the .JPG format.

Parameter

Type

Required

Description

type

String

Yes

Type of the profile photo, must be static

photo

String

Yes

The static profile photo. Profile photos can’t be reused and can only be uploaded as a new file, so you can pass “attach://<file_attach_name>” if the photo was uploaded using multipart/form-data under <file_attach_name>. More information on Sending Files: https://core.telegram.org/bots/api#sending-f

InputSticker

Telegram docs ↗

This object describes a sticker to be added to a sticker set.

Parameter

Type

Required

Description

sticker

String

Yes

The added sticker. Pass a file_id as a String to send a file that already exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a file from the Internet, or pass “attach://<file_attach_name>” to upload a new file using multipart/form-data under <file_attach_name> name. Ani

format

String

Yes

Format of the added sticker, must be one of “static” for a .WEBP or .PNG image, “animated” for a .TGS animation, “video” for a .WEBM video

emoji_list

Array of String

Yes

List of 1-20 emoji associated with the sticker

mask_position

MaskPosition

Optional

Optional. Position where the mask should be placed on faces. For “mask” stickers only.

keywords

Array of String

Optional

Optional. List of 0-20 search keywords for the sticker with total length of up to 64 characters. For “regular” and “custom_emoji” stickers only.

InputStoryContent

Telegram docs ↗

This object describes the content of a story to post. Currently, it can be one of - InputStoryContentPhoto - InputStoryContentVideo

Union type, one of: InputStoryContentPhoto, InputStoryContentVideo

InputStoryContentPhoto

Telegram docs ↗

Describes a photo to post as a story.

Parameter

Type

Required

Description

type

String

Yes

Type of the content, must be photo

photo

String

Yes

The photo to post as a story. The photo must be of the size 1080x1920 and must not exceed 10 MB. The photo can’t be reused and can only be uploaded as a new file, so you can pass “attach://<file_attach_name>” if the photo was uploaded using multipart/form-data under <file_attach_name>. More informat

InputStoryContentVideo

Telegram docs ↗

Describes a video to post as a story.

Parameter

Type

Required

Description

type

String

Yes

Type of the content, must be video

video

String

Yes

The video to post as a story. The video must be of the size 720x1280, streamable, encoded with H.265 codec, with key frames added each second in the MPEG4 format, and must not exceed 30 MB. The video can’t be reused and can only be uploaded as a new file, so you can pass “attach://<file_attach_name>

duration

Float

Optional

Optional. Precise duration of the video in seconds; 0-60

cover_frame_timestamp

Float

Optional

Optional. Timestamp in seconds of the frame that will be used as the static cover for the story. Defaults to 0.0.

is_animation

Boolean

Optional

Optional. Pass True if the video has no sound

InputTextMessageContent

Telegram docs ↗

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

Parameter

Type

Required

Description

message_text

String

Yes

Text of the message to be sent, 1-4096 characters

parse_mode

String

Optional

Optional. Mode for parsing entities in the message text. See formatting options for more details.

entities

Array of MessageEntity

Optional

Optional. List of special entities that appear in message text, which can be specified instead of parse_mode

link_preview_options

LinkPreviewOptions

Optional

Optional. Link preview generation options for the message

InputVenueMessageContent

Telegram docs ↗

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

Parameter

Type

Required

Description

latitude

Float

Yes

Latitude of the venue in degrees

longitude

Float

Yes

Longitude of the venue in degrees

title

String

Yes

Name of the venue

address

String

Yes

Address of the venue

foursquare_id

String

Optional

Optional. Foursquare identifier of the venue, if known

foursquare_type

String

Optional

Optional. Foursquare type of the venue, if known. (For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.)

google_place_id

String

Optional

Optional. Google Places identifier of the venue

google_place_type

String

Optional

Optional. Google Places type of the venue. (See supported types.)

Invoice

Telegram docs ↗

This object contains basic information about an invoice.

Parameter

Type

Required

Description

title

String

Yes

Product name

description

String

Yes

Product description

start_parameter

String

Yes

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

currency

String

Yes

Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars

total_amount

Integer

Yes

Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

KeyboardButton

Telegram docs ↗

This object represents one button of the reply keyboard. At most one of the fields other than text, icon_custom_emoji_id, and style must be used to specify the type of the button. For simple text buttons, String can be used instead of this object to specify the button text.

Parameter

Type

Required

Description

text

String

Yes

Text of the button. If none of the fields other than text, icon_custom_emoji_id, and style are used, it will be sent as a message when the button is pressed

icon_custom_emoji_id

String

Optional

Optional. Unique identifier of the custom emoji shown before the text of the button. Can only be used by bots that purchased additional usernames on Fragment or in the messages directly sent by the bot to private, group and supergroup chats if the owner of the bot has a Telegram Premium subscription

style

String

Optional

Optional. Style of the button. Must be one of “danger” (red), “success” (green) or “primary” (blue). If omitted, then an app-specific style is used.

request_users

KeyboardButtonRequestUsers

Optional

Optional. If specified, pressing the button will open a list of suitable users. Identifiers of selected users will be sent to the bot in a “users_shared” service message. Available in private chats only.

request_chat

KeyboardButtonRequestChat

Optional

Optional. If specified, pressing the button will open a list of suitable chats. Tapping on a chat will send its identifier to the bot in a “chat_shared” service message. Available in private chats only.

request_managed_bot

KeyboardButtonRequestManagedBot

Optional

Optional. If specified, pressing the button will ask the user to create and share a bot that will be managed by the current bot. Available for bots that enabled management of other bots in the @BotFather Mini App. Available in private chats only.

request_contact

Boolean

Optional

Optional. If True, the user’s phone number will be sent as a contact when the button is pressed. Available in private chats only.

request_location

Boolean

Optional

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

request_poll

KeyboardButtonPollType

Optional

Optional. If specified, the user will be asked to create a poll and send it to the bot when the button is pressed. Available in private chats only.

web_app

WebAppInfo

Optional

Optional. If specified, the described Web App will be launched when the button is pressed. The Web App will be able to send a “web_app_data” service message. Available in private chats only.

KeyboardButtonPollType

Telegram docs ↗

This object represents type of a poll, which is allowed to be created and sent when the corresponding button is pressed.

Parameter

Type

Required

Description

type

String

Optional

Optional. If quiz is passed, the user will be allowed to create only polls in the quiz mode. If regular is passed, only regular polls will be allowed. Otherwise, the user will be allowed to create a poll of any type.

KeyboardButtonRequestChat

Telegram docs ↗

This object defines the criteria used to request a suitable chat. Information about the selected chat will be shared with the bot when the corresponding button is pressed. The bot will be granted requested rights in the chat if appropriate. More about requesting chats: /bots/features#chat-and-user-selection.

Parameter

Type

Required

Description

request_id

Integer

Yes

Signed 32-bit identifier of the request, which will be received back in the ChatShared object. Must be unique within the message

chat_is_channel

Boolean

Yes

Pass True to request a channel chat, pass False to request a group or a supergroup chat.

chat_is_forum

Boolean

Optional

Optional. Pass True to request a forum supergroup, pass False to request a non-forum chat. If not specified, no additional restrictions are applied.

chat_has_username

Boolean

Optional

Optional. Pass True to request a supergroup or a channel with a username, pass False to request a chat without a username. If not specified, no additional restrictions are applied.

chat_is_created

Boolean

Optional

Optional. Pass True to request a chat owned by the user. Otherwise, no additional restrictions are applied.

user_administrator_rights

ChatAdministratorRights

Optional

Optional. A JSON-serialized object listing the required administrator rights of the user in the chat. The rights must be a superset of bot_administrator_rights. If not specified, no additional restrictions are applied.

bot_administrator_rights

ChatAdministratorRights

Optional

Optional. A JSON-serialized object listing the required administrator rights of the bot in the chat. The rights must be a subset of user_administrator_rights. If not specified, no additional restrictions are applied.

bot_is_member

Boolean

Optional

Optional. Pass True to request a chat with the bot as a member. Otherwise, no additional restrictions are applied.

request_title

Boolean

Optional

Optional. Pass True to request the chat’s title

request_username

Boolean

Optional

Optional. Pass True to request the chat’s username

request_photo

Boolean

Optional

Optional. Pass True to request the chat’s photo

KeyboardButtonRequestManagedBot

Telegram docs ↗

This object defines the parameters for the creation of a managed bot. Information about the created bot will be shared with the bot using the update managed_bot and a Message with the field managed_bot_created.

Parameter

Type

Required

Description

request_id

Integer

Yes

Signed 32-bit identifier of the request. Must be unique within the message

suggested_name

String

Optional

Optional. Suggested name for the bot

suggested_username

String

Optional

Optional. Suggested username for the bot

KeyboardButtonRequestUsers

Telegram docs ↗

This object defines the criteria used to request suitable users. Information about the selected users will be shared with the bot when the corresponding button is pressed. More about requesting users: /bots/features#chat-and-user-selection

Parameter

Type

Required

Description

request_id

Integer

Yes

Signed 32-bit identifier of the request that will be received back in the UsersShared object. Must be unique within the message

user_is_bot

Boolean

Optional

Optional. Pass True to request bots, pass False to request regular users. If not specified, no additional restrictions are applied.

user_is_premium

Boolean

Optional

Optional. Pass True to request premium users, pass False to request non-premium users. If not specified, no additional restrictions are applied.

max_quantity

Integer

Optional

Optional. The maximum number of users to be selected; 1-10. Defaults to 1.

request_name

Boolean

Optional

Optional. Pass True to request the users’ first and last names

request_username

Boolean

Optional

Optional. Pass True to request the users’ usernames

request_photo

Boolean

Optional

Optional. Pass True to request the users’ photos

LabeledPrice

Telegram docs ↗

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

Parameter

Type

Required

Description

label

String

Yes

Portion label

amount

Integer

Yes

Price of the product in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

LinkPreviewOptions

Telegram docs ↗

Describes the options used for link preview generation.

Parameter

Type

Required

Description

is_disabled

Boolean

Optional

Optional. True, if the link preview is disabled

url

String

Optional

Optional. URL to use for the link preview. If empty, then the first URL found in the message text will be used

prefer_small_media

Boolean

Optional

Optional. True, if the media in the link preview is supposed to be shrunk; ignored if the URL isn’t explicitly specified or media size change isn’t supported for the preview

prefer_large_media

Boolean

Optional

Optional. True, if the media in the link preview is supposed to be enlarged; ignored if the URL isn’t explicitly specified or media size change isn’t supported for the preview

show_above_text

Boolean

Optional

Optional. True, if the link preview must be shown above the message text; otherwise, the link preview will be shown below the message text

LivePhoto

Telegram docs ↗

This object represents a live photo.

Parameter

Type

Required

Description

photo

Array of PhotoSize

Optional

Optional. Available sizes of the corresponding static photo

file_id

String

Yes

Identifier for the video file which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for the video file which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

width

Integer

Yes

Video width as defined by the sender

height

Integer

Yes

Video height as defined by the sender

duration

Integer

Yes

Duration of the video in seconds as defined by the sender

mime_type

String

Optional

Optional. MIME type of the file as defined by the sender

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

Location

Telegram docs ↗

This object represents a point on the map.

Parameter

Type

Required

Description

latitude

Float

Yes

Latitude as defined by the sender

longitude

Float

Yes

Longitude as defined by the sender

horizontal_accuracy

Float

Optional

Optional. The radius of uncertainty for the location, measured in meters; 0-1500

live_period

Integer

Optional

Optional. Time relative to the message sending date, during which the location can be updated; in seconds. For active live locations only.

heading

Integer

Optional

Optional. The direction in which user is moving, in degrees; 1-360. For active live locations only.

proximity_alert_radius

Integer

Optional

Optional. The maximum distance for proximity alerts about approaching another chat member, in meters. For sent live locations only.

LocationAddress

Telegram docs ↗

Describes the physical address of a location.

Parameter

Type

Required

Description

country_code

String

Yes

The two-letter ISO 3166-1 alpha-2 country code of the country where the location is located

state

String

Optional

Optional. State of the location

city

String

Optional

Optional. City of the location

street

String

Optional

Optional. Street address of the location

LoginUrl

Telegram docs ↗

This object represents a parameter of the inline keyboard button used to automatically authorize a user. Serves as a great replacement for the Telegram Login Widget when the user is coming from Telegram. All the user needs to do is tap/click a button and confirm that they want to log in: Telegram apps support these buttons as of version 5.7.

Parameter

Type

Required

Description

url

String

Yes

An HTTPS URL to be opened with user authorization data added to the query string when the button is pressed. If the user refuses to provide authorization data, the original URL without information about the user will be opened. The data added is the same as described in Receiving authorization data.

forward_text

String

Optional

Optional. New text of the button in forwarded messages.

bot_username

String

Optional

Optional. Username of a bot, which will be used for user authorization. See Setting up a bot for more details. If not specified, the current bot’s username will be assumed. The url’s domain must be the same as the domain linked with the bot. See Linking your domain to the bot for more details.

request_write_access

Boolean

Optional

Optional. Pass True to request the permission for your bot to send messages to the user.

ManagedBotCreated

Telegram docs ↗

This object contains information about the bot that was created to be managed by the current bot.

Parameter

Type

Required

Description

bot

User

Yes

Information about the bot. The bot’s token can be fetched using the method getManagedBotToken.

ManagedBotUpdated

Telegram docs ↗

This object contains information about the creation, token update, or owner update of a bot that is managed by the current bot.

Parameter

Type

Required

Description

user

User

Yes

User that created the bot

bot

User

Yes

Information about the bot. Token of the bot can be fetched using the method getManagedBotToken.

MaskPosition

Telegram docs ↗

This object describes the position on faces where a mask should be placed by default.

Parameter

Type

Required

Description

point

String

Yes

The part of the face relative to which the mask should be placed. One of “forehead”, “eyes”, “mouth”, or “chin”.

x_shift

Float

Yes

Shift by X-axis measured in widths of the mask scaled to the face size, from left to right. For example, choosing -1.0 will place mask just to the left of the default mask position.

y_shift

Float

Yes

Shift by Y-axis measured in heights of the mask scaled to the face size, from top to bottom. For example, 1.0 will place the mask just below the default mask position.

scale

Float

Yes

Mask scaling coefficient. For example, 2.0 means double size.

MaybeInaccessibleMessage

Telegram docs ↗

This object describes a message that can be inaccessible to the bot. It can be one of - Message - InaccessibleMessage

Union type, one of: Message, InaccessibleMessage

Message

Telegram docs ↗

This object represents a message.

Parameter

Type

Required

Description

message_id

Integer

Yes

Unique message identifier inside this chat. In specific instances (e.g., message containing a video sent to a big chat), the server might automatically schedule a message instead of sending it immediately. In such cases, this field will be 0 and the relevant message will be unusable until it is actu

message_thread_id

Integer

Optional

Optional. Unique identifier of a message thread or forum topic to which the message belongs; for supergroups and private chats only

direct_messages_topic

DirectMessagesTopic

Optional

Optional. Information about the direct messages chat topic that contains the message

from

User

Optional

Optional. Sender of the message; may be empty for messages sent to channels. For backward compatibility, if the message was sent on behalf of a chat, the field contains a fake sender user in non-channel chats

sender_chat

Chat

Optional

Optional. Sender of the message when sent on behalf of a chat. For example, the supergroup itself for messages sent by its anonymous administrators or a linked channel for messages automatically forwarded to the channel’s discussion group. For backward compatibility, if the message was sent on behal

sender_boost_count

Integer

Optional

Optional. If the sender of the message boosted the chat, the number of boosts added by the user

sender_business_bot

User

Optional

Optional. The bot that actually sent the message on behalf of the business account. Available only for outgoing messages sent on behalf of the connected business account.

sender_tag

String

Optional

Optional. Tag or custom title of the sender of the message; for supergroups only

date

Integer

Yes

Date the message was sent in Unix time. It is always a positive number, representing a valid date.

guest_query_id

String

Optional

Optional. The unique identifier for the guest query. Use this identifier with the method answerGuestQuery to send a response message. If non-empty, the message belongs to the chat where the guest bot was summoned, which may not coincide with other existing bot chats sharing the same identifier.

business_connection_id

String

Optional

Optional. Unique identifier of the business connection from which the message was received. If non-empty, the message belongs to a chat of the corresponding business account that is independent from any potential bot chat which might share the same identifier.

chat

Chat

Yes

Chat the message belongs to

forward_origin

MessageOrigin

Optional

Optional. Information about the original message for forwarded messages

is_topic_message

Boolean

Optional

Optional. True, if the message is sent to a topic in a forum supergroup or a private chat with the bot

is_automatic_forward

Boolean

Optional

Optional. True, if the message is a channel post that was automatically forwarded to the connected discussion group

reply_to_message

Message

Optional

Optional. For replies in the same chat and message thread, 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.

external_reply

ExternalReplyInfo

Optional

Optional. Information about the message that is being replied to, which may come from another chat or forum topic

quote

TextQuote

Optional

Optional. For replies that quote part of the original message, the quoted part of the message

reply_to_story

Story

Optional

Optional. For replies to a story, the original story

reply_to_checklist_task_id

Integer

Optional

Optional. Identifier of the specific checklist task that is being replied to

reply_to_poll_option_id

String

Optional

Optional. Persistent identifier of the specific poll option that is being replied to

via_bot

User

Optional

Optional. Bot through which the message was sent

guest_bot_caller_user

User

Optional

Optional. For a message sent by a guest bot, this is the user whose original message triggered the bot’s response

guest_bot_caller_chat

Chat

Optional

Optional. For a message sent by a guest bot, this is the chat whose original message triggered the bot’s response

edit_date

Integer

Optional

Optional. Date the message was last edited in Unix time

has_protected_content

Boolean

Optional

Optional. True, if the message can’t be forwarded

is_from_offline

Boolean

Optional

Optional. True, if the message was sent by an implicit action, for example, as an away or a greeting business message, or as a scheduled message

is_paid_post

Boolean

Optional

Optional. True, if the message is a paid post. Note that such posts must not be deleted for 24 hours to receive the payment and can’t be edited.

media_group_id

String

Optional

Optional. The unique identifier inside this chat of a media message group this message belongs to

author_signature

String

Optional

Optional. Signature of the post author for messages in channels, or the custom title of an anonymous group administrator

paid_star_count

Integer

Optional

Optional. The number of Telegram Stars that were paid by the sender of the message to send it

text

String

Optional

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

entities

Array of MessageEntity

Optional

Optional. For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text

link_preview_options

LinkPreviewOptions

Optional

Optional. Options used for link preview generation for the message, if it is a text message and link preview options were changed

suggested_post_info

SuggestedPostInfo

Optional

Optional. Information about suggested post parameters if the message is a suggested post in a channel direct messages chat. If the message is an approved or declined suggested post, then it can’t be edited.

effect_id

String

Optional

Optional. Unique identifier of the message effect added to the message

animation

Animation

Optional

Optional. Message is an animation, information about the animation. For backward compatibility, when this field is set, the document field will also be set

audio

Audio

Optional

Optional. Message is an audio file, information about the file

document

Document

Optional

Optional. Message is a general file, information about the file

live_photo

LivePhoto

Optional

Optional. Message is a live photo, information about the live photo. For backward compatibility, when this field is set, the photo field will also be set

paid_media

PaidMediaInfo

Optional

Optional. Message contains paid media; information about the paid media

photo

Array of PhotoSize

Optional

Optional. Message is a photo, available sizes of the photo

sticker

Sticker

Optional

Optional. Message is a sticker, information about the sticker

story

Story

Optional

Optional. Message is a forwarded story

video

Video

Optional

Optional. Message is a video, information about the video

video_note

VideoNote

Optional

Optional. Message is a video note, information about the video message

voice

Voice

Optional

Optional. Message is a voice message, information about the file

caption

String

Optional

Optional. Caption for the animation, audio, document, paid media, photo, video or voice

caption_entities

Array of MessageEntity

Optional

Optional. For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption

show_caption_above_media

Boolean

Optional

Optional. True, if the caption must be shown above the message media

has_media_spoiler

Boolean

Optional

Optional. True, if the message media is covered by a spoiler animation

checklist

Checklist

Optional

Optional. Message is a checklist

contact

Contact

Optional

Optional. Message is a shared contact, information about the contact

dice

Dice

Optional

Optional. Message is a dice with random value

game

Game

Optional

Optional. Message is a game, information about the game. More about games: https://core.telegram.org/bots/api#games

poll

Poll

Optional

Optional. Message is a native poll, information about the poll

venue

Venue

Optional

Optional. Message is a venue, information about the venue. For backward compatibility, when this field is set, the location field will also be set

location

Location

Optional

Optional. Message is a shared location, information about the location

new_chat_members

Array of User

Optional

Optional. New members that were added to the group or supergroup and information about them (the bot itself may be one of these members)

left_chat_member

User

Optional

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

chat_owner_left

ChatOwnerLeft

Optional

Optional. Service message: chat owner has left

chat_owner_changed

ChatOwnerChanged

Optional

Optional. Service message: chat owner has changed

new_chat_title

String

Optional

Optional. A chat title was changed to this value

new_chat_photo

Array of PhotoSize

Optional

Optional. A chat photo was change to this value

delete_chat_photo

Boolean

Optional

Optional. Service message: the chat photo was deleted

group_chat_created

Boolean

Optional

Optional. Service message: the group has been created

supergroup_chat_created

Boolean

Optional

Optional. Service message: the supergroup has been created. This field can’t be received in a message coming through updates, because bot can’t be a member of a supergroup when it is created. It can only be found in reply_to_message if someone replies to a very first message in a directly created su

channel_chat_created

Boolean

Optional

Optional. Service message: the channel has been created. This field can’t be received in a message coming through updates, because bot can’t be a member of a channel when it is created. It can only be found in reply_to_message if someone replies to a very first message in a channel.

message_auto_delete_timer_changed

MessageAutoDeleteTimerChanged

Optional

Optional. Service message: auto-delete timer settings changed in the chat

migrate_to_chat_id

Integer

Optional

Optional. The group has been migrated to a supergroup with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-p

migrate_from_chat_id

Integer

Optional

Optional. The supergroup has been migrated from a group with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double

pinned_message

MaybeInaccessibleMessage

Optional

Optional. Specified message was pinned. Note that the Message object in this field will not contain further reply_to_message fields even if it itself is a reply.

invoice

Invoice

Optional

Optional. Message is an invoice for a payment, information about the invoice. More about payments: https://core.telegram.org/bots/api#payments

successful_payment

SuccessfulPayment

Optional

Optional. Message is a service message about a successful payment, information about the payment. More about payments: https://core.telegram.org/bots/api#payments

refunded_payment

RefundedPayment

Optional

Optional. Message is a service message about a refunded payment, information about the payment. More about payments: https://core.telegram.org/bots/api#payments

users_shared

UsersShared

Optional

Optional. Service message: users were shared with the bot

chat_shared

ChatShared

Optional

Optional. Service message: a chat was shared with the bot

gift

GiftInfo

Optional

Optional. Service message: a regular gift was sent or received

unique_gift

UniqueGiftInfo

Optional

Optional. Service message: a unique gift was sent or received

gift_upgrade_sent

GiftInfo

Optional

Optional. Service message: upgrade of a gift was purchased after the gift was sent

connected_website

String

Optional

Optional. The domain name of the website on which the user has logged in. More about Telegram Login: /widgets/login

write_access_allowed

WriteAccessAllowed

Optional

Optional. Service message: the user allowed the bot to write messages after adding it to the attachment or side menu, launching a Web App from a link, or accepting an explicit request from a Web App sent by the method requestWriteAccess

passport_data

PassportData

Optional

Optional. Telegram Passport data

proximity_alert_triggered

ProximityAlertTriggered

Optional

Optional. Service message. A user in the chat triggered another user’s proximity alert while sharing Live Location.

boost_added

ChatBoostAdded

Optional

Optional. Service message: user boosted the chat

chat_background_set

ChatBackground

Optional

Optional. Service message: chat background set

checklist_tasks_done

ChecklistTasksDone

Optional

Optional. Service message: some tasks in a checklist were marked as done or not done

checklist_tasks_added

ChecklistTasksAdded

Optional

Optional. Service message: tasks were added to a checklist

direct_message_price_changed

DirectMessagePriceChanged

Optional

Optional. Service message: the price for paid messages in the corresponding direct messages chat of a channel has changed

forum_topic_created

ForumTopicCreated

Optional

Optional. Service message: forum topic created

forum_topic_edited

ForumTopicEdited

Optional

Optional. Service message: forum topic edited

forum_topic_closed

ForumTopicClosed

Optional

Optional. Service message: forum topic closed

forum_topic_reopened

ForumTopicReopened

Optional

Optional. Service message: forum topic reopened

general_forum_topic_hidden

GeneralForumTopicHidden

Optional

Optional. Service message: the ‘General’ forum topic hidden

general_forum_topic_unhidden

GeneralForumTopicUnhidden

Optional

Optional. Service message: the ‘General’ forum topic unhidden

giveaway_created

GiveawayCreated

Optional

Optional. Service message: a scheduled giveaway was created

giveaway

Giveaway

Optional

Optional. The message is a scheduled giveaway message

giveaway_winners

GiveawayWinners

Optional

Optional. A giveaway with public winners was completed

giveaway_completed

GiveawayCompleted

Optional

Optional. Service message: a giveaway without public winners was completed

managed_bot_created

ManagedBotCreated

Optional

Optional. Service message: user created a bot that will be managed by the current bot

paid_message_price_changed

PaidMessagePriceChanged

Optional

Optional. Service message: the price for paid messages has changed in the chat

poll_option_added

PollOptionAdded

Optional

Optional. Service message: answer option was added to a poll

poll_option_deleted

PollOptionDeleted

Optional

Optional. Service message: answer option was deleted from a poll

suggested_post_approved

SuggestedPostApproved

Optional

Optional. Service message: a suggested post was approved

suggested_post_approval_failed

SuggestedPostApprovalFailed

Optional

Optional. Service message: approval of a suggested post has failed

suggested_post_declined

SuggestedPostDeclined

Optional

Optional. Service message: a suggested post was declined

suggested_post_paid

SuggestedPostPaid

Optional

Optional. Service message: payment for a suggested post was received

suggested_post_refunded

SuggestedPostRefunded

Optional

Optional. Service message: payment for a suggested post was refunded

video_chat_scheduled

VideoChatScheduled

Optional

Optional. Service message: video chat scheduled

video_chat_started

VideoChatStarted

Optional

Optional. Service message: video chat started

video_chat_ended

VideoChatEnded

Optional

Optional. Service message: video chat ended

video_chat_participants_invited

VideoChatParticipantsInvited

Optional

Optional. Service message: new participants invited to a video chat

web_app_data

WebAppData

Optional

Optional. Service message: data sent by a Web App

reply_markup

InlineKeyboardMarkup

Optional

Optional. Inline keyboard attached to the message. login_url buttons are represented as ordinary url buttons.

MessageAutoDeleteTimerChanged

Telegram docs ↗

This object represents a service message about a change in auto-delete timer settings.

Parameter

Type

Required

Description

message_auto_delete_time

Integer

Yes

New auto-delete time for messages in the chat; in seconds

MessageEntity

Telegram docs ↗

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

Parameter

Type

Required

Description

type

String

Yes

Type of the entity. Currently, can be “mention” (@username), “hashtag” (#hashtag or #hashtag@chatusername), “cashtag” ($USD or $USD@chatusername), “bot_command” (/start@jobs_bot), “url” (https://telegram.org), “email” (do-not-reply@telegram.org), “phone_number” (+1-212-555-0123), “bold” (bold text),

offset

Integer

Yes

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

length

Integer

Yes

Length of the entity in UTF-16 code units

url

String

Optional

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

user

User

Optional

Optional. For “text_mention” only, the mentioned user

language

String

Optional

Optional. For “pre” only, the programming language of the entity text

custom_emoji_id

String

Optional

Optional. For “custom_emoji” only, unique identifier of the custom emoji. Use getCustomEmojiStickers to get full information about the sticker

unix_time

Integer

Optional

Optional. For “date_time” only, the Unix time associated with the entity

date_time_format

String

Optional

Optional. For “date_time” only, the string that defines the formatting of the date and time. See date-time entity formatting for more details.

MessageId

Telegram docs ↗

This object represents a unique message identifier.

Parameter

Type

Required

Description

message_id

Integer

Yes

Unique message identifier. In specific instances (e.g., message containing a video sent to a big chat), the server might automatically schedule a message instead of sending it immediately. In such cases, this field will be 0 and the relevant message will be unusable until it is actually sent

MessageOrigin

Telegram docs ↗

This object describes the origin of a message. It can be one of - MessageOriginUser - MessageOriginHiddenUser - MessageOriginChat - MessageOriginChannel

Union type, one of: MessageOriginUser, MessageOriginHiddenUser, MessageOriginChat, MessageOriginChannel

MessageOriginChannel

Telegram docs ↗

The message was originally sent to a channel chat.

Parameter

Type

Required

Description

type

String

Yes

Type of the message origin, always “channel”

date

Integer

Yes

Date the message was sent originally in Unix time

chat

Chat

Yes

Channel chat to which the message was originally sent

message_id

Integer

Yes

Unique message identifier inside the chat

author_signature

String

Optional

Optional. Signature of the original post author

MessageOriginChat

Telegram docs ↗

The message was originally sent on behalf of a chat to a group chat.

Parameter

Type

Required

Description

type

String

Yes

Type of the message origin, always “chat”

date

Integer

Yes

Date the message was sent originally in Unix time

sender_chat

Chat

Yes

Chat that sent the message originally

author_signature

String

Optional

Optional. For messages originally sent by an anonymous chat administrator, original message author signature

MessageOriginHiddenUser

Telegram docs ↗

The message was originally sent by an unknown user.

Parameter

Type

Required

Description

type

String

Yes

Type of the message origin, always “hidden_user”

date

Integer

Yes

Date the message was sent originally in Unix time

sender_user_name

String

Yes

Name of the user that sent the message originally

MessageOriginUser

Telegram docs ↗

The message was originally sent by a known user.

Parameter

Type

Required

Description

type

String

Yes

Type of the message origin, always “user”

date

Integer

Yes

Date the message was sent originally in Unix time

sender_user

User

Yes

User that sent the message originally

MessageReactionCountUpdated

Telegram docs ↗

This object represents reaction changes on a message with anonymous reactions.

Parameter

Type

Required

Description

chat

Chat

Yes

The chat containing the message

message_id

Integer

Yes

Unique message identifier inside the chat

date

Integer

Yes

Date of the change in Unix time

reactions

Array of ReactionCount

Yes

List of reactions that are present on the message

MessageReactionUpdated

Telegram docs ↗

This object represents a change of a reaction on a message performed by a user.

Parameter

Type

Required

Description

chat

Chat

Yes

The chat containing the message the user reacted to

message_id

Integer

Yes

Unique identifier of the message inside the chat

user

User

Optional

Optional. The user that changed the reaction, if the user isn’t anonymous

actor_chat

Chat

Optional

Optional. The chat on behalf of which the reaction was changed, if the user is anonymous

date

Integer

Yes

Date of the change in Unix time

old_reaction

Array of ReactionType

Yes

Previous list of reaction types that were set by the user

new_reaction

Array of ReactionType

Yes

New list of reaction types that have been set by the user

OrderInfo

Telegram docs ↗

This object represents information about an order.

Parameter

Type

Required

Description

name

String

Optional

Optional. User name

phone_number

String

Optional

Optional. User’s phone number

email

String

Optional

Optional. User email

shipping_address

ShippingAddress

Optional

Optional. User shipping address

OwnedGift

Telegram docs ↗

This object describes a gift received and owned by a user or a chat. Currently, it can be one of - OwnedGiftRegular - OwnedGiftUnique

Union type, one of: OwnedGiftRegular, OwnedGiftUnique

OwnedGiftRegular

Telegram docs ↗

Describes a regular gift owned by a user or a chat.

Parameter

Type

Required

Description

type

String

Yes

Type of the gift, always “regular”

gift

Gift

Yes

Information about the regular gift

owned_gift_id

String

Optional

Optional. Unique identifier of the gift for the bot; for gifts received on behalf of business accounts only

sender_user

User

Optional

Optional. Sender of the gift if it is a known user

send_date

Integer

Yes

Date the gift was sent in Unix time

text

String

Optional

Optional. Text of the message that was added to the gift

entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the text

is_private

Boolean

Optional

Optional. True, if the sender and gift text are shown only to the gift receiver; otherwise, everyone will be able to see them

is_saved

Boolean

Optional

Optional. True, if the gift is displayed on the account’s profile page; for gifts received on behalf of business accounts only

can_be_upgraded

Boolean

Optional

Optional. True, if the gift can be upgraded to a unique gift; for gifts received on behalf of business accounts only

was_refunded

Boolean

Optional

Optional. True, if the gift was refunded and isn’t available anymore

convert_star_count

Integer

Optional

Optional. Number of Telegram Stars that can be claimed by the receiver instead of the gift; omitted if the gift cannot be converted to Telegram Stars; for gifts received on behalf of business accounts only

prepaid_upgrade_star_count

Integer

Optional

Optional. Number of Telegram Stars that were paid for the ability to upgrade the gift

is_upgrade_separate

Boolean

Optional

Optional. True, if the gift’s upgrade was purchased after the gift was sent; for gifts received on behalf of business accounts only

unique_gift_number

Integer

Optional

Optional. Unique number reserved for this gift when upgraded. See the number field in UniqueGift

OwnedGiftUnique

Telegram docs ↗

Describes a unique gift received and owned by a user or a chat.

Parameter

Type

Required

Description

type

String

Yes

Type of the gift, always “unique”

gift

UniqueGift

Yes

Information about the unique gift

owned_gift_id

String

Optional

Optional. Unique identifier of the received gift for the bot; for gifts received on behalf of business accounts only

sender_user

User

Optional

Optional. Sender of the gift if it is a known user

send_date

Integer

Yes

Date the gift was sent in Unix time

is_saved

Boolean

Optional

Optional. True, if the gift is displayed on the account’s profile page; for gifts received on behalf of business accounts only

can_be_transferred

Boolean

Optional

Optional. True, if the gift can be transferred to another owner; for gifts received on behalf of business accounts only

transfer_star_count

Integer

Optional

Optional. Number of Telegram Stars that must be paid to transfer the gift; omitted if the bot cannot transfer the gift

next_transfer_date

Integer

Optional

Optional. Point in time (Unix timestamp) when the gift can be transferred. If it is in the past, then the gift can be transferred now

OwnedGifts

Telegram docs ↗

Contains the list of gifts received and owned by a user or a chat.

Parameter

Type

Required

Description

total_count

Integer

Yes

The total number of gifts owned by the user or the chat

gifts

Array of OwnedGift

Yes

The list of gifts

next_offset

String

Optional

Optional. Offset for the next request. If empty, then there are no more results

PaidMedia

Telegram docs ↗

This object describes paid media. Currently, it can be one of - PaidMediaLivePhoto - PaidMediaPhoto - PaidMediaPreview - PaidMediaVideo

Union type, one of: PaidMediaLivePhoto, PaidMediaPhoto, PaidMediaPreview, PaidMediaVideo

PaidMediaInfo

Telegram docs ↗

Describes the paid media added to a message.

Parameter

Type

Required

Description

star_count

Integer

Yes

The number of Telegram Stars that must be paid to buy access to the media

paid_media

Array of PaidMedia

Yes

Information about the paid media

PaidMediaLivePhoto

Telegram docs ↗

The paid media is a live photo.

Parameter

Type

Required

Description

type

String

Yes

Type of the paid media, always “live_photo”

live_photo

LivePhoto

Yes

The photo

PaidMediaPhoto

Telegram docs ↗

The paid media is a photo.

Parameter

Type

Required

Description

type

String

Yes

Type of the paid media, always “photo”

photo

Array of PhotoSize

Yes

The photo

PaidMediaPreview

Telegram docs ↗

The paid media isn’t available before the payment.

Parameter

Type

Required

Description

type

String

Yes

Type of the paid media, always “preview”

width

Integer

Optional

Optional. Media width as defined by the sender

height

Integer

Optional

Optional. Media height as defined by the sender

duration

Integer

Optional

Optional. Duration of the media in seconds as defined by the sender

PaidMediaPurchased

Telegram docs ↗

This object contains information about a paid media purchase.

Parameter

Type

Required

Description

from

User

Yes

User who purchased the media

paid_media_payload

String

Yes

Bot-specified paid media payload

PaidMediaVideo

Telegram docs ↗

The paid media is a video.

Parameter

Type

Required

Description

type

String

Yes

Type of the paid media, always “video”

video

Video

Yes

The video

PaidMessagePriceChanged

Telegram docs ↗

Describes a service message about a change in the price of paid messages within a chat.

Parameter

Type

Required

Description

paid_message_star_count

Integer

Yes

The new number of Telegram Stars that must be paid by non-administrator users of the supergroup chat for each sent message

PassportData

Telegram docs ↗

Describes Telegram Passport data shared with the bot by the user.

Parameter

Type

Required

Description

data

Array of EncryptedPassportElement

Yes

Array with information about documents and other Telegram Passport elements that was shared with the bot

credentials

EncryptedCredentials

Yes

Encrypted credentials required to decrypt the data

PassportElementError

Telegram docs ↗

This object represents an error in the Telegram Passport element which was submitted that should be resolved by the user. It should be one of: - PassportElementErrorDataField - PassportElementErrorFrontSide - PassportElementErrorReverseSide - PassportElementErrorSelfie - PassportElementErrorFile - PassportElementErrorFiles - PassportElementErrorTranslationFile - PassportElementErrorTranslationFiles - PassportElementErrorUnspecified

Union type, one of: PassportElementErrorDataField, PassportElementErrorFrontSide, PassportElementErrorReverseSide, PassportElementErrorSelfie, PassportElementErrorFile, PassportElementErrorFiles, PassportElementErrorTranslationFile, PassportElementErrorTranslationFiles, PassportElementErrorUnspecified

PassportElementErrorDataField

Telegram docs ↗

Represents an issue in one of the data fields that was provided by the user. The error is considered resolved when the field’s value changes.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be data

type

String

Yes

The section of the user’s Telegram Passport which has the error, one of “personal_details”, “passport”, “driver_license”, “identity_card”, “internal_passport”, “address”

field_name

String

Yes

Name of the data field which has the error

data_hash

String

Yes

Base64-encoded data hash

message

String

Yes

Error message

PassportElementErrorFile

Telegram docs ↗

Represents an issue with a document scan. The error is considered resolved when the file with the document scan changes.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be file

type

String

Yes

The section of the user’s Telegram Passport which has the issue, one of “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration”, “temporary_registration”

file_hash

String

Yes

Base64-encoded file hash

message

String

Yes

Error message

PassportElementErrorFiles

Telegram docs ↗

Represents an issue with a list of scans. The error is considered resolved when the list of files containing the scans changes.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be files

type

String

Yes

The section of the user’s Telegram Passport which has the issue, one of “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration”, “temporary_registration”

file_hashes

Array of String

Yes

List of base64-encoded file hashes

message

String

Yes

Error message

PassportElementErrorFrontSide

Telegram docs ↗

Represents an issue with the front side of a document. The error is considered resolved when the file with the front side of the document changes.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be front_side

type

String

Yes

The section of the user’s Telegram Passport which has the issue, one of “passport”, “driver_license”, “identity_card”, “internal_passport”

file_hash

String

Yes

Base64-encoded hash of the file with the front side of the document

message

String

Yes

Error message

PassportElementErrorReverseSide

Telegram docs ↗

Represents an issue with the reverse side of a document. The error is considered resolved when the file with reverse side of the document changes.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be reverse_side

type

String

Yes

The section of the user’s Telegram Passport which has the issue, one of “driver_license”, “identity_card”

file_hash

String

Yes

Base64-encoded hash of the file with the reverse side of the document

message

String

Yes

Error message

PassportElementErrorSelfie

Telegram docs ↗

Represents an issue with the selfie with a document. The error is considered resolved when the file with the selfie changes.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be selfie

type

String

Yes

The section of the user’s Telegram Passport which has the issue, one of “passport”, “driver_license”, “identity_card”, “internal_passport”

file_hash

String

Yes

Base64-encoded hash of the file with the selfie

message

String

Yes

Error message

PassportElementErrorTranslationFile

Telegram docs ↗

Represents an issue with one of the files that constitute the translation of a document. The error is considered resolved when the file changes.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be translation_file

type

String

Yes

Type of element of the user’s Telegram Passport which has the issue, one of “passport”, “driver_license”, “identity_card”, “internal_passport”, “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration”, “temporary_registration”

file_hash

String

Yes

Base64-encoded file hash

message

String

Yes

Error message

PassportElementErrorTranslationFiles

Telegram docs ↗

Represents an issue with the translated version of a document. The error is considered resolved when a file with the document translation change.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be translation_files

type

String

Yes

Type of element of the user’s Telegram Passport which has the issue, one of “passport”, “driver_license”, “identity_card”, “internal_passport”, “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration”, “temporary_registration”

file_hashes

Array of String

Yes

List of base64-encoded file hashes

message

String

Yes

Error message

PassportElementErrorUnspecified

Telegram docs ↗

Represents an issue in an unspecified place. The error is considered resolved when new data is added.

Parameter

Type

Required

Description

source

String

Yes

Error source, must be unspecified

type

String

Yes

Type of element of the user’s Telegram Passport which has the issue

element_hash

String

Yes

Base64-encoded element hash

message

String

Yes

Error message

PassportFile

Telegram docs ↗

This object represents a file uploaded to Telegram Passport. Currently all Telegram Passport files are in JPEG format when decrypted and don’t exceed 10MB.

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

file_size

Integer

Yes

File size in bytes

file_date

Integer

Yes

Unix time when the file was uploaded

PhotoSize

Telegram docs ↗

This object represents one size of a photo or a file / sticker thumbnail.

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

width

Integer

Yes

Photo width

height

Integer

Yes

Photo height

file_size

Integer

Optional

Optional. File size in bytes

Poll

Telegram docs ↗

This object contains information about a poll.

Parameter

Type

Required

Description

id

String

Yes

Unique poll identifier

question

String

Yes

Poll question, 1-300 characters

question_entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the question. Currently, only custom emoji entities are allowed in poll questions

options

Array of PollOption

Yes

List of poll options

total_voter_count

Integer

Yes

Total number of users that voted in the poll

is_closed

Boolean

Yes

True, if the poll is closed

is_anonymous

Boolean

Yes

True, if the poll is anonymous

type

String

Yes

Poll type, currently can be “regular” or “quiz”

allows_multiple_answers

Boolean

Yes

True, if the poll allows multiple answers

allows_revoting

Boolean

Yes

True, if the poll allows to change the chosen answer options

members_only

Boolean

Yes

True if voting is limited to users who have been members of the chat where the poll was originally sent for more than 24 hours

country_codes

Array of String

Optional

Optional. A list of two-letter ISO 3166-1 alpha-2 country codes indicating the countries from which users can vote in the poll. If omitted, then users from any country can participate in the poll.

correct_option_ids

Array of Integer

Optional

Optional. Array of 0-based identifiers of the correct answer options. Available only for polls in quiz mode which are closed or were sent (not forwarded) by the bot or to the private chat with the bot.

explanation

String

Optional

Optional. Text that is shown when a user chooses an incorrect answer or taps on the lamp icon in a quiz-style poll, 0-200 characters

explanation_entities

Array of MessageEntity

Optional

Optional. Special entities like usernames, URLs, bot commands, etc. that appear in the explanation

explanation_media

PollMedia

Optional

Optional. Media added to the quiz explanation

open_period

Integer

Optional

Optional. Amount of time in seconds the poll will be active after creation

close_date

Integer

Optional

Optional. Point in time (Unix timestamp) when the poll will be automatically closed

description

String

Optional

Optional. Description of the poll; for polls inside the Message object only

description_entities

Array of MessageEntity

Optional

Optional. Special entities like usernames, URLs, bot commands, etc. that appear in the description

media

PollMedia

Optional

Optional. Media added to the poll description; for polls inside the Message object only

PollAnswer

Telegram docs ↗

This object represents an answer of a user in a non-anonymous poll.

Parameter

Type

Required

Description

poll_id

String

Yes

Unique poll identifier

voter_chat

Chat

Optional

Optional. The chat that changed the answer to the poll, if the voter is anonymous

user

User

Optional

Optional. The user that changed the answer to the poll, if the voter isn’t anonymous

option_ids

Array of Integer

Yes

0-based identifiers of chosen answer options. May be empty if the vote was retracted.

option_persistent_ids

Array of String

Yes

Persistent identifiers of the chosen answer options. May be empty if the vote was retracted.

PollMedia

Telegram docs ↗

At most one of the optional fields can be present in any given object.

Parameter

Type

Required

Description

animation

Animation

Optional

Optional. Media is an animation, information about the animation

audio

Audio

Optional

Optional. Media is an audio file, information about the file; currently, can’t be received in a poll option

document

Document

Optional

Optional. Media is a general file, information about the file; currently, can’t be received in a poll option

live_photo

LivePhoto

Optional

Optional. Media is a live photo, information about the live photo

location

Location

Optional

Optional. Media is a shared location, information about the location

photo

Array of PhotoSize

Optional

Optional. Media is a photo, available sizes of the photo

sticker

Sticker

Optional

Optional. Media is a sticker, information about the sticker; currently, for poll options only

venue

Venue

Optional

Optional. Media is a venue, information about the venue

video

Video

Optional

Optional. Media is a video, information about the video

PollOption

Telegram docs ↗

This object contains information about one answer option in a poll.

Parameter

Type

Required

Description

persistent_id

String

Yes

Unique identifier of the option, persistent on option addition and deletion

text

String

Yes

Option text, 1-100 characters

text_entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the option text. Currently, only custom emoji entities are allowed in poll option texts

media

PollMedia

Optional

Optional. Media added to the poll option

voter_count

Integer

Yes

Number of users who voted for this option; may be 0 if unknown

added_by_user

User

Optional

Optional. User who added the option; omitted if the option wasn’t added by a user after poll creation

added_by_chat

Chat

Optional

Optional. Chat that added the option; omitted if the option wasn’t added by a chat after poll creation

addition_date

Integer

Optional

Optional. Point in time (Unix timestamp) when the option was added; omitted if the option existed in the original poll

PollOptionAdded

Telegram docs ↗

Describes a service message about an option added to a poll.

Parameter

Type

Required

Description

poll_message

MaybeInaccessibleMessage

Optional

Optional. Message containing the poll to which the option was added, if known. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

option_persistent_id

String

Yes

Unique identifier of the added option

option_text

String

Yes

Option text

option_text_entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the option_text

PollOptionDeleted

Telegram docs ↗

Describes a service message about an option deleted from a poll.

Parameter

Type

Required

Description

poll_message

MaybeInaccessibleMessage

Optional

Optional. Message containing the poll from which the option was deleted, if known. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

option_persistent_id

String

Yes

Unique identifier of the deleted option

option_text

String

Yes

Option text

option_text_entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the option_text

PreCheckoutQuery

Telegram docs ↗

This object contains information about an incoming pre-checkout query.

Parameter

Type

Required

Description

id

String

Yes

Unique query identifier

from

User

Yes

User who sent the query

currency

String

Yes

Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars

total_amount

Integer

Yes

Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

invoice_payload

String

Yes

Bot-specified invoice payload

shipping_option_id

String

Optional

Optional. Identifier of the shipping option chosen by the user

order_info

OrderInfo

Optional

Optional. Order information provided by the user

PreparedInlineMessage

Telegram docs ↗

Describes an inline message to be sent by a user of a Mini App.

Parameter

Type

Required

Description

id

String

Yes

Unique identifier of the prepared message

expiration_date

Integer

Yes

Expiration date of the prepared message, in Unix time. Expired prepared messages can no longer be used

PreparedKeyboardButton

Telegram docs ↗

Describes a keyboard button to be used by a user of a Mini App.

Parameter

Type

Required

Description

id

String

Yes

Unique identifier of the keyboard button

ProximityAlertTriggered

Telegram docs ↗

This object represents the content of a service message, sent whenever a user in the chat triggers a proximity alert set by another user.

Parameter

Type

Required

Description

traveler

User

Yes

User that triggered the alert

watcher

User

Yes

User that set the alert

distance

Integer

Yes

The distance between the users

ReactionCount

Telegram docs ↗

Represents a reaction added to a message along with the number of times it was added.

Parameter

Type

Required

Description

type

ReactionType

Yes

Type of the reaction

total_count

Integer

Yes

Number of times the reaction was added

ReactionType

Telegram docs ↗

This object describes the type of a reaction. Currently, it can be one of - ReactionTypeEmoji - ReactionTypeCustomEmoji - ReactionTypePaid

Union type, one of: ReactionTypeEmoji, ReactionTypeCustomEmoji, ReactionTypePaid

ReactionTypeCustomEmoji

Telegram docs ↗

The reaction is based on a custom emoji.

Parameter

Type

Required

Description

type

String

Yes

Type of the reaction, always “custom_emoji”

custom_emoji_id

String

Yes

Custom emoji identifier

ReactionTypeEmoji

Telegram docs ↗

The reaction is based on an emoji.

Parameter

Type

Required

Description

type

String

Yes

Type of the reaction, always “emoji”

emoji

String

Yes

Reaction emoji. Currently, it can be one of “❤”, “👍”, “👎”, “🔥”, “🥰”, “👏”, “😁”, “🤔”, “🤯”, “😱”, “🤬”, “😢”, “🎉”, “🤩”, “🤮”, “💩”, “🙏”, “👌”, “🕊”, “🤡”, “🥱”, “🥴”, “😍”, “🐳”, “❤‍🔥”, “🌚”, “🌭”, “💯”, “🤣”, “⚡”, “🍌”, “🏆”, “💔”, “🤨”, “😐”, “🍓”, “🍾”, “💋”, “🖕”, “😈”, “😴”, “😭”, “🤓”, “👻”, “👨‍💻”, “👀”, “🎃”, “🙈”, “😇”, “😨”, “🤝

ReactionTypePaid

Telegram docs ↗

The reaction is paid.

Parameter

Type

Required

Description

type

String

Yes

Type of the reaction, always “paid”

RefundedPayment

Telegram docs ↗

This object contains basic information about a refunded payment.

Parameter

Type

Required

Description

currency

String

Yes

Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars. Currently, always “XTR”

total_amount

Integer

Yes

Total refunded price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45, total_amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

invoice_payload

String

Yes

Bot-specified invoice payload

telegram_payment_charge_id

String

Yes

Telegram payment identifier

provider_payment_charge_id

String

Optional

Optional. Provider payment identifier

ReplyKeyboardMarkup

Telegram docs ↗

This object represents a custom keyboard with reply options (see Introduction to bots for details and examples). Not supported in channels and for messages sent on behalf of a business account.

Parameter

Type

Required

Description

keyboard

Array of Array of KeyboardButton

Yes

Array of button rows, each represented by an Array of KeyboardButton objects

is_persistent

Boolean

Optional

Optional. Requests clients to always show the keyboard when the regular keyboard is hidden. Defaults to false, in which case the custom keyboard can be hidden and opened with a keyboard icon.

resize_keyboard

Boolean

Optional

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

one_time_keyboard

Boolean

Optional

Optional. Requests clients to hide the keyboard as soon as it’s been used. The keyboard will still be available, but clients will automatically display the usual letter-keyboard in the chat - the user can press a special button in the input field to see the custom keyboard again. Defaults to false.

input_field_placeholder

String

Optional

Optional. The placeholder to be shown in the input field when the keyboard is active; 1-64 characters

selective

Boolean

Optional

Optional. 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 to a message in the same chat and forum topic, sender of the original message. Example: A user requests to

ReplyKeyboardRemove

Telegram docs ↗

Upon receiving a message with this object, Telegram clients will remove 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 (see ReplyKeyboardMarkup). Not supported in channels and for messages sent on behalf of a business account.

Parameter

Type

Required

Description

remove_keyboard

Boolean

Yes

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)

selective

Boolean

Optional

Optional. Use this parameter if you want to remove the keyboard for 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 to a message in the same chat and forum topic, sender of the original message. Example: A user votes in

ReplyParameters

Telegram docs ↗

Describes reply parameters for the message that is being sent.

Parameter

Type

Required

Description

message_id

Integer

Yes

Identifier of the message that will be replied to in the current chat, or in the chat chat_id if it is specified

chat_id

Integer | String

Optional

Optional. If the message to be replied to is from a different chat, unique identifier for the chat or username of the bot, supergroup or channel in the format @username. Not supported for messages sent on behalf of a business account and messages from channel direct messages chats.

allow_sending_without_reply

Boolean

Optional

Optional. Pass True if the message should be sent even if the specified message to be replied to is not found. Always False for replies in another chat or forum topic. Always True for messages sent on behalf of a business account.

quote

String

Optional

Optional. Quoted part of the message to be replied to; 0-1024 characters after entities parsing. The quote must be an exact substring of the message to be replied to, including bold, italic, underline, strikethrough, spoiler, custom_emoji, and date_time entities. The message will fail to send if the

quote_parse_mode

String

Optional

Optional. Mode for parsing entities in the quote. See formatting options for more details.

quote_entities

Array of MessageEntity

Optional

Optional. A JSON-serialized list of special entities that appear in the quote. It can be specified instead of quote_parse_mode.

quote_position

Integer

Optional

Optional. Position of the quote in the original message in UTF-16 code units

checklist_task_id

Integer

Optional

Optional. Identifier of the specific checklist task to be replied to

poll_option_id

String

Optional

Optional. Persistent identifier of the specific poll option to be replied to

ResponseParameters

Telegram docs ↗

Describes why a request was unsuccessful.

Parameter

Type

Required

Description

migrate_to_chat_id

Integer

Optional

Optional. The group has been migrated to a supergroup with the specified identifier. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-p

retry_after

Integer

Optional

Optional. In case of exceeding flood control, the number of seconds left to wait before the request can be repeated

RevenueWithdrawalState

Telegram docs ↗

This object describes the state of a revenue withdrawal operation. Currently, it can be one of - RevenueWithdrawalStatePending - RevenueWithdrawalStateSucceeded - RevenueWithdrawalStateFailed

Union type, one of: RevenueWithdrawalStatePending, RevenueWithdrawalStateSucceeded, RevenueWithdrawalStateFailed

RevenueWithdrawalStateFailed

Telegram docs ↗

The withdrawal failed and the transaction was refunded.

Parameter

Type

Required

Description

type

String

Yes

Type of the state, always “failed”

RevenueWithdrawalStatePending

Telegram docs ↗

The withdrawal is in progress.

Parameter

Type

Required

Description

type

String

Yes

Type of the state, always “pending”

RevenueWithdrawalStateSucceeded

Telegram docs ↗

The withdrawal succeeded.

Parameter

Type

Required

Description

type

String

Yes

Type of the state, always “succeeded”

date

Integer

Yes

Date the withdrawal was completed in Unix time

url

String

Yes

An HTTPS URL that can be used to see transaction details

SentGuestMessage

Telegram docs ↗

Describes an inline message sent by a guest bot.

Parameter

Type

Required

Description

inline_message_id

String

Yes

Identifier of the sent inline message

SentWebAppMessage

Telegram docs ↗

Describes an inline message sent by a Web App on behalf of a user.

Parameter

Type

Required

Description

inline_message_id

String

Optional

Optional. Identifier of the sent inline message. Available only if there is an inline keyboard attached to the message.

SharedUser

Telegram docs ↗

This object contains information about a user that was shared with the bot using a KeyboardButtonRequestUsers button.

Parameter

Type

Required

Description

user_id

Integer

Yes

Identifier of the shared user. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so 64-bit integers or double-precision float types are safe for storing these identifiers. T

first_name

String

Optional

Optional. First name of the user, if the name was requested by the bot

last_name

String

Optional

Optional. Last name of the user, if the name was requested by the bot

username

String

Optional

Optional. Username of the user, if the username was requested by the bot

photo

Array of PhotoSize

Optional

Optional. Available sizes of the chat photo, if the photo was requested by the bot

ShippingAddress

Telegram docs ↗

This object represents a shipping address.

Parameter

Type

Required

Description

country_code

String

Yes

Two-letter ISO 3166-1 alpha-2 country code

state

String

Yes

State, if applicable

city

String

Yes

City

street_line1

String

Yes

First line for the address

street_line2

String

Yes

Second line for the address

post_code

String

Yes

Address post code

ShippingOption

Telegram docs ↗

This object represents one shipping option.

Parameter

Type

Required

Description

id

String

Yes

Shipping option identifier

title

String

Yes

Option title

prices

Array of LabeledPrice

Yes

List of price portions

ShippingQuery

Telegram docs ↗

This object contains information about an incoming shipping query.

Parameter

Type

Required

Description

id

String

Yes

Unique query identifier

from

User

Yes

User who sent the query

invoice_payload

String

Yes

Bot-specified invoice payload

shipping_address

ShippingAddress

Yes

User specified shipping address

StarAmount

Telegram docs ↗

Describes an amount of Telegram Stars.

Parameter

Type

Required

Description

amount

Integer

Yes

Integer amount of Telegram Stars, rounded to 0; can be negative

nanostar_amount

Integer

Optional

Optional. The number of 1/1000000000 shares of Telegram Stars; from -999999999 to 999999999; can be negative if and only if amount is non-positive

StarTransaction

Telegram docs ↗

Describes a Telegram Star transaction. Note that if the buyer initiates a chargeback with the payment provider from whom they acquired Stars (e.g., Apple, Google) following this transaction, the refunded Stars will be deducted from the bot’s balance. This is outside of Telegram’s control.

Parameter

Type

Required

Description

id

String

Yes

Unique identifier of the transaction. Coincides with the identifier of the original transaction for refund transactions. Coincides with SuccessfulPayment.telegram_payment_charge_id for successful incoming payments from users.

amount

Integer

Yes

Integer amount of Telegram Stars transferred by the transaction

nanostar_amount

Integer

Optional

Optional. The number of 1/1000000000 shares of Telegram Stars transferred by the transaction; from 0 to 999999999

date

Integer

Yes

Date the transaction was created in Unix time

source

TransactionPartner

Optional

Optional. Source of an incoming transaction (e.g., a user purchasing goods or services, Fragment refunding a failed withdrawal). Only for incoming transactions

receiver

TransactionPartner

Optional

Optional. Receiver of an outgoing transaction (e.g., a user for a purchase refund, Fragment for a withdrawal). Only for outgoing transactions

StarTransactions

Telegram docs ↗

Contains a list of Telegram Star transactions.

Parameter

Type

Required

Description

transactions

Array of StarTransaction

Yes

The list of transactions

Sticker

Telegram docs ↗

This object represents a sticker.

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

type

String

Yes

Type of the sticker, currently one of “regular”, “mask”, “custom_emoji”. The type of the sticker is independent from its format, which is determined by the fields is_animated and is_video.

width

Integer

Yes

Sticker width

height

Integer

Yes

Sticker height

is_animated

Boolean

Yes

True, if the sticker is animated

is_video

Boolean

Yes

True, if the sticker is a video sticker

thumbnail

PhotoSize

Optional

Optional. Sticker thumbnail in the .WEBP or .JPG format

emoji

String

Optional

Optional. Emoji associated with the sticker

set_name

String

Optional

Optional. Name of the sticker set to which the sticker belongs

premium_animation

File

Optional

Optional. For premium regular stickers, premium animation for the sticker

mask_position

MaskPosition

Optional

Optional. For mask stickers, the position where the mask should be placed

custom_emoji_id

String

Optional

Optional. For custom emoji stickers, unique identifier of the custom emoji

needs_repainting

Boolean

Optional

Optional. True, if the sticker must be repainted to a text color in messages, the color of the Telegram Premium badge in emoji status, white color on chat photos, or another appropriate color in other places

file_size

Integer

Optional

Optional. File size in bytes

StickerSet

Telegram docs ↗

This object represents a sticker set.

Parameter

Type

Required

Description

name

String

Yes

Sticker set name

title

String

Yes

Sticker set title

sticker_type

String

Yes

Type of stickers in the set, currently one of “regular”, “mask”, “custom_emoji”

stickers

Array of Sticker

Yes

List of all set stickers

thumbnail

PhotoSize

Optional

Optional. Sticker set thumbnail in the .WEBP, .TGS, or .WEBM format

Story

Telegram docs ↗

This object represents a story.

Parameter

Type

Required

Description

chat

Chat

Yes

Chat that posted the story

id

Integer

Yes

Unique identifier for the story in the chat

StoryArea

Telegram docs ↗

Describes a clickable area on a story media.

Parameter

Type

Required

Description

position

StoryAreaPosition

Yes

Position of the area

type

StoryAreaType

Yes

Type of the area

StoryAreaPosition

Telegram docs ↗

Describes the position of a clickable area within a story.

Parameter

Type

Required

Description

x_percentage

Float

Yes

The abscissa of the area’s center, as a percentage of the media width

y_percentage

Float

Yes

The ordinate of the area’s center, as a percentage of the media height

width_percentage

Float

Yes

The width of the area’s rectangle, as a percentage of the media width

height_percentage

Float

Yes

The height of the area’s rectangle, as a percentage of the media height

rotation_angle

Float

Yes

The clockwise rotation angle of the rectangle, in degrees; 0-360

corner_radius_percentage

Float

Yes

The radius of the rectangle corner rounding, as a percentage of the media width

StoryAreaType

Telegram docs ↗

Describes the type of a clickable area on a story. Currently, it can be one of - StoryAreaTypeLocation - StoryAreaTypeSuggestedReaction - StoryAreaTypeLink - StoryAreaTypeWeather - StoryAreaTypeUniqueGift

Union type, one of: StoryAreaTypeLocation, StoryAreaTypeSuggestedReaction, StoryAreaTypeLink, StoryAreaTypeWeather, StoryAreaTypeUniqueGift

StoryAreaTypeLocation

Telegram docs ↗

Describes a story area pointing to a location. Currently, a story can have up to 10 location areas.

Parameter

Type

Required

Description

type

String

Yes

Type of the area, always “location”

latitude

Float

Yes

Location latitude in degrees

longitude

Float

Yes

Location longitude in degrees

address

LocationAddress

Optional

Optional. Address of the location

StoryAreaTypeSuggestedReaction

Telegram docs ↗

Describes a story area pointing to a suggested reaction. Currently, a story can have up to 5 suggested reaction areas.

Parameter

Type

Required

Description

type

String

Yes

Type of the area, always “suggested_reaction”

reaction_type

ReactionType

Yes

Type of the reaction

is_dark

Boolean

Optional

Optional. Pass True if the reaction area has a dark background

is_flipped

Boolean

Optional

Optional. Pass True if reaction area corner is flipped

StoryAreaTypeUniqueGift

Telegram docs ↗

Describes a story area pointing to a unique gift. Currently, a story can have at most 1 unique gift area.

Parameter

Type

Required

Description

type

String

Yes

Type of the area, always “unique_gift”

name

String

Yes

Unique name of the gift

StoryAreaTypeWeather

Telegram docs ↗

Describes a story area containing weather information. Currently, a story can have up to 3 weather areas.

Parameter

Type

Required

Description

type

String

Yes

Type of the area, always “weather”

temperature

Float

Yes

Temperature, in degree Celsius

emoji

String

Yes

Emoji representing the weather

background_color

Integer

Yes

A color of the area background in the ARGB format

SuccessfulPayment

Telegram docs ↗

This object contains basic information about a successful payment. Note that if the buyer initiates a chargeback with the relevant payment provider following this transaction, the funds may be debited from your balance. This is outside of Telegram’s control.

Parameter

Type

Required

Description

currency

String

Yes

Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars

total_amount

Integer

Yes

Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).

invoice_payload

String

Yes

Bot-specified invoice payload

subscription_expiration_date

Integer

Optional

Optional. Expiration date of the subscription, in Unix time; for recurring payments only

is_recurring

Boolean

Optional

Optional. True, if the payment is a recurring payment for a subscription

is_first_recurring

Boolean

Optional

Optional. True, if the payment is the first payment for a subscription

shipping_option_id

String

Optional

Optional. Identifier of the shipping option chosen by the user

order_info

OrderInfo

Optional

Optional. Order information provided by the user

telegram_payment_charge_id

String

Yes

Telegram payment identifier

provider_payment_charge_id

String

Yes

Provider payment identifier

SuggestedPostApprovalFailed

Telegram docs ↗

Describes a service message about the failed approval of a suggested post. Currently, only caused by insufficient user funds at the time of approval.

Parameter

Type

Required

Description

suggested_post_message

Message

Optional

Optional. Message containing the suggested post whose approval has failed. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

price

SuggestedPostPrice

Yes

Expected price of the post

SuggestedPostApproved

Telegram docs ↗

Describes a service message about the approval of a suggested post.

Parameter

Type

Required

Description

suggested_post_message

Message

Optional

Optional. Message containing the suggested post. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

price

SuggestedPostPrice

Optional

Optional. Amount paid for the post

send_date

Integer

Yes

Date when the post will be published

SuggestedPostDeclined

Telegram docs ↗

Describes a service message about the rejection of a suggested post.

Parameter

Type

Required

Description

suggested_post_message

Message

Optional

Optional. Message containing the suggested post. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

comment

String

Optional

Optional. Comment with which the post was declined

SuggestedPostInfo

Telegram docs ↗

Contains information about a suggested post.

Parameter

Type

Required

Description

state

String

Yes

State of the suggested post. Currently, it can be one of “pending”, “approved”, “declined”.

price

SuggestedPostPrice

Optional

Optional. Proposed price of the post. If the field is omitted, then the post is unpaid.

send_date

Integer

Optional

Optional. Proposed send date of the post. If the field is omitted, then the post can be published at any time within 30 days at the sole discretion of the user or administrator who approves it.

SuggestedPostPaid

Telegram docs ↗

Describes a service message about a successful payment for a suggested post.

Parameter

Type

Required

Description

suggested_post_message

Message

Optional

Optional. Message containing the suggested post. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

currency

String

Yes

Currency in which the payment was made. Currently, one of “XTR” for Telegram Stars or “TON” for toncoins

amount

Integer

Optional

Optional. The amount of the currency that was received by the channel in nanotoncoins; for payments in toncoins only

star_amount

StarAmount

Optional

Optional. The amount of Telegram Stars that was received by the channel; for payments in Telegram Stars only

SuggestedPostParameters

Telegram docs ↗

Contains parameters of a post that is being suggested by the bot.

Parameter

Type

Required

Description

price

SuggestedPostPrice

Optional

Optional. Proposed price for the post. If the field is omitted, then the post is unpaid.

send_date

Integer

Optional

Optional. Proposed send date of the post. If specified, then the date must be between 300 second and 2678400 seconds (30 days) in the future. If the field is omitted, then the post can be published at any time within 30 days at the sole discretion of the user who approves it.

SuggestedPostPrice

Telegram docs ↗

Describes the price of a suggested post.

Parameter

Type

Required

Description

currency

String

Yes

Currency in which the post will be paid. Currently, must be one of “XTR” for Telegram Stars or “TON” for toncoins

amount

Integer

Yes

The amount of the currency that will be paid for the post in the smallest units of the currency, i.e. Telegram Stars or nanotoncoins. Currently, price in Telegram Stars must be between 5 and 100000, and price in nanotoncoins must be between 10000000 and 10000000000000.

SuggestedPostRefunded

Telegram docs ↗

Describes a service message about a payment refund for a suggested post.

Parameter

Type

Required

Description

suggested_post_message

Message

Optional

Optional. Message containing the suggested post. Note that the Message object in this field will not contain the reply_to_message field even if it itself is a reply.

reason

String

Yes

Reason for the refund. Currently, one of “post_deleted” if the post was deleted within 24 hours of being posted or removed from scheduled messages without being posted, or “payment_refunded” if the payer refunded their payment.

SwitchInlineQueryChosenChat

Telegram docs ↗

This object represents an inline button that switches the current user to inline mode in a chosen chat, with an optional default inline query.

Parameter

Type

Required

Description

query

String

Optional

Optional. The default inline query to be inserted in the input field. If left empty, only the bot’s username will be inserted

allow_user_chats

Boolean

Optional

Optional. True, if private chats with users can be chosen

allow_bot_chats

Boolean

Optional

Optional. True, if private chats with bots can be chosen

allow_group_chats

Boolean

Optional

Optional. True, if group and supergroup chats can be chosen

allow_channel_chats

Boolean

Optional

Optional. True, if channel chats can be chosen

TextQuote

Telegram docs ↗

This object contains information about the quoted part of a message that is replied to by the given message.

Parameter

Type

Required

Description

text

String

Yes

Text of the quoted part of a message that is replied to by the given message

entities

Array of MessageEntity

Optional

Optional. Special entities that appear in the quote. Currently, only bold, italic, underline, strikethrough, spoiler, custom_emoji, and date_time entities are kept in quotes.

position

Integer

Yes

Approximate quote position in the original message in UTF-16 code units as specified by the sender

is_manual

Boolean

Optional

Optional. True, if the quote was chosen manually by the message sender. Otherwise, the quote was added automatically by the server.

TransactionPartner

Telegram docs ↗

This object describes the source of a transaction, or its recipient for outgoing transactions. Currently, it can be one of - TransactionPartnerUser - TransactionPartnerChat - TransactionPartnerAffiliateProgram - TransactionPartnerFragment - TransactionPartnerTelegramAds - TransactionPartnerTelegramApi - TransactionPartnerOther

Union type, one of: TransactionPartnerUser, TransactionPartnerChat, TransactionPartnerAffiliateProgram, TransactionPartnerFragment, TransactionPartnerTelegramAds, TransactionPartnerTelegramApi, TransactionPartnerOther

TransactionPartnerAffiliateProgram

Telegram docs ↗

Describes the affiliate program that issued the affiliate commission received via this transaction.

Parameter

Type

Required

Description

type

String

Yes

Type of the transaction partner, always “affiliate_program”

sponsor_user

User

Optional

Optional. Information about the bot that sponsored the affiliate program

commission_per_mille

Integer

Yes

The number of Telegram Stars received by the bot for each 1000 Telegram Stars received by the affiliate program sponsor from referred users

TransactionPartnerChat

Telegram docs ↗

Describes a transaction with a chat.

Parameter

Type

Required

Description

type

String

Yes

Type of the transaction partner, always “chat”

chat

Chat

Yes

Information about the chat

gift

Gift

Optional

Optional. The gift sent to the chat by the bot

TransactionPartnerFragment

Telegram docs ↗

Describes a withdrawal transaction with Fragment.

Parameter

Type

Required

Description

type

String

Yes

Type of the transaction partner, always “fragment”

withdrawal_state

RevenueWithdrawalState

Optional

Optional. State of the transaction if the transaction is outgoing

TransactionPartnerOther

Telegram docs ↗

Describes a transaction with an unknown source or recipient.

Parameter

Type

Required

Description

type

String

Yes

Type of the transaction partner, always “other”

TransactionPartnerTelegramAds

Telegram docs ↗

Describes a withdrawal transaction to the Telegram Ads platform.

Parameter

Type

Required

Description

type

String

Yes

Type of the transaction partner, always “telegram_ads”

TransactionPartnerTelegramApi

Telegram docs ↗

Describes a transaction with payment for paid broadcasting.

Parameter

Type

Required

Description

type

String

Yes

Type of the transaction partner, always “telegram_api”

request_count

Integer

Yes

The number of successful requests that exceeded regular limits and were therefore billed

TransactionPartnerUser

Telegram docs ↗

Describes a transaction with a user.

Parameter

Type

Required

Description

type

String

Yes

Type of the transaction partner, always “user”

transaction_type

String

Yes

Type of the transaction, currently one of “invoice_payment” for payments via invoices, “paid_media_payment” for payments for paid media, “gift_purchase” for gifts sent by the bot, “premium_purchase” for Telegram Premium subscriptions gifted by the bot, “business_account_transfer” for direct transfer

user

User

Yes

Information about the user

affiliate

AffiliateInfo

Optional

Optional. Information about the affiliate that received a commission via this transaction. Can be available only for “invoice_payment” and “paid_media_payment” transactions.

invoice_payload

String

Optional

Optional. Bot-specified invoice payload. Can be available only for “invoice_payment” transactions.

subscription_period

Integer

Optional

Optional. The duration of the paid subscription. Can be available only for “invoice_payment” transactions.

paid_media

Array of PaidMedia

Optional

Optional. Information about the paid media bought by the user; for “paid_media_payment” transactions only

paid_media_payload

String

Optional

Optional. Bot-specified paid media payload. Can be available only for “paid_media_payment” transactions.

gift

Gift

Optional

Optional. The gift sent to the user by the bot; for “gift_purchase” transactions only

premium_subscription_duration

Integer

Optional

Optional. Number of months the gifted Telegram Premium subscription will be active for; for “premium_purchase” transactions only

UniqueGift

Telegram docs ↗

This object describes a unique gift that was upgraded from a regular gift.

Parameter

Type

Required

Description

gift_id

String

Yes

Identifier of the regular gift from which the gift was upgraded

base_name

String

Yes

Human-readable name of the regular gift from which this unique gift was upgraded

name

String

Yes

Unique name of the gift. This name can be used in https://t.me/nft/… links and story areas

number

Integer

Yes

Unique number of the upgraded gift among gifts upgraded from the same regular gift

model

UniqueGiftModel

Yes

Model of the gift

symbol

UniqueGiftSymbol

Yes

Symbol of the gift

backdrop

UniqueGiftBackdrop

Yes

Backdrop of the gift

is_premium

Boolean

Optional

Optional. True, if the original regular gift was exclusively purchaseable by Telegram Premium subscribers

is_burned

Boolean

Optional

Optional. True, if the gift was used to craft another gift and isn’t available anymore

is_from_blockchain

Boolean

Optional

Optional. True, if the gift is assigned from the TON blockchain and can’t be resold or transferred in Telegram

colors

UniqueGiftColors

Optional

Optional. The color scheme that can be used by the gift’s owner for the chat’s name, replies to messages and link previews; for business account gifts and gifts that are currently on sale only

publisher_chat

Chat

Optional

Optional. Information about the chat that published the gift

UniqueGiftBackdrop

Telegram docs ↗

This object describes the backdrop of a unique gift.

Parameter

Type

Required

Description

name

String

Yes

Name of the backdrop

colors

UniqueGiftBackdropColors

Yes

Colors of the backdrop

rarity_per_mille

Integer

Yes

The number of unique gifts that receive this backdrop for every 1000 gifts upgraded

UniqueGiftBackdropColors

Telegram docs ↗

This object describes the colors of the backdrop of a unique gift.

Parameter

Type

Required

Description

center_color

Integer

Yes

The color in the center of the backdrop in RGB format

edge_color

Integer

Yes

The color on the edges of the backdrop in RGB format

symbol_color

Integer

Yes

The color to be applied to the symbol in RGB format

text_color

Integer

Yes

The color for the text on the backdrop in RGB format

UniqueGiftColors

Telegram docs ↗

This object contains information about the color scheme for a user’s name, message replies and link previews based on a unique gift.

Parameter

Type

Required

Description

model_custom_emoji_id

String

Yes

Custom emoji identifier of the unique gift’s model

symbol_custom_emoji_id

String

Yes

Custom emoji identifier of the unique gift’s symbol

light_theme_main_color

Integer

Yes

Main color used in light themes; RGB format

light_theme_other_colors

Array of Integer

Yes

List of 1-3 additional colors used in light themes; RGB format

dark_theme_main_color

Integer

Yes

Main color used in dark themes; RGB format

dark_theme_other_colors

Array of Integer

Yes

List of 1-3 additional colors used in dark themes; RGB format

UniqueGiftInfo

Telegram docs ↗

Describes a service message about a unique gift that was sent or received.

Parameter

Type

Required

Description

gift

UniqueGift

Yes

Information about the gift

origin

String

Yes

Origin of the gift. Currently, either “upgrade” for gifts upgraded from regular gifts, “transfer” for gifts transferred from other users or channels, “resale” for gifts bought from other users, “gifted_upgrade” for upgrades purchased after the gift was sent, or “offer” for gifts bought or sold throu

last_resale_currency

String

Optional

Optional. For gifts bought from other users, the currency in which the payment for the gift was done. Currently, one of “XTR” for Telegram Stars or “TON” for toncoins.

last_resale_amount

Integer

Optional

Optional. For gifts bought from other users, the price paid for the gift in either Telegram Stars or nanotoncoins

owned_gift_id

String

Optional

Optional. Unique identifier of the received gift for the bot; only present for gifts received on behalf of business accounts

transfer_star_count

Integer

Optional

Optional. Number of Telegram Stars that must be paid to transfer the gift; omitted if the bot cannot transfer the gift

next_transfer_date

Integer

Optional

Optional. Point in time (Unix timestamp) when the gift can be transferred. If it is in the past, then the gift can be transferred now

UniqueGiftModel

Telegram docs ↗

This object describes the model of a unique gift.

Parameter

Type

Required

Description

name

String

Yes

Name of the model

sticker

Sticker

Yes

The sticker that represents the unique gift

rarity_per_mille

Integer

Yes

The number of unique gifts that receive this model for every 1000 gift upgrades. Always 0 for crafted gifts.

rarity

String

Optional

Optional. Rarity of the model if it is a crafted model. Currently, can be “uncommon”, “rare”, “epic”, or “legendary”.

UniqueGiftSymbol

Telegram docs ↗

This object describes the symbol shown on the pattern of a unique gift.

Parameter

Type

Required

Description

name

String

Yes

Name of the symbol

sticker

Sticker

Yes

The sticker that represents the unique gift

rarity_per_mille

Integer

Yes

The number of unique gifts that receive this model for every 1000 gifts upgraded

Update

Telegram docs ↗

This object represents an incoming update. At most one of the optional fields can be present in any given update.

Parameter

Type

Required

Description

update_id

Integer

Yes

The update’s unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier becomes especially handy if you’re using webhooks, since it allows you to ignore repeated updates or to restore the correct update sequence, should they get out of order

message

Message

Optional

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

edited_message

Message

Optional

Optional. New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.

channel_post

Message

Optional

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

edited_channel_post

Message

Optional

Optional. New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.

business_connection

BusinessConnection

Optional

Optional. The bot was connected to or disconnected from a business account, or a user edited an existing connection with the bot

business_message

Message

Optional

Optional. New message from a connected business account

edited_business_message

Message

Optional

Optional. New version of a message from a connected business account

deleted_business_messages

BusinessMessagesDeleted

Optional

Optional. Messages were deleted from a connected business account

guest_message

Message

Optional

Optional. New guest message. The bot can use the field Message.guest_query_id and the method answerGuestQuery to send a message in response.

message_reaction

MessageReactionUpdated

Optional

Optional. A reaction to a message was changed by a user. The bot must be an administrator in the chat and must explicitly specify “message_reaction” in the list of allowed_updates to receive these updates. The update isn’t received for reactions set by bots.

message_reaction_count

MessageReactionCountUpdated

Optional

Optional. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify “message_reaction_count” in the list of allowed_updates to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.

inline_query

InlineQuery

Optional

Optional. New incoming inline query

chosen_inline_result

ChosenInlineResult

Optional

Optional. The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting for details on how to enable these updates for your bot.

callback_query

CallbackQuery

Optional

Optional. New incoming callback query

shipping_query

ShippingQuery

Optional

Optional. New incoming shipping query. Only for invoices with flexible price

pre_checkout_query

PreCheckoutQuery

Optional

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

purchased_paid_media

PaidMediaPurchased

Optional

Optional. A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat

poll

Poll

Optional

Optional. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot

poll_answer

PollAnswer

Optional

Optional. A user changed their answer in a non-anonymous poll. Bots receive new votes only in polls that were sent by the bot itself.

my_chat_member

ChatMemberUpdated

Optional

Optional. The bot’s chat member status was updated in a chat. For private chats, this update is received only when the bot is blocked or unblocked by the user.

chat_member

ChatMemberUpdated

Optional

Optional. A chat member’s status was updated in a chat. The bot must be an administrator in the chat and must explicitly specify “chat_member” in the list of allowed_updates to receive these updates.

chat_join_request

ChatJoinRequest

Optional

Optional. A request to join the chat has been sent. The bot must have the can_invite_users administrator right in the chat to receive these updates.

chat_boost

ChatBoostUpdated

Optional

Optional. A chat boost was added or changed. The bot must be an administrator in the chat to receive these updates.

removed_chat_boost

ChatBoostRemoved

Optional

Optional. A boost was removed from a chat. The bot must be an administrator in the chat to receive these updates.

managed_bot

ManagedBotUpdated

Optional

Optional. A new bot was created to be managed by the bot, or token or owner of a managed bot was changed

User

Telegram docs ↗

This object represents a Telegram user or bot.

Parameter

Type

Required

Description

id

Integer

Yes

Unique identifier for this user or bot. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a 64-bit integer or double-precision float type are safe for storing this identi

is_bot

Boolean

Yes

True, if this user is a bot

first_name

String

Yes

User’s or bot’s first name

last_name

String

Optional

Optional. User’s or bot’s last name

username

String

Optional

Optional. User’s or bot’s username

language_code

String

Optional

Optional. IETF language tag of the user’s language

is_premium

Boolean

Optional

Optional. True, if this user is a Telegram Premium user

added_to_attachment_menu

Boolean

Optional

Optional. True, if this user added the bot to the attachment menu

can_join_groups

Boolean

Optional

Optional. True, if the bot can be invited to groups. Returned only in getMe.

can_read_all_group_messages

Boolean

Optional

Optional. True, if privacy mode is disabled for the bot. Returned only in getMe.

supports_guest_queries

Boolean

Optional

Optional. True, if the bot supports guest queries from chats it is not a member of. Returned only in getMe.

supports_inline_queries

Boolean

Optional

Optional. True, if the bot supports inline queries. Returned only in getMe.

can_connect_to_business

Boolean

Optional

Optional. True, if the bot can be connected to a user account to manage it. Returned only in getMe.

has_main_web_app

Boolean

Optional

Optional. True, if the bot has a main Web App. Returned only in getMe.

has_topics_enabled

Boolean

Optional

Optional. True, if the bot has forum topic mode enabled in private chats. Returned only in getMe.

allows_users_to_create_topics

Boolean

Optional

Optional. True, if the bot allows users to create and delete topics in private chats. Returned only in getMe.

can_manage_bots

Boolean

Optional

Optional. True, if other bots can be created to be controlled by the bot. Returned only in getMe.

UserChatBoosts

Telegram docs ↗

This object represents a list of boosts added to a chat by a user.

Parameter

Type

Required

Description

boosts

Array of ChatBoost

Yes

The list of boosts added to the chat by the user

UserProfileAudios

Telegram docs ↗

This object represents the audios displayed on a user’s profile.

Parameter

Type

Required

Description

total_count

Integer

Yes

Total number of profile audios for the target user

audios

Array of Audio

Yes

Requested profile audios

UserProfilePhotos

Telegram docs ↗

This object represent a user’s profile pictures.

Parameter

Type

Required

Description

total_count

Integer

Yes

Total number of profile pictures the target user has

photos

Array of Array of PhotoSize

Yes

Requested profile pictures (in up to 4 sizes each)

UserRating

Telegram docs ↗

This object describes the rating of a user based on their Telegram Star spendings.

Parameter

Type

Required

Description

level

Integer

Yes

Current level of the user, indicating their reliability when purchasing digital goods and services. A higher level suggests a more trustworthy customer; a negative level is likely reason for concern.

rating

Integer

Yes

Numerical value of the user’s rating; the higher the rating, the better

current_level_rating

Integer

Yes

The rating value required to get the current level

next_level_rating

Integer

Optional

Optional. The rating value required to get to the next level; omitted if the maximum level was reached

UsersShared

Telegram docs ↗

This object contains information about the users whose identifiers were shared with the bot using a KeyboardButtonRequestUsers button.

Parameter

Type

Required

Description

request_id

Integer

Yes

Identifier of the request

users

Array of SharedUser

Yes

Information about users shared with the bot.

Venue

Telegram docs ↗

This object represents a venue.

Parameter

Type

Required

Description

location

Location

Yes

Venue location. Can’t be a live location

title

String

Yes

Name of the venue

address

String

Yes

Address of the venue

foursquare_id

String

Optional

Optional. Foursquare identifier of the venue

foursquare_type

String

Optional

Optional. Foursquare type of the venue. (For example, “arts_entertainment/default”, “arts_entertainment/aquarium” or “food/icecream”.)

google_place_id

String

Optional

Optional. Google Places identifier of the venue

google_place_type

String

Optional

Optional. Google Places type of the venue. (See supported types.)

Video

Telegram docs ↗

This object represents a video file.

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

width

Integer

Yes

Video width as defined by the sender

height

Integer

Yes

Video height as defined by the sender

duration

Integer

Yes

Duration of the video in seconds as defined by the sender

thumbnail

PhotoSize

Optional

Optional. Video thumbnail

cover

Array of PhotoSize

Optional

Optional. Available sizes of the cover of the video in the message

start_timestamp

Integer

Optional

Optional. Timestamp in seconds from which the video will play in the message

qualities

Array of VideoQuality

Optional

Optional. List of available qualities of the video

file_name

String

Optional

Optional. Original filename as defined by the sender

mime_type

String

Optional

Optional. MIME type of the file as defined by the sender

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

VideoChatEnded

Telegram docs ↗

This object represents a service message about a video chat ended in the chat.

Parameter

Type

Required

Description

duration

Integer

Yes

Video chat duration in seconds

VideoChatParticipantsInvited

Telegram docs ↗

This object represents a service message about new members invited to a video chat.

Parameter

Type

Required

Description

users

Array of User

Yes

New members that were invited to the video chat

VideoChatScheduled

Telegram docs ↗

This object represents a service message about a video chat scheduled in the chat.

Parameter

Type

Required

Description

start_date

Integer

Yes

Point in time (Unix timestamp) when the video chat is supposed to be started by a chat administrator

VideoChatStarted

Telegram docs ↗

This object represents a service message about a video chat started in the chat. Currently holds no information.

No fields.

VideoNote

Telegram docs ↗

This object represents a video message (available in Telegram apps as of v.4.0).

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

length

Integer

Yes

Video width and height (diameter of the video message) as defined by the sender

duration

Integer

Yes

Duration of the video in seconds as defined by the sender

thumbnail

PhotoSize

Optional

Optional. Video thumbnail

file_size

Integer

Optional

Optional. File size in bytes

VideoQuality

Telegram docs ↗

This object represents a video file of a specific quality.

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

width

Integer

Yes

Video width

height

Integer

Yes

Video height

codec

String

Yes

Codec that was used to encode the video, for example, “h264”, “h265”, or “av01”

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

Voice

Telegram docs ↗

This object represents a voice note.

Parameter

Type

Required

Description

file_id

String

Yes

Identifier for this file, which can be used to download or reuse the file

file_unique_id

String

Yes

Unique identifier for this file, which is supposed to be the same over time and for different bots. Can’t be used to download or reuse the file.

duration

Integer

Yes

Duration of the audio in seconds as defined by the sender

mime_type

String

Optional

Optional. MIME type of the file as defined by the sender

file_size

Integer

Optional

Optional. File size in bytes. It can be bigger than 2^31 and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so a signed 64-bit integer or double-precision float type are safe for storing this value.

WebAppData

Telegram docs ↗

Describes data sent from a Web App to the bot.

Parameter

Type

Required

Description

data

String

Yes

The data. Be aware that a bad client can send arbitrary data in this field.

button_text

String

Yes

Text of the web_app keyboard button from which the Web App was opened. Be aware that a bad client can send arbitrary data in this field.

WebAppInfo

Telegram docs ↗

Describes a Web App.

Parameter

Type

Required

Description

url

String

Yes

An HTTPS URL of a Web App to be opened with additional data as specified in Initializing Web Apps

WebhookInfo

Telegram docs ↗

Describes the current status of a webhook.

Parameter

Type

Required

Description

url

String

Yes

Webhook URL, may be empty if webhook is not set up

has_custom_certificate

Boolean

Yes

True, if a custom certificate was provided for webhook certificate checks

pending_update_count

Integer

Yes

Number of updates awaiting delivery

ip_address

String

Optional

Optional. Currently used webhook IP address

last_error_date

Integer

Optional

Optional. Unix time for the most recent error that happened when trying to deliver an update via webhook

last_error_message

String

Optional

Optional. Error message in human-readable format for the most recent error that happened when trying to deliver an update via webhook

last_synchronization_error_date

Integer

Optional

Optional. Unix time of the most recent error that happened when trying to synchronize available updates with Telegram datacenters

max_connections

Integer

Optional

Optional. The maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery

allowed_updates

Array of String

Optional

Optional. A list of update types the bot is subscribed to. Defaults to all update types except chat_member

WriteAccessAllowed

Telegram docs ↗

This object represents a service message about a user allowing a bot to write messages after adding it to the attachment menu, launching a Web App from a link, or accepting an explicit request from a Web App sent by the method requestWriteAccess.

Parameter

Type

Required

Description

from_request

Boolean

Optional

Optional. True, if the access was granted after the user accepted an explicit request from a Web App sent by the method requestWriteAccess

web_app_name

String

Optional

Optional. Name of the Web App, if the access was granted when the Web App was launched from a link

from_attachment_menu

Boolean

Optional

Optional. True, if the access was granted when the bot was added to the attachment or side menu