PollOptionAdded

class telegram.PollOptionAdded(option_persistent_id, option_text, poll_message=None, option_text_entities=None, *, api_kwargs=None)[source]

Bases: telegram.TelegramObject

Describes a service message about an option added to a poll.

Objects of this class are comparable in terms of equality. Two objects of this class are considered equal, if their option_persistent_id, and option_text are equal.

Added in version 22.8.

Parameters:
option_persistent_id[source]

Unique identifier of the added option.

Type:

str

option_text[source]

Option text.

Type:

str

poll_message[source]

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.

Type:

telegram.MaybeInaccessibleMessage

option_text_entities[source]

Optional. Special entities that appear in the option_text.

Type:

tuple[telegram.MessageEntity]

classmethod de_json(data, bot=None)[source]

See telegram.TelegramObject.de_json().

parse_option_text_entities(types=None)[source]

Returns a dict that maps telegram.MessageEntity to str. It contains entities from this polls option text filtered by their type attribute as the key, and the text that each entity belongs to as the value of the dict.

Note

This method should always be used instead of the option_text_entities attribute, since it calculates the correct substring from the message text based on UTF-16 codepoints. See parse_entity for more info.

Parameters:

types (list[str], optional) – List of MessageEntity types as strings. If the type attribute of an entity is contained in this list, it will be returned. Defaults to telegram.MessageEntity.ALL_TYPES.

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_option_text_entity(entity)[source]

Returns the text in option_text from a given telegram.MessageEntity of option_text_entities.

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

Returns:

The text of the given entity.

Return type:

str