Poll

Raw MD
This object contains information about a poll

This object contains information about a poll.

Fields

FieldTypeRequiredDescription
idStringAlwaysUnique poll identifier
questionStringAlwaysPoll question, 1-300 characters
question_entitiesArray of MessageEntityOptionalSpecial entities that appear in the question. Currently, only custom emoji entities are allowed in poll questions
optionsArray of PollOptionAlwaysList of poll options
total_voter_countIntegerAlwaysTotal number of users that voted in the poll
is_closedBooleanAlwaysTrue, if the poll is closed
is_anonymousBooleanAlwaysTrue, if the poll is anonymous
typeStringAlwaysPoll type, currently can be "regular" or "quiz"
allows_multiple_answersBooleanAlwaysTrue, if the poll allows multiple answers
allows_revotingBooleanAlwaysTrue, if the poll allows to change the chosen answer options
members_onlyBooleanAlwaysTrue if voting is limited to users who have been members of the chat where the poll was originally sent for more than 24 hours
country_codesArray of StringOptionalA list of two-letter ISO 3166-1 alpha-2 country codes indicating the countries from which users can vote in the poll. The country code "FT" is used for users with anonymous numbers. If omitted, then users from any country can participate in the poll.
correct_option_idsArray of IntegerOptionalArray of 0-based identifiers of the correct answer options. Available only for polls in quiz mode which are closed or were sent (not forwarded) by the bot or to the private chat with the bot.
explanationStringOptionalText 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_entitiesArray of MessageEntityOptionalSpecial entities like usernames, URLs, bot commands, etc. that appear in the explanation
explanation_mediaPollMediaOptionalMedia added to the quiz explanation
open_periodIntegerOptionalAmount of time in seconds the poll will be active after creation
close_dateIntegerOptionalPoint in time (Unix timestamp) when the poll will be automatically closed
descriptionStringOptionalDescription of the poll; for polls inside the Message object only
description_entitiesArray of MessageEntityOptionalSpecial entities like usernames, URLs, bot commands, etc. that appear in the description
mediaPollMediaOptionalMedia added to the poll description; for polls inside the Message object only
Botlify Cloud Runtime
Credentials are auto-injected in .env — always load them with getenv(): BOT_TOKEN, ADMIN_CHAT_ID, BOT_USERNAME. Main database: database.db (SQLite, WAL mode). Runtime errors: error.log. Quick test: send to $ADMIN_CHAT_ID. Full details: Runtime Reference.