Telegram Bot API
🌐 Русский

sendDocument

Категория: Медиа · Bot API 10.3 · Официальная документация

Отправляет документ.

Возвращает: При успехе возвращает Message.

Параметры

ПараметрТипОбязательныйОписание
business_connection_idStringНетID бизнес-подключения
chat_idInteger or StringДаID чата или @username
message_thread_idIntegerНетID темы форума
direct_messages_topic_idIntegerНетID темы прямых сообщений (Bot API 10.0)
ephemeral_message_parametersEphemeralMessageParametersНетJSON объект EphemeralMessageParameters — эфемерное сообщение, видимое одному пользователю (Bot API 10.3)
documentInputFile or StringДаURL документа или file_id
thumbnailInputFile or StringНетURL миниатюры или file_id
captionStringНетПодпись (0-1024)
parse_modeStringНетHTML, Markdown, MarkdownV2
caption_entitiesArray of MessageEntityНетJSON массив MessageEntity
disable_content_type_detectionBooleanНетОтключить автоопределение типа контента
disable_notificationBooleanНетБез звука
protect_contentBooleanНетЗащитить контент
allow_paid_broadcastBooleanНетРазрешить платную трансляцию
message_effect_idStringНетID эффекта сообщения
suggested_post_parametersSuggestedPostParametersНетJSON объект SuggestedPostParameters
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/sendDocument" \
  -H "Content-Type: application/json" \
  -d '{"chat_id":123456789,"document":"https://example.com/file.pdf"}'

Python

import requests

TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
    f"https://api.telegram.org/bot{TOKEN}/sendDocument",
    json={
        "chat_id": 123456789,
        "document": "https://example.com/file.pdf"
    },
    timeout=30,
)
print(resp.json())

JavaScript

const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/sendDocument`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "chat_id": 123456789,
    "document": "https://example.com/file.pdf"
  }),
});
console.log(await res.json());

Пошаговое руководство: Лимиты Telegram Bot API: сообщения в секунду, ошибка 429 и размеры файлов