Telegram Bot API
🌐 한국어

sendPoll

카테고리: 투표 · Bot API 10.3 · 공식 문서

투표를 전송합니다.

반환값: 성공 시 반환값: Message.

매개변수

매개변수타입필수설명
business_connection_idString선택비즈니스 연결 ID
chat_idInteger or String예채팅 ID 또는 @username
message_thread_idInteger선택포럼 토픽 ID
questionString예질문 (1-300자)
question_parse_modeString선택질문 파싱 모드: HTML, Markdown, MarkdownV2
question_entitiesArray of MessageEntity선택질문용 MessageEntity JSON 배열
optionsArray of InputPollOption예InputPollOption JSON 배열 [{"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선택정답 선택지 ID JSON 배열 (퀴즈용), 예: [0]
explanationString선택정답 해설 (퀴즈용)
explanation_parse_modeString선택해설 파싱 모드
explanation_entitiesArray of MessageEntity선택해설용 MessageEntity JSON 배열
explanation_mediaInputPollMedia선택InputPollMedia JSON 객체 (Bot API 10.0)
open_periodInteger선택투표 진행 시간(초, 5-2628000)
close_dateInteger선택투표 종료 Unix 타임스탬프
is_closedBoolean선택투표 즉시 종료
descriptionString선택투표 설명 (0-1024자, Bot API 9.6)
description_parse_modeString선택설명 파싱 모드: HTML, Markdown, MarkdownV2
description_entitiesArray of MessageEntity선택설명용 MessageEntity JSON 배열
mediaInputPollMedia선택InputPollMedia JSON 객체 — 투표 미디어 (Bot API 10.0)
disable_notificationBoolean선택알림 없이 전송
protect_contentBoolean선택콘텐츠 보호
allow_paid_broadcastBoolean선택유료 브로드캐스트 허용
message_effect_idString선택메시지 효과 ID
reply_parametersReplyParameters선택ReplyParameters JSON 객체
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로 생성하고 첫 메시지 보내기