telegram.Poll

class telegram.Poll(id, question, options, total_voter_count, is_closed, is_anonymous, type, allows_multiple_answers, correct_option_id=None, explanation=None, explanation_entities=None, open_period=None, close_date=None, **kwargs)

Bases: telegram.base.TelegramObject

This object contains information about a poll.

id

Unique poll identifier.

Type:str
question

Poll question, 1-255 characters.

Type:str
options

List of poll options.

Type:List[PollOption]
total_voter_count

Total number of users that voted in the poll.

Type:int
is_closed

True, if the poll is closed.

Type:bool
is_anonymous

True, if the poll is anonymous.

Type:bool
type

Poll type, currently can be REGULAR or QUIZ.

Type:str
allows_multiple_answers

True, if the poll allows multiple answers.

Type:bool
correct_option_id

Optional. Identifier of the correct answer option.

Type:int
explanation

Optional. Text that is shown when a user chooses an incorrect answer or taps on the lamp icon in a quiz-style poll.

Type:str
explanation_entities

Optional. Special entities like usernames, URLs, bot commands, etc. that appear in the explanation.

Type:List[telegram.MessageEntity]
open_period

Optional. Amount of time in seconds the poll will be active after creation.

Type:int
close_date

Optional. Point in time when the poll will be automatically closed.

Type:datetime.datetime
Parameters:
  • id (str) – Unique poll identifier.
  • question (str) – Poll question, 1-255 characters.
  • options (List[PollOption]) – List of poll options.
  • is_closed (bool) – True, if the poll is closed.
  • is_anonymous (bool) – True, if the poll is anonymous.
  • type (str) – Poll type, currently can be REGULAR or QUIZ.
  • allows_multiple_answers (bool) – True, if the poll allows multiple answers.
  • correct_option_id (int, optional) – 0-based identifier of the correct answer option. Available only for polls in the quiz mode, which are closed, or was sent (not forwarded) by the bot or to the private chat with the bot.
  • explanation (str, 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 (List[telegram.MessageEntity], optional) – Special entities like usernames, URLs, bot commands, etc. that appear in the explanation.
  • open_period (int, optional) – Amount of time in seconds the poll will be active after creation.
  • close_date (datetime.datetime, optional) – Point in time (Unix timestamp) when the poll will be automatically closed. Converted to datetime.datetime.
QUIZ = 'quiz'

‘quiz’

Type:str
REGULAR = 'regular'

‘regular’

Type:str
parse_explanation_entities(types=None)

Returns a dict that maps telegram.MessageEntity to str. It contains entities from this polls explanation 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 explanation_entities attribute, since it calculates the correct substring from the message text based on UTF-16 codepoints. See parse_explanation_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_explanation_entity(entity)

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