Message¶
- class telegram.Message(message_id, date, chat, from_user=None, forward_from=None, forward_from_chat=None, forward_from_message_id=None, forward_date=None, reply_to_message=None, edit_date=None, text=None, entities=None, caption_entities=None, audio=None, document=None, game=None, photo=None, sticker=None, video=None, voice=None, video_note=None, new_chat_members=None, caption=None, contact=None, location=None, venue=None, left_chat_member=None, new_chat_title=None, new_chat_photo=None, delete_chat_photo=None, group_chat_created=None, supergroup_chat_created=None, channel_chat_created=None, migrate_to_chat_id=None, migrate_from_chat_id=None, pinned_message=None, invoice=None, successful_payment=None, forward_signature=None, author_signature=None, media_group_id=None, connected_website=None, animation=None, passport_data=None, poll=None, forward_sender_name=None, reply_markup=None, dice=None, via_bot=None, proximity_alert_triggered=None, sender_chat=None, video_chat_started=None, video_chat_ended=None, video_chat_participants_invited=None, message_auto_delete_timer_changed=None, video_chat_scheduled=None, is_automatic_forward=None, has_protected_content=None, web_app_data=None, is_topic_message=None, message_thread_id=None, forum_topic_created=None, forum_topic_closed=None, forum_topic_reopened=None, forum_topic_edited=None, general_forum_topic_hidden=None, general_forum_topic_unhidden=None, write_access_allowed=None, has_media_spoiler=None, user_shared=None, chat_shared=None, story=None, *, api_kwargs=None)[source]¶
Bases:
telegram.TelegramObject
This object represents a message.
Objects of this class are comparable in terms of equality. Two objects of this class are considered equal, if their
message_id
andchat
are equal.Available In
Returned In
Changed in version 20.0:
The arguments and attributes
voice_chat_scheduled
,voice_chat_started
andvoice_chat_ended
,voice_chat_participants_invited
were renamed tovideo_chat_scheduled
/video_chat_scheduled
,video_chat_started
/video_chat_started
,video_chat_ended
/video_chat_ended
andvideo_chat_participants_invited
/video_chat_participants_invited
, respectively, in accordance to Bot API 6.0.The following are now keyword-only arguments in Bot methods:
{read, write, connect, pool}_timeout
,api_kwargs
,contact
,quote
,filename
,loaction
,venue
. Use a named argument for those, and notice that some positional arguments changed position as a result.
- Parameters:
message_id (
int
) – Unique message identifier inside this chat.from_user (
telegram.User
, optional) – Sender of the message; empty for messages sent to channels. For backward compatibility, this will contain a fake sender user in non-channel chats, if the message was sent on behalf of a chat.sender_chat (
telegram.Chat
, optional) – Sender of the message, sent on behalf of a chat. For example, the channel itself for channel posts, the supergroup itself for messages from anonymous group administrators, the linked channel for messages automatically forwarded to the discussion group. For backward compatibility,from_user
contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat.Date the message was sent in Unix time. Converted to
datetime.datetime
.Changed in version 20.3: The default timezone of the bot is used for localization, which is UTC unless
telegram.ext.Defaults.tzinfo
is used.chat (
telegram.Chat
) – Conversation the message belongs to.forward_from (
telegram.User
, optional) – For forwarded messages, sender of the original message.forward_from_chat (
telegram.Chat
, optional) – For messages forwarded from channels or from anonymous administrators, information about the original sender chat.forward_from_message_id (
int
, optional) – For forwarded channel posts, identifier of the original message in the channel.forward_sender_name (
str
, optional) – Sender’s name for messages forwarded from users who disallow adding a link to their account in forwarded messages.forward_date (
datetime.datetime
, optional) –For forwarded messages, date the original message was sent in Unix time. Converted to
datetime.datetime
.Changed in version 20.3: The default timezone of the bot is used for localization, which is UTC unless
telegram.ext.Defaults.tzinfo
is used.is_automatic_forward (
bool
, optional) –True
, if the message is a channel post that was automatically forwarded to the connected discussion group.New in version 13.9.
reply_to_message (
telegram.Message
, optional) – For replies, the original message. Note that the Message object in this field will not contain furtherreply_to_message
fields even if it itself is a reply.edit_date (
datetime.datetime
, optional) –Date the message was last edited in Unix time. Converted to
datetime.datetime
.Changed in version 20.3: The default timezone of the bot is used for localization, which is UTC unless
telegram.ext.Defaults.tzinfo
is used.has_protected_content (
bool
, optional) –True
, if the message can’t be forwarded.New in version 13.9.
media_group_id (
str
, optional) – The unique identifier of a media message group this message belongs to.text (
str
, optional) – For text messages, the actual UTF-8 text of the message, 0-4096
characters.entities (Sequence[
telegram.MessageEntity
], optional) –For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text. See
parse_entity
andparse_entities
methods for how to use properly. This list is empty if the message does not contain entities.Changed in version 20.0: Accepts any
collections.abc.Sequence
as input instead of just a list. The input is converted to a tuple.caption_entities (Sequence[
telegram.MessageEntity
], optional) –For messages with a Caption. Special entities like usernames, URLs, bot commands, etc. that appear in the caption. See
Message.parse_caption_entity
andparse_caption_entities
methods for how to use properly. This list is empty if the message does not contain caption entities.Changed in version 20.0: Accepts any
collections.abc.Sequence
as input instead of just a list. The input is converted to a tuple.audio (
telegram.Audio
, optional) – Message is an audio file, information about the file.document (
telegram.Document
, optional) – Message is a general file, information about the file.animation (
telegram.Animation
, optional) – Message is an animation, information about the animation. For backward compatibility, when this field is set, the document field will also be set.game (
telegram.Game
, optional) – Message is a game, information about the game.photo (Sequence[
telegram.PhotoSize
], optional) –Message is a photo, available sizes of the photo. This list is empty if the message does not contain a photo.
Changed in version 20.0: Accepts any
collections.abc.Sequence
as input instead of just a list. The input is converted to a tuple.sticker (
telegram.Sticker
, optional) – Message is a sticker, information about the sticker.story (
telegram.Story
, optional) –Message is a forwarded story.
New in version 20.5.
video (
telegram.Video
, optional) – Message is a video, information about the video.voice (
telegram.Voice
, optional) – Message is a voice message, information about the file.video_note (
telegram.VideoNote
, optional) – Message is a video note, information about the video message.new_chat_members (Sequence[
telegram.User
], optional) –New members that were added to the group or supergroup and information about them (the bot itself may be one of these members). This list is empty if the message does not contain new chat members.
Changed in version 20.0: Accepts any
collections.abc.Sequence
as input instead of just a list. The input is converted to a tuple.caption (
str
, optional) – Caption for the animation, audio, document, photo, video or voice, 0-1024
characters.contact (
telegram.Contact
, optional) – Message is a shared contact, information about the contact.location (
telegram.Location
, optional) – Message is a shared location, information about the location.venue (
telegram.Venue
, optional) – Message is a venue, information about the venue. For backward compatibility, when this field is set, the location field will also be set.left_chat_member (
telegram.User
, optional) – A member was removed from the group, information about them (this member may be the bot itself).new_chat_title (
str
, optional) – A chat title was changed to this value.new_chat_photo (Sequence[
telegram.PhotoSize
], optional) –A chat photo was changed to this value. This list is empty if the message does not contain a new chat photo.
Changed in version 20.0: Accepts any
collections.abc.Sequence
as input instead of just a list. The input is converted to a tuple.delete_chat_photo (
bool
, optional) – Service message: The chat photo was deleted.group_chat_created (
bool
, optional) – Service message: The group has been created.supergroup_chat_created (
bool
, 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 inreply_to_message
if someone replies to a very first message in a directly created supergroup.channel_chat_created (
bool
, 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 inreply_to_message
if someone replies to a very first message in a channel.message_auto_delete_timer_changed (
telegram.MessageAutoDeleteTimerChanged
, optional) –Service message: auto-delete timer settings changed in the chat.
New in version 13.4.
migrate_to_chat_id (
int
, optional) – The group has been migrated to a supergroup with the specified identifier.migrate_from_chat_id (
int
, optional) – The supergroup has been migrated from a group with the specified identifier.pinned_message (
telegram.Message
, optional) – Specified message was pinned. Note that the Message object in this field will not contain furtherreply_to_message
fields even if it is itself a reply.invoice (
telegram.Invoice
, optional) – Message is an invoice for a payment, information about the invoice.successful_payment (
telegram.SuccessfulPayment
, optional) – Message is a service message about a successful payment, information about the payment.connected_website (
str
, optional) – The domain name of the website on which the user has logged in.forward_signature (
str
, optional) – For messages forwarded from channels, signature of the post author if present.author_signature (
str
, optional) – Signature of the post author for messages in channels, or the custom title of an anonymous group administrator.passport_data (
telegram.PassportData
, optional) – Telegram Passport data.poll (
telegram.Poll
, optional) – Message is a native poll, information about the poll.dice (
telegram.Dice
, optional) – Message is a dice with random value.via_bot (
telegram.User
, optional) – Bot through which message was sent.proximity_alert_triggered (
telegram.ProximityAlertTriggered
, optional) – Service message. A user in the chat triggered another user’s proximity alert while sharing Live Location.video_chat_scheduled (
telegram.VideoChatScheduled
, optional) –Service message: video chat scheduled.
New in version 20.0.
video_chat_started (
telegram.VideoChatStarted
, optional) –Service message: video chat started.
New in version 20.0.
video_chat_ended (
telegram.VideoChatEnded
, optional) –Service message: video chat ended.
New in version 20.0.
video_chat_participants_invited (
telegram.VideoChatParticipantsInvited
optional) –Service message: new participants invited to a video chat.
New in version 20.0.
web_app_data (
telegram.WebAppData
, optional) –Service message: data sent by a Web App.
New in version 20.0.
reply_markup (
telegram.InlineKeyboardMarkup
, optional) – Inline keyboard attached to the message.login_url
buttons are represented as ordinary url buttons.is_topic_message (
bool
, optional) –True
, if the message is sent to a forum topic.New in version 20.0.
message_thread_id (
int
, optional) –Unique identifier of a message thread to which the message belongs; for supergroups only.
New in version 20.0.
forum_topic_created (
telegram.ForumTopicCreated
, optional) –Service message: forum topic created.
New in version 20.0.
forum_topic_closed (
telegram.ForumTopicClosed
, optional) –Service message: forum topic closed.
New in version 20.0.
forum_topic_reopened (
telegram.ForumTopicReopened
, optional) –Service message: forum topic reopened.
New in version 20.0.
forum_topic_edited (
telegram.ForumTopicEdited
, optional) –Service message: forum topic edited.
New in version 20.0.
general_forum_topic_hidden (
telegram.GeneralForumTopicHidden
, optional) –Service message: General forum topic hidden.
New in version 20.0.
general_forum_topic_unhidden (
telegram.GeneralForumTopicUnhidden
, optional) –Service message: General forum topic unhidden.
New in version 20.0.
write_access_allowed (
telegram.WriteAccessAllowed
, optional) –Service message: the user allowed the bot added to the attachment menu to write messages.
New in version 20.0.
has_media_spoiler (
bool
, optional) –True
, if the message media is covered by a spoiler animation.New in version 20.0.
user_shared (
telegram.UserShared
, optional) –Service message: a user was shared with the bot.
New in version 20.1.
chat_shared (
telegram.ChatShared
, optional) –Service message: a chat was shared with the bot.
New in version 20.1.
- from_user[source]¶
Optional. Sender of the message; empty for messages sent to channels. For backward compatibility, this will contain a fake sender user in non-channel chats, if the message was sent on behalf of a chat.
- Type:
- sender_chat[source]¶
Optional. Sender of the message, sent on behalf of a chat. For example, the channel itself for channel posts, the supergroup itself for messages from anonymous group administrators, the linked channel for messages automatically forwarded to the discussion group. For backward compatibility,
from_user
contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat.- Type:
- date[source]¶
Date the message was sent in Unix time. Converted to
datetime.datetime
.Changed in version 20.3: The default timezone of the bot is used for localization, which is UTC unless
telegram.ext.Defaults.tzinfo
is used.- Type:
- forward_from_chat[source]¶
Optional. For messages forwarded from channels or from anonymous administrators, information about the original sender chat.
- Type:
- forward_from_message_id[source]¶
Optional. For forwarded channel posts, identifier of the original message in the channel.
- Type:
- forward_date[source]¶
Optional. For forwarded messages, date the original message was sent in Unix time. Converted to
datetime.datetime
.Changed in version 20.3: The default timezone of the bot is used for localization, which is UTC unless
telegram.ext.Defaults.tzinfo
is used.- Type:
- is_automatic_forward[source]¶
Optional.
True
, if the message is a channel post that was automatically forwarded to the connected discussion group.New in version 13.9.
- Type:
- reply_to_message[source]¶
Optional. For replies, the original message. Note that the Message object in this field will not contain further
reply_to_message
fields even if it itself is a reply.- Type:
- edit_date[source]¶
Optional. Date the message was last edited in Unix time. Converted to
datetime.datetime
.Changed in version 20.3: The default timezone of the bot is used for localization, which is UTC unless
telegram.ext.Defaults.tzinfo
is used.- Type:
- has_protected_content[source]¶
Optional.
True
, if the message can’t be forwarded.New in version 13.9.
- Type:
- media_group_id[source]¶
Optional. The unique identifier of a media message group this message belongs to.
- Type:
- text[source]¶
Optional. For text messages, the actual UTF-8 text of the message, 0-
4096
characters.- Type:
- entities[source]¶
Optional. For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text. See
parse_entity
andparse_entities
methods for how to use properly. This list is empty if the message does not contain entities.Changed in version 20.0: This attribute is now an immutable tuple.
- Type:
Tuple[
telegram.MessageEntity
]
- caption_entities[source]¶
Optional. For messages with a Caption. Special entities like usernames, URLs, bot commands, etc. that appear in the caption. See
Message.parse_caption_entity
andparse_caption_entities
methods for how to use properly. This list is empty if the message does not contain caption entities.Changed in version 20.0: This attribute is now an immutable tuple.
- Type:
Tuple[
telegram.MessageEntity
]
- animation[source]¶
Optional. Message is an animation, information about the animation. For backward compatibility, when this field is set, the document field will also be set.
See also
- Type:
- photo[source]¶
Optional. Message is a photo, available sizes of the photo. This list is empty if the message does not contain a photo.
See also
Changed in version 20.0: This attribute is now an immutable tuple.
- Type:
Tuple[
telegram.PhotoSize
]
- video_note[source]¶
Optional. Message is a video note, information about the video message.
See also
- Type:
- new_chat_members[source]¶
Optional. New members that were added to the group or supergroup and information about them (the bot itself may be one of these members). This list is empty if the message does not contain new chat members.
Changed in version 20.0: This attribute is now an immutable tuple.
- Type:
Tuple[
telegram.User
]
- caption[source]¶
Optional. Caption for the animation, audio, document, photo, video or voice, 0-
1024
characters.- Type:
- venue[source]¶
Optional. Message is a venue, information about the venue. For backward compatibility, when this field is set, the location field will also be set.
- Type:
- left_chat_member[source]¶
Optional. A member was removed from the group, information about them (this member may be the bot itself).
- Type:
- new_chat_photo[source]¶
A chat photo was changed to this value. This list is empty if the message does not contain a new chat photo.
Changed in version 20.0: This attribute is now an immutable tuple.
- Type:
Tuple[
telegram.PhotoSize
]
- supergroup_chat_created[source]¶
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 supergroup.- Type:
- channel_chat_created[source]¶
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.- Type:
- message_auto_delete_timer_changed[source]¶
Optional. Service message: auto-delete timer settings changed in the chat.
New in version 13.4.
- migrate_to_chat_id[source]¶
Optional. The group has been migrated to a supergroup with the specified identifier.
- Type:
- migrate_from_chat_id[source]¶
Optional. The supergroup has been migrated from a group with the specified identifier.
- Type:
- pinned_message[source]¶
Optional. Specified message was pinned. Note that the Message object in this field will not contain further
reply_to_message
fields even if it is itself a reply.- Type:
- invoice[source]¶
Optional. Message is an invoice for a payment, information about the invoice.
- Type:
- successful_payment[source]¶
Optional. Message is a service message about a successful payment, information about the payment.
- connected_website[source]¶
Optional. The domain name of the website on which the user has logged in.
- Type:
- forward_signature[source]¶
Optional. For messages forwarded from channels, signature of the post author if present.
- Type:
- author_signature[source]¶
Optional. Signature of the post author for messages in channels, or the custom title of an anonymous group administrator.
- Type:
- forward_sender_name[source]¶
Optional. Sender’s name for messages forwarded from users who disallow adding a link to their account in forwarded messages.
- Type:
- proximity_alert_triggered[source]¶
Optional. Service message. A user in the chat triggered another user’s proximity alert while sharing Live Location.
- video_chat_participants_invited[source]¶
Optional. Service message: new participants invited to a video chat.
New in version 20.0.
- reply_markup[source]¶
Optional. Inline keyboard attached to the message.
login_url
buttons are represented as ordinary url buttons.
- is_topic_message[source]¶
Optional.
True
, if the message is sent to a forum topic.New in version 20.0.
- Type:
- message_thread_id[source]¶
Optional. Unique identifier of a message thread to which the message belongs; for supergroups only.
New in version 20.0.
- Type:
Optional. Service message: General forum topic hidden.
New in version 20.0.
Optional. Service message: General forum topic unhidden.
New in version 20.0.
- write_access_allowed[source]¶
Optional. Service message: the user allowed the bot added to the attachment menu to write messages.
New in version 20.0.
- has_media_spoiler[source]¶
Optional.
True
, if the message media is covered by a spoiler animation.New in version 20.0.
- Type:
Optional. Service message: a user was shared with the bot.
New in version 20.1.
- Type:
Optional. Service message: a chat was shared with the bot.
New in version 20.1.
- Type:
- property caption_html[source]¶
Creates an HTML-formatted string from the markup entities found in the message’s caption.
Use this if you want to retrieve the message caption with the caption entities formatted as HTML in the same way the original message was formatted.
Changed in version 13.10: Spoiler entities are now formatted as HTML.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message caption with caption entities formatted as HTML.
- Return type:
- property caption_html_urled[source]¶
Creates an HTML-formatted string from the markup entities found in the message’s caption.
Use this if you want to retrieve the message caption with the caption entities formatted as HTML. This also formats
telegram.MessageEntity.URL
as a hyperlink.Changed in version 13.10: Spoiler entities are now formatted as HTML.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message caption with caption entities formatted as HTML.
- Return type:
- property caption_markdown[source]¶
Creates an Markdown-formatted string from the markup entities found in the message’s caption using
telegram.constants.ParseMode.MARKDOWN
.Use this if you want to retrieve the message caption with the caption entities formatted as Markdown in the same way the original message was formatted.
Note
'Markdown'
is a legacy mode, retained by Telegram for backward compatibility. You should usecaption_markdown_v2()
instead.Custom emoji entities will be ignored by this function. Instead, the supplied replacement for the emoji will be used.
Changed in version 20.5: Since custom emoji entities are not supported by
MARKDOWN
, this method now raises aValueError
when encountering a custom emoji.- Returns:
Message caption with caption entities formatted as Markdown.
- Return type:
- Raises:
ValueError – If the message contains underline, strikethrough, spoiler or nested entities.
- property caption_markdown_urled[source]¶
Creates an Markdown-formatted string from the markup entities found in the message’s caption using
telegram.constants.ParseMode.MARKDOWN
.Use this if you want to retrieve the message caption with the caption entities formatted as Markdown. This also formats
telegram.MessageEntity.URL
as a hyperlink.Note
'Markdown'
is a legacy mode, retained by Telegram for backward compatibility. You should usecaption_markdown_v2_urled()
instead.Custom emoji entities will be ignored by this function. Instead, the supplied replacement for the emoji will be used.
Changed in version 20.5: Since custom emoji entities are not supported by
MARKDOWN
, this method now raises aValueError
when encountering a custom emoji.- Returns:
Message caption with caption entities formatted as Markdown.
- Return type:
- Raises:
ValueError – If the message contains underline, strikethrough, spoiler or nested entities.
- property caption_markdown_v2[source]¶
Creates an Markdown-formatted string from the markup entities found in the message’s caption using
telegram.constants.ParseMode.MARKDOWN_V2
.Use this if you want to retrieve the message caption with the caption entities formatted as Markdown in the same way the original message was formatted.
Changed in version 13.10: Spoiler entities are now formatted as Markdown V2.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message caption with caption entities formatted as Markdown.
- Return type:
- property caption_markdown_v2_urled[source]¶
Creates an Markdown-formatted string from the markup entities found in the message’s caption using
telegram.constants.ParseMode.MARKDOWN_V2
.Use this if you want to retrieve the message caption with the caption entities formatted as Markdown. This also formats
telegram.MessageEntity.URL
as a hyperlink.Changed in version 13.10: Spoiler entities are now formatted as Markdown V2.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message caption with caption entities formatted as Markdown.
- Return type:
- property chat_id[source]¶
Shortcut for
telegram.Chat.id
forchat
.- Type:
- async close_forum_topic(*, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.close_forum_topic( chat_id=message.chat_id, message_thread_id=message.message_thread_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.close_forum_topic()
.New in version 20.0.
- async copy(chat_id, caption=None, parse_mode=None, caption_entities=None, disable_notification=None, reply_to_message_id=None, allow_sending_without_reply=None, reply_markup=None, protect_content=None, message_thread_id=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.copy_message( chat_id=chat_id, from_chat_id=update.effective_message.chat_id, message_id=update.effective_message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.copy_message()
.- Returns:
On success, returns the MessageId of the sent message.
- Return type:
- async delete(*, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.delete_message( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.delete_message()
.
- async delete_forum_topic(*, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.delete_forum_topic( chat_id=message.chat_id, message_thread_id=message.message_thread_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.delete_forum_topic()
.New in version 20.0.
- async edit_caption(caption=None, reply_markup=None, parse_mode=None, caption_entities=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.edit_message_caption( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.edit_message_caption()
.Note
You can only edit messages that the bot sent itself (i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, if edited message is sent by the bot, the edited Message is returned, otherwise
True
is returned.- Return type:
- async edit_forum_topic(name=None, icon_custom_emoji_id=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.edit_forum_topic( chat_id=message.chat_id, message_thread_id=message.message_thread_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.edit_forum_topic()
.New in version 20.0.
- async edit_live_location(latitude=None, longitude=None, reply_markup=None, horizontal_accuracy=None, heading=None, proximity_alert_radius=None, *, location=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.edit_message_live_location( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.edit_message_live_location()
.Note
You can only edit messages that the bot sent itself (i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, if edited message is sent by the bot, the edited Message is returned, otherwise
True
is returned.- Return type:
- async edit_media(media, reply_markup=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.edit_message_media( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.edit_message_media()
.Note
You can only edit messages that the bot sent itself(i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, if edited message is not an inline message, the edited Message is returned, otherwise
True
is returned.- Return type:
- async edit_reply_markup(reply_markup=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.edit_message_reply_markup( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.edit_message_reply_markup()
.Note
You can only edit messages that the bot sent itself (i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, if edited message is sent by the bot, the edited Message is returned, otherwise
True
is returned.- Return type:
- async edit_text(text, parse_mode=None, disable_web_page_preview=None, reply_markup=None, entities=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.edit_message_text( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.edit_message_text()
.Note
You can only edit messages that the bot sent itself (i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, if edited message is sent by the bot, the edited Message is returned, otherwise
True
is returned.- Return type:
- property effective_attachment[source]¶
If this message is neither a plain text message nor a status update, this gives the attachment that this message was sent with. This may be one of
List[
telegram.PhotoSize
]
Otherwise
None
is returned.See also
Changed in version 20.0:
dice
,passport_data
andpoll
are now also considered to be an attachment.
- async forward(chat_id, disable_notification=None, protect_content=None, message_thread_id=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.forward_message( from_chat_id=update.effective_message.chat_id, message_id=update.effective_message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.forward_message()
.Note
Since the release of Bot API 5.5 it can be impossible to forward messages from some chats. Use the attributes
telegram.Message.has_protected_content
andtelegram.Chat.has_protected_content
to check this.As a workaround, it is still possible to use
copy()
. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, instance representing the message forwarded.
- Return type:
- async get_game_high_scores(user_id, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.get_game_high_scores( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.get_game_high_scores()
.Note
You can only edit messages that the bot sent itself (i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
Tuple[
telegram.GameHighScore
]
- property id[source]¶
Shortcut for
message_id
.New in version 20.0.
- Type:
- property link[source]¶
Convenience property. If the chat of the message is not a private chat or normal group, returns a t.me link of the message.
Changed in version 20.3: For messages that are replies or part of a forum topic, the link now points to the corresponding thread view.
- Type:
- parse_caption_entities(types=None)[source]¶
Returns a
dict
that mapstelegram.MessageEntity
tostr
. It contains entities from this message’s caption filtered by theirtelegram.MessageEntity.type
attribute as the key, and the text that each entity belongs to as the value of thedict
.Note
This method should always be used instead of the
caption_entities
attribute, since it calculates the correct substring from the message text based on UTF-16 codepoints. Seeparse_entity
for more info.- Parameters:
types (List[
str
], optional) – List oftelegram.MessageEntity
types as strings. If thetype
attribute of an entity is contained in this list, it will be returned. Defaults to a list of all types. All types can be found as constants intelegram.MessageEntity
.- Returns:
A dictionary of entities mapped to the text that belongs to them, calculated based on UTF-16 codepoints.
- Return type:
Dict[
telegram.MessageEntity
,str
]
- parse_caption_entity(entity)[source]¶
Returns the text from a given
telegram.MessageEntity
.Note
This method is present because Telegram calculates the offset and length in UTF-16 codepoint pairs, which some versions of Python don’t handle automatically. (That is, you can’t just slice
Message.caption
with the offset and length.)- Parameters:
entity (
telegram.MessageEntity
) – The entity to extract the text from. It must be an entity that belongs to this message.- Returns:
The text of the given entity.
- Return type:
- Raises:
RuntimeError – If the message has no caption.
- parse_entities(types=None)[source]¶
Returns a
dict
that mapstelegram.MessageEntity
tostr
. It contains entities from this message filtered by theirtelegram.MessageEntity.type
attribute as the key, and the text that each entity belongs to as the value of thedict
.Note
This method should always be used instead of the
entities
attribute, since it calculates the correct substring from the message text based on UTF-16 codepoints. Seeparse_entity
for more info.- Parameters:
types (List[
str
], optional) – List oftelegram.MessageEntity
types as strings. If thetype
attribute of an entity is contained in this list, it will be returned. Defaults to a list of all types. All types can be found as constants intelegram.MessageEntity
.- Returns:
A dictionary of entities mapped to the text that belongs to them, calculated based on UTF-16 codepoints.
- Return type:
Dict[
telegram.MessageEntity
,str
]
- parse_entity(entity)[source]¶
Returns the text from a given
telegram.MessageEntity
.Note
This method is present because Telegram calculates the offset and length in UTF-16 codepoint pairs, which some versions of Python don’t handle automatically. (That is, you can’t just slice
Message.text
with the offset and length.)- Parameters:
entity (
telegram.MessageEntity
) – The entity to extract the text from. It must be an entity that belongs to this message.- Returns:
The text of the given entity.
- Return type:
- Raises:
RuntimeError – If the message has no text.
- async pin(disable_notification=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.pin_chat_message( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.pin_chat_message()
.
- async reopen_forum_topic(*, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.reopen_forum_topic( chat_id=message.chat_id, message_thread_id=message.message_thread_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.reopen_forum_topic()
.New in version 20.0.
- async reply_animation(animation, duration=None, width=None, height=None, caption=None, parse_mode=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, caption_entities=None, protect_content=None, message_thread_id=None, has_spoiler=None, thumbnail=None, *, filename=None, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_animation(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_animation()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the animation is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_audio(audio, duration=None, performer=None, title=None, caption=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, allow_sending_without_reply=None, caption_entities=None, protect_content=None, message_thread_id=None, thumbnail=None, *, filename=None, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_audio(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_audio()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the audio is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_chat_action(action, message_thread_id=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_chat_action(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_chat_action()
.New in version 13.2.
- async reply_contact(phone_number=None, first_name=None, last_name=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, vcard=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, *, contact=None, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_contact(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_contact()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the contact is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_copy(from_chat_id, message_id, caption=None, parse_mode=None, caption_entities=None, disable_notification=None, reply_to_message_id=None, allow_sending_without_reply=None, reply_markup=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.copy_message( chat_id=message.chat.id, message_id=message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.copy_message()
.- Keyword Arguments:
If set to
True
, the copy is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.New in version 13.1.
- Returns:
On success, returns the MessageId of the sent message.
- Return type:
- async reply_dice(disable_notification=None, reply_to_message_id=None, reply_markup=None, emoji=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_dice(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_dice()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the dice is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_document(document, caption=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, disable_content_type_detection=None, allow_sending_without_reply=None, caption_entities=None, protect_content=None, message_thread_id=None, thumbnail=None, *, filename=None, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_document(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_document()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the document is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_game(game_short_name, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_game(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_game()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the game is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.
New in version 13.2.
- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_html(text, disable_web_page_preview=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, entities=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_message( update.effective_message.chat_id, parse_mode=ParseMode.HTML, *args, **kwargs, )
Sends a message with HTML formatting.
For the documentation of the arguments, please see
telegram.Bot.send_message()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the message is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_invoice(title, description, payload, provider_token, currency, prices, start_parameter=None, photo_url=None, photo_size=None, photo_width=None, photo_height=None, need_name=None, need_phone_number=None, need_email=None, need_shipping_address=None, is_flexible=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, provider_data=None, send_phone_number_to_provider=None, send_email_to_provider=None, allow_sending_without_reply=None, max_tip_amount=None, suggested_tip_amounts=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_invoice(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_invoice()
.Warning
As of API 5.2
start_parameter
is an optional argument and therefore the order of the arguments had to be changed. Use keyword arguments to make sure that the arguments are passed correctly.New in version 13.2.
Changed in version 13.5: As of Bot API 5.2, the parameter
start_parameter
is optional.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the invoice is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_location(latitude=None, longitude=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, live_period=None, horizontal_accuracy=None, heading=None, proximity_alert_radius=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, *, location=None, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_location(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_location()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the location is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_markdown(text, disable_web_page_preview=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, entities=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_message( update.effective_message.chat_id, parse_mode=ParseMode.MARKDOWN, *args, **kwargs, )
Sends a message with Markdown version 1 formatting.
For the documentation of the arguments, please see
telegram.Bot.send_message()
.Note
'Markdown'
is a legacy mode, retained by Telegram for backward compatibility. You should usereply_markdown_v2()
instead.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the message is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_markdown_v2(text, disable_web_page_preview=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, entities=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_message( update.effective_message.chat_id, parse_mode=ParseMode.MARKDOWN_V2, *args, **kwargs, )
Sends a message with markdown version 2 formatting.
For the documentation of the arguments, please see
telegram.Bot.send_message()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the message is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_media_group(media, disable_notification=None, reply_to_message_id=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None, caption=None, parse_mode=None, caption_entities=None)[source]¶
Shortcut for:
await bot.send_media_group(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_media_group()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the media group is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
An array of the sent Messages.
- Return type:
Tuple[
telegram.Message
]- Raises:
- async reply_photo(photo, caption=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, allow_sending_without_reply=None, caption_entities=None, protect_content=None, message_thread_id=None, has_spoiler=None, *, filename=None, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_photo(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_photo()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the photo is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_poll(question, options, is_anonymous=None, type=None, allows_multiple_answers=None, correct_option_id=None, is_closed=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, explanation=None, explanation_parse_mode=None, open_period=None, close_date=None, allow_sending_without_reply=None, explanation_entities=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_poll(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_poll()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the poll is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_sticker(sticker, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, emoji=None, *, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_sticker(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_sticker()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the sticker is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_text(text, parse_mode=None, disable_web_page_preview=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, entities=None, protect_content=None, message_thread_id=None, *, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_message(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_message()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the message is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_venue(latitude=None, longitude=None, title=None, address=None, foursquare_id=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, foursquare_type=None, google_place_id=None, google_place_type=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, *, venue=None, quote=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_venue(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_venue()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the venue is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_video(video, duration=None, caption=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, width=None, height=None, parse_mode=None, supports_streaming=None, allow_sending_without_reply=None, caption_entities=None, protect_content=None, message_thread_id=None, has_spoiler=None, thumbnail=None, *, filename=None, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_video(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_video()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the video is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_video_note(video_note, duration=None, length=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, allow_sending_without_reply=None, protect_content=None, message_thread_id=None, thumbnail=None, *, filename=None, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_video_note(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_video_note()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the video note is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async reply_voice(voice, duration=None, caption=None, disable_notification=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, allow_sending_without_reply=None, caption_entities=None, protect_content=None, message_thread_id=None, *, filename=None, quote=None, read_timeout=None, write_timeout=20, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.send_voice(update.effective_message.chat_id, *args, **kwargs)
For the documentation of the arguments, please see
telegram.Bot.send_voice()
.- Keyword Arguments:
quote (
bool
, optional) – If set toTrue
, the voice note is sent as an actual reply to this message. Ifreply_to_message_id
is passed, this parameter will be ignored. Default:True
in group chats andFalse
in private chats.- Returns:
On success, instance representing the message posted.
- Return type:
- async set_game_score(user_id, score, force=None, disable_edit_message=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.set_game_score( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.set_game_score()
.Note
You can only edit messages that the bot sent itself (i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, if edited message is sent by the bot, the edited Message is returned, otherwise
True
is returned.- Return type:
- async stop_live_location(reply_markup=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.stop_message_live_location( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.stop_message_live_location()
.Note
You can only edit messages that the bot sent itself (i.e. of the
bot.send_*
family of methods) or channel posts, if the bot is an admin in that channel. However, this behaviour is undocumented and might be changed by Telegram.- Returns:
On success, if edited message is sent by the bot, the edited Message is returned, otherwise
True
is returned.- Return type:
- async stop_poll(reply_markup=None, *, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.stop_poll( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.stop_poll()
.- Returns:
On success, the stopped Poll with the final results is returned.
- Return type:
- property text_html[source]¶
Creates an HTML-formatted string from the markup entities found in the message.
Use this if you want to retrieve the message text with the entities formatted as HTML in the same way the original message was formatted.
Changed in version 13.10: Spoiler entities are now formatted as HTML.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message text with entities formatted as HTML.
- Return type:
- property text_html_urled[source]¶
Creates an HTML-formatted string from the markup entities found in the message.
Use this if you want to retrieve the message text with the entities formatted as HTML. This also formats
telegram.MessageEntity.URL
as a hyperlink.Changed in version 13.10: Spoiler entities are now formatted as HTML.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message text with entities formatted as HTML.
- Return type:
- property text_markdown[source]¶
Creates an Markdown-formatted string from the markup entities found in the message using
telegram.constants.ParseMode.MARKDOWN
.Use this if you want to retrieve the message text with the entities formatted as Markdown in the same way the original message was formatted.
Note
'Markdown'
is a legacy mode, retained by Telegram for backward compatibility. You should usetext_markdown_v2()
instead.Custom emoji entities will be ignored by this function. Instead, the supplied replacement for the emoji will be used.
Changed in version 20.5: Since custom emoji entities are not supported by
MARKDOWN
, this method now raises aValueError
when encountering a custom emoji.- Returns:
Message text with entities formatted as Markdown.
- Return type:
- Raises:
ValueError – If the message contains underline, strikethrough, spoiler or nested entities.
- property text_markdown_urled[source]¶
Creates an Markdown-formatted string from the markup entities found in the message using
telegram.constants.ParseMode.MARKDOWN
.Use this if you want to retrieve the message text with the entities formatted as Markdown. This also formats
telegram.MessageEntity.URL
as a hyperlink.Note
'Markdown'
is a legacy mode, retained by Telegram for backward compatibility. You should usetext_markdown_v2_urled()
instead.Custom emoji entities will be ignored by this function. Instead, the supplied replacement for the emoji will be used.
Changed in version 20.5: Since custom emoji entities are not supported by
MARKDOWN
, this method now raises aValueError
when encountering a custom emoji.- Returns:
Message text with entities formatted as Markdown.
- Return type:
- Raises:
ValueError – If the message contains underline, strikethrough, spoiler or nested entities.
- property text_markdown_v2[source]¶
Creates an Markdown-formatted string from the markup entities found in the message using
telegram.constants.ParseMode.MARKDOWN_V2
.Use this if you want to retrieve the message text with the entities formatted as Markdown in the same way the original message was formatted.
Changed in version 13.10: Spoiler entities are now formatted as Markdown V2.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message text with entities formatted as Markdown.
- Return type:
- property text_markdown_v2_urled[source]¶
Creates an Markdown-formatted string from the markup entities found in the message using
telegram.constants.ParseMode.MARKDOWN_V2
.Use this if you want to retrieve the message text with the entities formatted as Markdown. This also formats
telegram.MessageEntity.URL
as a hyperlink.Changed in version 13.10: Spoiler entities are now formatted as Markdown V2.
Changed in version 20.3: Custom emoji entities are now supported.
- Returns:
Message text with entities formatted as Markdown.
- Return type:
- async unpin(*, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.unpin_chat_message( chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.unpin_chat_message()
.
- async unpin_all_forum_topic_messages(*, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None, api_kwargs=None)[source]¶
Shortcut for:
await bot.unpin_all_forum_topic_messages( chat_id=message.chat_id, message_thread_id=message.message_thread_id, *args, **kwargs )
For the documentation of the arguments, please see
telegram.Bot.unpin_all_forum_topic_messages()
.New in version 20.0.