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.
Objects of this class are comparable in terms of equality. Two objects of this class are considered equal, if their
id
is equal.-
id
¶ Unique poll identifier.
- Type
str
-
question
¶ Poll question, 1-300 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
-
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-300 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.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 theexplanation
.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 todatetime.datetime
.
-
MAX_OPTION_LENGTH
: ClassVar[int] = 100¶
-
MAX_QUESTION_LENGTH
: ClassVar[int] = 300¶
-
QUIZ
: ClassVar[str] = 'quiz'¶
-
REGULAR
: ClassVar[str] = 'regular'¶
-
parse_explanation_entities
(types=None)¶ Returns a
dict
that mapstelegram.MessageEntity
tostr
. It contains entities from this polls explanation filtered by theirtype
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
explanation_entities
attribute, since it calculates the correct substring from the message text based on UTF-16 codepoints. Seeparse_explanation_entity
for more info.- Parameters
types (List[
str
], optional) – List ofMessageEntity
types as strings. If thetype
attribute of an entity is contained in this list, it will be returned. Defaults totelegram.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
- Raises
RuntimeError – If the poll has no explanation.
-