sendPoll
Envía una encuesta.
Devuelve: Si la llamada tiene éxito, devuelve Message.
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
business_connection_id | String | Opcional | ID de la conexión empresarial |
chat_id | Integer or String | Sí | ID del chat o @username |
message_thread_id | Integer | Opcional | ID del tema del foro |
question | String | Sí | Pregunta (1-300 caracteres) |
question_parse_mode | String | Opcional | Modo de formato de la pregunta: HTML, Markdown, MarkdownV2 |
question_entities | Array of MessageEntity | Opcional | Array JSON de MessageEntity para la pregunta |
options | Array of InputPollOption | Sí | Array JSON de InputPollOption [{"text":"Opción 1"},{"text":"Opción 2"}] |
is_anonymous | Boolean | Opcional | Encuesta anónima (por defecto true) |
type | String | Opcional | quiz o regular |
allows_multiple_answers | Boolean | Opcional | Permitir varias respuestas |
allows_revoting | Boolean | Opcional | Permitir cambiar el voto (Bot API 9.6) |
shuffle_options | Boolean | Opcional | Mezclar las opciones (Bot API 9.6) |
allow_adding_options | Boolean | Opcional | Permitir agregar opciones (Bot API 9.6) |
hide_results_until_closes | Boolean | Opcional | Ocultar los resultados hasta el cierre (Bot API 9.6) |
members_only | Boolean | Opcional | Solo miembros (Bot API 10.0) |
country_codes | Array of String | Opcional | Array JSON de códigos de país (Bot API 10.0) |
correct_option_ids | Array of Integer | Opcional | Array JSON de IDs de las opciones correctas (para quiz), p. ej. [0] |
explanation | String | Opcional | Explicación de la respuesta correcta (para quiz) |
explanation_parse_mode | String | Opcional | Modo de formato de la explicación |
explanation_entities | Array of MessageEntity | Opcional | Array JSON de MessageEntity para la explicación |
explanation_media | InputPollMedia | Opcional | Objeto JSON InputPollMedia (Bot API 10.0) |
open_period | Integer | Opcional | Duración de la encuesta en segundos (5-2628000) |
close_date | Integer | Opcional | Marca de tiempo Unix del cierre de la encuesta |
is_closed | Boolean | Opcional | Cerrar la encuesta de inmediato |
description | String | Opcional | Descripción de la encuesta (0-1024 caracteres, Bot API 9.6) |
description_parse_mode | String | Opcional | Modo de formato de la descripción: HTML, Markdown, MarkdownV2 |
description_entities | Array of MessageEntity | Opcional | Array JSON de MessageEntity para la descripción |
media | InputPollMedia | Opcional | Objeto JSON InputPollMedia — multimedia de la encuesta (Bot API 10.0) |
disable_notification | Boolean | Opcional | Enviar sin sonido |
protect_content | Boolean | Opcional | Proteger el contenido |
allow_paid_broadcast | Boolean | Opcional | Permitir difusión de pago |
message_effect_id | String | Opcional | ID del efecto del mensaje |
reply_parameters | ReplyParameters | Opcional | Objeto JSON ReplyParameters |
reply_markup | InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply | Opcional | Objeto JSON: InlineKeyboardMarkup / ReplyKeyboardMarkup / ReplyKeyboardRemove / ForceReply |
Ejemplo de solicitud
curl
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendPoll" \
-H "Content-Type: application/json" \
-d '{
"chat_id": 123456789,
"question": "Which language do you use?",
"options": [
{
"text": "Python"
},
{
"text": "JavaScript"
}
]
}'
Python
import requests
TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
f"https://api.telegram.org/bot{TOKEN}/sendPoll",
json={
"chat_id": 123456789,
"question": "Which language do you use?",
"options": [
{
"text": "Python"
},
{
"text": "JavaScript"
}
]
},
timeout=30,
)
print(resp.json())
JavaScript
const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/sendPoll`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"chat_id": 123456789,
"question": "Which language do you use?",
"options": [
{
"text": "Python"
},
{
"text": "JavaScript"
}
]
}),
});
console.log(await res.json());
Guía paso a paso: Cómo crear un bot en Telegram paso a paso: de BotFather a tu primer mensaje
Métodos relacionados
stopPollDetiene una encuesta.