StaticGramBot API

sendPollЧастично

Use this method to send a native poll. On success, the sent Message is returned.

Поддерживается частично

regular/quiz, anonymous/public, multiple answers, revoting, shuffle, hide results, open_period/close_date, is_closed, description, poll/option media (photo/video/animation/document/audio); members_only, country_codes, explanation_media → 400; allow_adding_options ignored; quiz needs exactly one correct option; business_connection_id supported (poll created by the account)

Параметры

business_connection_idStringнеобязательный
Unique identifier of the business connection on behalf of which the message will be sent
chat_idInteger or Stringобязательный
Unique identifier for the target chat or username of the target bot, supergroup or channel in the format @username. Polls can't be sent to channel direct messages chats.
message_thread_idIntegerнеобязательный
Unique identifier for the target message thread (topic) of a forum; for forum supergroups and private chats of bots with forum topic mode enabled only
questionStringобязательный
Poll question, 1-300 characters
question_parse_modeStringнеобязательный
Mode for parsing entities in the question. See formatting options for more details. Currently, only custom emoji entities are allowed.
question_entitiesArray of MessageEntityнеобязательный
A JSON-serialized list of special entities that appear in the poll question. It can be specified instead of question_parse_mode.
optionsArray of InputPollOptionобязательный
A JSON-serialized list of 1-12 answer options
is_anonymousBooleanнеобязательный
True, if the poll needs to be anonymous, defaults to True
typeStringнеобязательный
Poll type, “quiz” or “regular”, defaults to “regular”
allows_multiple_answersBooleanнеобязательный
Pass True if the poll allows multiple answers, defaults to False
allows_revotingBooleanнеобязательный
Pass True if the poll allows to change chosen answer options, defaults to False for quizzes and to True for regular polls
shuffle_optionsBooleanнеобязательный
Pass True if the poll options must be shown in random order
allow_adding_optionsBooleanнеобязательный
Pass True if answer options can be added to the poll after creation; not supported for anonymous polls and quizzes
hide_results_until_closesBooleanнеобязательный
Pass True if poll results must be shown only after the poll closes
members_onlyBooleanнеобязательный
Pass True if voting is limited to users who have been members of the chat where the poll is being sent for more than 24 hours; for channel chats only
country_codesArray of Stringнеобязательный
A JSON-serialized list of 0-12 two-letter ISO 3166-1 alpha-2 country codes indicating the countries from which users can vote in the poll; for channel chats only. Use “FT” as a country code to allow users with anonymous numbers to vote. If omitted or empty, then users from any country can participate in the poll.
correct_option_idsArray of Integerнеобязательный
A JSON-serialized list of monotonically increasing 0-based identifiers of the correct answer options, required for polls in quiz mode
explanationStringнеобязательный
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 with at most 2 line feeds after entities parsing
explanation_parse_modeStringнеобязательный
Mode for parsing entities in the explanation. See formatting options for more details.
explanation_entitiesArray of MessageEntityнеобязательный
A JSON-serialized list of special entities that appear in the poll explanation. It can be specified instead of explanation_parse_mode.
explanation_mediaInputPollMediaнеобязательный
Media added to the quiz explanation
open_periodIntegerнеобязательный
Amount of time in seconds the poll will be active after creation, 5-2628000. Can't be used together with close_date.
close_dateIntegerнеобязательный
Point in time (Unix timestamp) when the poll will be automatically closed. Must be at least 5 and no more than 2628000 seconds in the future. Can't be used together with open_period.
is_closedBooleanнеобязательный
Pass True if the poll needs to be immediately closed. This can be useful for poll preview.
descriptionStringнеобязательный
Description of the poll to be sent, 0-1024 characters after entities parsing
description_parse_modeStringнеобязательный
Mode for parsing entities in the poll description. See formatting options for more details.
description_entitiesArray of MessageEntityнеобязательный
A JSON-serialized list of special entities that appear in the poll description, which can be specified instead of description_parse_mode
mediaInputPollMediaнеобязательный
Media added to the poll description
disable_notificationBooleanнеобязательный
Sends the message silently. Users will receive a notification with no sound.
protect_contentBooleanнеобязательный
Protects the contents of the sent message from forwarding and saving
allow_paid_broadcastBooleanнеобязательный
Pass True to allow up to 1000 messages per second, ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot's balance.
message_effect_idStringнеобязательный
Unique identifier of the message effect to be added to the message; for private chats only
reply_parametersReplyParametersнеобязательный
Description of the message to reply to
Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove a reply keyboard or to force a reply from the user.

Пример запроса

curl
curl "https://api.staticgram.top/bot$TOKEN/sendPoll" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": 123456789,
    "question": "Ваш выбор?",
    "options": [
      {
        "text": "Да"
      },
      {
        "text": "Нет"
      }
    ]
  }'
aiogram 3
from aiogram import Bot
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer

session = AiohttpSession(api=TelegramAPIServer.from_base("https://api.staticgram.top"))
bot = Bot(TOKEN, session=session)

result = await bot.send_poll(
    chat_id=123456789,
    question="Ваш выбор?",
    options=[{"text": "Да"}, {"text": "Нет"}],
)
JavaScript
const res = await fetch(`https://api.staticgram.top/bot${TOKEN}/sendPoll`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "chat_id": 123456789,
    "question": "Ваш выбор?",
    "options": [
      {
        "text": "Да"
      },
      {
        "text": "Нет"
      }
    ]
  }),
});
const data = await res.json();

Ответ (Message)

JSON
{
  "ok": true,
  "result": {
    "message_id": 1,
    "date": 1790000000,
    "chat": {
      "id": 1780243423,
      "type": "private"
    }
  }
}

Описания методов и типов взяты из официальной документации Telegram Bot API (Bot API 10.3). Адрес API: https://api.staticgram.top