Skip to content
Back to top
View this page

# PollOptionAdded

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

  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.

  Available In

  `telegram.Message.poll_option_added`

  Added in version 22.8.

  Parameters:

    - option_persistent_id (`str`) – Unique identifier of the added option.

    - option_text (`str`) – Option text.

    - poll_message (`telegram.MaybeInaccessibleMessage`, 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_text_entities (Sequence[`telegram.MessageEntity`], optional) – Special entities that appear in the `option_text`.

  option_persistent_id

    Unique identifier of the added option.

    Type:

      `str`

  option_text

    Option text.

    Type:

      `str`

  poll_message

    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

    Optional. Special entities that appear in the `option_text`.

    Type:

      tuple[`telegram.MessageEntity`]

  classmethod de_json(data, bot=None)

    See `telegram.TelegramObject.de_json()`.

  parse_option_text_entities(types=None)

    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)

    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`