Telegram Bot API
🌐 فارسی

sendPoll

دسته‌بندی: نظرسنجی‌ها · Bot API 10.3 · مستندات رسمی

نظرسنجی ارسال می‌کند.

مقدار بازگشتی: در صورت موفقیت، Message برمی‌گرداند.

پارامترها

پارامترنوعالزامیتوضیحات
business_connection_idStringاختیاریشناسه اتصال تجاری
chat_idInteger or Stringبلهشناسه چت یا @username
message_thread_idIntegerاختیاریشناسه تاپیک انجمن
questionStringبلهسؤال (1-300 کاراکتر)
question_parse_modeStringاختیاریحالت قالب‌بندی سؤال: HTML، Markdown یا MarkdownV2
question_entitiesArray of MessageEntityاختیاریآرایه JSON از نوع MessageEntity برای سؤال
optionsArray of InputPollOptionبلهآرایه JSON از نوع InputPollOption [{"text":"Option 1"},{"text":"Option 2"}]
is_anonymousBooleanاختیارینظرسنجی ناشناس (پیش‌فرض true)
typeStringاختیاریquiz یا regular
allows_multiple_answersBooleanاختیاریاجازه انتخاب چند پاسخ
allows_revotingBooleanاختیاریاجازه تغییر رأی (Bot API 9.6)
shuffle_optionsBooleanاختیاریترتیب تصادفی گزینه‌ها (Bot API 9.6)
allow_adding_optionsBooleanاختیاریاجازه افزودن گزینه (Bot API 9.6)
hide_results_until_closesBooleanاختیاریپنهان کردن نتایج تا بسته شدن نظرسنجی (Bot API 9.6)
members_onlyBooleanاختیاریفقط اعضا (Bot API 10.0)
country_codesArray of Stringاختیاریآرایه JSON از کدهای کشور (Bot API 10.0)
correct_option_idsArray of Integerاختیاریآرایه JSON از شناسه‌های گزینه‌های صحیح (برای نوع quiz)، مثلاً [0]
explanationStringاختیاریتوضیح پاسخ صحیح (برای نوع quiz)
explanation_parse_modeStringاختیاریحالت قالب‌بندی توضیح
explanation_entitiesArray of MessageEntityاختیاریآرایه JSON از نوع MessageEntity برای توضیح
explanation_mediaInputPollMediaاختیاریآبجکت JSON از نوع InputPollMedia (Bot API 10.0)
open_periodIntegerاختیاریمدت باز بودن نظرسنجی به ثانیه (5-2628000)
close_dateIntegerاختیاریزمان بسته شدن نظرسنجی (Unix timestamp)
is_closedBooleanاختیاریبستن فوری نظرسنجی
descriptionStringاختیاریتوضیحات نظرسنجی (0-1024 کاراکتر، Bot API 9.6)
description_parse_modeStringاختیاریحالت قالب‌بندی توضیحات: HTML، Markdown یا MarkdownV2
description_entitiesArray of MessageEntityاختیاریآرایه JSON از نوع MessageEntity برای توضیحات
mediaInputPollMediaاختیاریآبجکت JSON از نوع InputPollMedia — رسانه نظرسنجی (Bot API 10.0)
disable_notificationBooleanاختیاریارسال بی‌صدا
protect_contentBooleanاختیاریمحافظت از محتوا
allow_paid_broadcastBooleanاختیاریاجازه ارسال انبوه پولی
message_effect_idStringاختیاریشناسه افکت پیام
reply_parametersReplyParametersاختیاریآبجکت JSON از نوع ReplyParameters
reply_markupInlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReplyاختیاریآبجکت JSON از نوع InlineKeyboardMarkup / ReplyKeyboardMarkup / ReplyKeyboardRemove / ForceReply

توضیحات پارامترها خلاصه‌اند؛ متن کامل را در مستندات رسمی ببینید.

نمونه درخواست

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());

راهنمای گام‌به‌گام: ساخت ربات تلگرام: آموزش قدم‌به‌قدم از BotFather تا اولین پیام با Python