К содержимому

Боты

Справочник Bot API

Все методы Bot API в Min: параметры и примеры ответов.

Базовый URL: https://minchatapp.com/bot<token>/<method>. Все методы принимают GET и POST. Сервер читает только перечисленные параметры.

Основное

BOT /bot<token>/getMe #

getMe — Информация о боте

Возвращает бота как объект User.

Параметры

Без параметров.

Возвращает: User

curl
curl "https://minchatapp.com/bot$BOT_TOKEN/getMe"
HTTP 200
{
  "ok": true,
  "result": {
    "id": 5,
    "is_bot": true,
    "first_name": "Weather",
    "last_name": "Bot",
    "username": "weather_bot",
    "can_join_groups": true,
    "can_read_all_group_messages": false,
    "supports_inline_queries": false
  }
}
BOT /bot<token>/sendChatAction #

sendChatAction — Действие в чате (заглушка)

Принимается для совместимости и возвращает true; пользователям пока ничего не показывается.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
Чат: id пользователя (> 0) для личного чата или -conversation_id (< 0) для группы/канала, где бот состоит. @username не поддерживается.
action
обязательный
String
например, typing.

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/sendChatAction" \
  -H 'Content-Type: application/json' \
  -d '{"chat_id": 1, "action": "typing"}'
HTTP 200
{
  "ok": true,
  "result": true
}

Сообщения

BOT /bot<token>/sendMessage #

sendMessage — Отправить текст

Текст до 4096 символов. Entities / parse_mode не поддерживаются (отправляется как есть; клиенты отображают разметку MinChat, например **жирный**). Для ссылок в тексте строится превью, если не передан disable_web_page_preview или link_preview_options.is_disabled = true.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
Чат: id пользователя (> 0) для личного чата или -conversation_id (< 0) для группы/канала, где бот состоит. @username не поддерживается.
text
обязательный
String
Текст, 1–4096 символов.
reply_to_message_id
необязательный
Integer
Ответ на сообщение этого же чата.
disable_web_page_preview
необязательный
Boolean
true отключает превью ссылок из текста (устаревший параметр Telegram).
link_preview_options
необязательный
LinkPreviewOptions
Объект или JSON-строка, например {"is_disabled": true}. Поддерживается только is_disabled, остальные поля игнорируются.
reply_markup
необязательный
InlineKeyboardMarkup
Inline-клавиатура (объект или JSON-строка). Поддерживается только InlineKeyboardMarkup.

Возвращает: Message

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/sendMessage" \
  -H 'Content-Type: application/json' \
  -d '{"chat_id": 1, "text": "Pick a city:", "reply_markup": {"inline_keyboard": [[{"text": "Moscow", "callback_data": "city:moscow"}]]}}'
HTTP 200
{
  "ok": true,
  "result": {
    "message_id": 50,
    "date": 1792660008,
    "chat": {
      "id": 1,
      "type": "private",
      "first_name": "Anna",
      "username": "anna_s"
    },
    "from": {
      "id": 5,
      "is_bot": true,
      "first_name": "Weather",
      "last_name": "Bot",
      "username": "weather_bot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "text": "Pick a city:",
    "reply_markup": {
      "inline_keyboard": [
        [
          {
            "text": "Moscow",
            "callback_data": "city:moscow"
          },
          {
            "text": "Berlin",
            "callback_data": "city:berlin"
          }
        ],
        [
          {
            "text": "Open website",
            "url": "https://minchatapp.com"
          }
        ]
      ]
    }
  }
}
BOT /bot<token>/editMessageText #

editMessageText — Изменить текст

Только сообщения этого бота. reply_markup заменяет клавиатуру; пустая строка — убирает. При смене текста превью ссылок пересобирается; disable_web_page_preview / link_preview_options.is_disabled убирает его.

Параметры

Имя Тип Описание
chat_id
необязательный
Integer
Для совместимости; сообщение ищется по message_id.
message_id
обязательный
Integer
id сообщения.
text
обязательный
String
Новый текст, 1–4096.
disable_web_page_preview
необязательный
Boolean
true отключает превью ссылок из текста (устаревший параметр Telegram).
link_preview_options
необязательный
LinkPreviewOptions
Объект или JSON-строка, например {"is_disabled": true}. Поддерживается только is_disabled, остальные поля игнорируются.
reply_markup
необязательный
InlineKeyboardMarkup
Inline-клавиатура (объект или JSON-строка). Поддерживается только InlineKeyboardMarkup.

Возвращает: Message

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/editMessageText" \
  -H 'Content-Type: application/json' \
  -d '{"chat_id": 1, "message_id": 50, "text": "Moscow: +5°C, cloudy ☁️"}'
HTTP 200
{
  "ok": true,
  "result": {
    "message_id": 50,
    "date": 1792660008,
    "chat": {
      "id": 1,
      "type": "private",
      "first_name": "Anna",
      "username": "anna_s"
    },
    "from": {
      "id": 5,
      "is_bot": true,
      "first_name": "Weather",
      "last_name": "Bot",
      "username": "weather_bot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "text": "Moscow: +5°C, cloudy ☁️",
    "reply_markup": {
      "inline_keyboard": [
        [
          {
            "text": "Refresh",
            "callback_data": "refresh:moscow"
          }
        ]
      ]
    }
  }
}
BOT /bot<token>/editMessageReplyMarkup #

editMessageReplyMarkup — Изменить клавиатуру

{"inline_keyboard":[]} или отсутствие reply_markup убирает клавиатуру.

Параметры

Имя Тип Описание
chat_id
необязательный
Integer
Для совместимости.
message_id
обязательный
Integer
id сообщения.
reply_markup
необязательный
InlineKeyboardMarkup
Inline-клавиатура (объект или JSON-строка). Поддерживается только InlineKeyboardMarkup.

Возвращает: Message

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/editMessageReplyMarkup" \
  -H 'Content-Type: application/json' \
  -d '{"chat_id": 1, "message_id": 50, "reply_markup": {"inline_keyboard": []}}'
HTTP 200
{
  "ok": true,
  "result": {
    "message_id": 50,
    "date": 1792660008,
    "chat": {
      "id": 1,
      "type": "private",
      "first_name": "Anna",
      "username": "anna_s"
    },
    "from": {
      "id": 5,
      "is_bot": true,
      "first_name": "Weather",
      "last_name": "Bot",
      "username": "weather_bot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "text": "Moscow: +5°C, cloudy ☁️"
  }
}
BOT /bot<token>/deleteMessage #

deleteMessage — Удалить сообщение

Удаляет у всех сообщение, отправленное этим ботом.

Параметры

Имя Тип Описание
chat_id
необязательный
Integer
Для совместимости.
message_id
обязательный
Integer
id сообщения.

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/deleteMessage" \
  -H 'Content-Type: application/json' \
  -d '{"message_id": 50}'
HTTP 200
{
  "ok": true,
  "result": true
}
BOT /bot<token>/pinChatMessage #

pinChatMessage — Закрепить сообщение

Добавляет сообщение в закреплённые (до 5 на чат). Повторный закреп уже закреплённого возвращает true. В группах появляется служебное «закрепил(а) сообщение», если не передан disable_notification. Бот должен быть владельцем или администратором группы/канала (в личке с пользователем — всегда можно). Ошибки: 403 Forbidden: not enough rights to manage pinned messages in the chat, 400 Bad Request: message not found (нет такого, удалено или из другого чата). 400 Bad Request: too many pinned messages (limit 5) — при превышении лимита.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
id чата: id пользователя для лички, -<id беседы> для группы или канала.
message_id
обязательный
Integer
id сообщения для закрепа.
disable_notification
необязательный
Boolean
true — закрепить тихо (без служебного сообщения в группах).

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/pinChatMessage" \
  -H 'Content-Type: application/json' \
  -d '{"chat_id": -42, "message_id": 50}'
HTTP 200
{
  "ok": true,
  "result": true
}
BOT /bot<token>/unpinChatMessage #

unpinChatMessage — Открепить сообщение

Убирает сообщение из закреплённых. Без message_id открепляется последнее закреплённое; если закрепов нет — true. Бот должен быть владельцем или администратором группы/канала (в личке с пользователем — всегда можно). Ошибки: 403 Forbidden: not enough rights to manage pinned messages in the chat, 400 Bad Request: message not found (нет такого, удалено или из другого чата).

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
id чата: id пользователя для лички, -<id беседы> для группы или канала.
message_id
необязательный
Integer
id сообщения. Если не указан — открепляется последнее.

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/unpinChatMessage" \
  -H 'Content-Type: application/json' \
  -d '{"chat_id": -42, "message_id": 50}'
HTTP 200
{
  "ok": true,
  "result": true
}
BOT /bot<token>/unpinAllChatMessages #

unpinAllChatMessages — Открепить все сообщения

Очищает список закреплённых сообщений чата. Бот должен быть владельцем или администратором группы/канала (в личке — всегда можно). Ошибка: 403 Forbidden: not enough rights to manage pinned messages in the chat.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
id чата: id пользователя для лички, -<id беседы> для группы или канала.

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/unpinAllChatMessages" \
  -H 'Content-Type: application/json' \
  -d '{"chat_id": -42}'
HTTP 200
{
  "ok": true,
  "result": true
}

Файлы и медиа

BOT /bot<token>/sendPhoto #

sendPhoto — Отправить фото

photo — файл (multipart), URL, который сервер скачает (≤ 50 МБ), или file_id, ранее полученный этим ботом. MIME: image/*. Для ссылок в подписи превью не создаётся (как в Telegram); disable_web_page_preview / link_preview_options принимаются для совместимости.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
Чат: id пользователя (> 0) для личного чата или -conversation_id (< 0) для группы/канала, где бот состоит. @username не поддерживается.
photo
обязательный
InputFile | String
Файл, URL или file_id.
caption
необязательный
String
Подпись, 0–1024 символа.
reply_to_message_id
необязательный
Integer
Ответ на сообщение этого же чата.
disable_web_page_preview
необязательный
Boolean
true отключает превью ссылок из текста (устаревший параметр Telegram).
link_preview_options
необязательный
LinkPreviewOptions
Объект или JSON-строка, например {"is_disabled": true}. Поддерживается только is_disabled, остальные поля игнорируются.
reply_markup
необязательный
InlineKeyboardMarkup
Inline-клавиатура (объект или JSON-строка). Поддерживается только InlineKeyboardMarkup.

Возвращает: Message

curl
curl -F chat_id=1 -F caption='Forecast map' -F photo=@file.png \
  "https://minchatapp.com/bot$BOT_TOKEN/sendPhoto"
HTTP 200
{
  "ok": true,
  "result": {
    "message_id": 52,
    "date": 1792660008,
    "chat": {
      "id": 1,
      "type": "private",
      "first_name": "Anna",
      "username": "anna_s"
    },
    "from": {
      "id": 5,
      "is_bot": true,
      "first_name": "Weather",
      "last_name": "Bot",
      "username": "weather_bot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "caption": "Forecast map",
    "photo": [
      {
        "file_id": "dc16f474-b747-4b41-9ba4-f61593ff883e",
        "file_unique_id": "3802d3007f292b24",
        "width": 64,
        "height": 40,
        "file_size": 146
      }
    ]
  }
}
BOT /bot<token>/sendDocument #

sendDocument — Отправить файл

document — файл (multipart), URL, который сервер скачает (≤ 50 МБ), или file_id, ранее полученный этим ботом. MIME: any type.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
Чат: id пользователя (> 0) для личного чата или -conversation_id (< 0) для группы/канала, где бот состоит. @username не поддерживается.
document
обязательный
InputFile | String
Файл, URL или file_id.
caption
необязательный
String
Подпись, 0–1024 символа.
reply_to_message_id
необязательный
Integer
Ответ на сообщение этого же чата.
reply_markup
необязательный
InlineKeyboardMarkup
Inline-клавиатура (объект или JSON-строка). Поддерживается только InlineKeyboardMarkup.

Возвращает: Message

curl
curl -F chat_id=1 -F caption='Forecast map' -F document=@file.pdf \
  "https://minchatapp.com/bot$BOT_TOKEN/sendDocument"
HTTP 200 · byFileId
{
  "ok": true,
  "result": {
    "message_id": 53,
    "date": 1792660008,
    "chat": {
      "id": 1,
      "type": "private",
      "first_name": "Anna",
      "username": "anna_s"
    },
    "from": {
      "id": 5,
      "is_bot": true,
      "first_name": "Weather",
      "last_name": "Bot",
      "username": "weather_bot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "caption": "Same file, re-sent by file_id",
    "document": {
      "file_id": "009953e4-f1d2-466f-aea9-b94328ecec7a",
      "file_unique_id": "3802d3007f292b24",
      "file_name": "map.png",
      "mime_type": "image/png",
      "file_size": 146
    }
  }
}
BOT /bot<token>/sendVideo #

sendVideo — Отправить видео

video — файл (multipart), URL, который сервер скачает (≤ 50 МБ), или file_id, ранее полученный этим ботом. MIME: video/*. Для ссылок в подписи превью не создаётся (как в Telegram); disable_web_page_preview / link_preview_options принимаются для совместимости.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
Чат: id пользователя (> 0) для личного чата или -conversation_id (< 0) для группы/канала, где бот состоит. @username не поддерживается.
video
обязательный
InputFile | String
Файл, URL или file_id.
caption
необязательный
String
Подпись, 0–1024 символа.
reply_to_message_id
необязательный
Integer
Ответ на сообщение этого же чата.
disable_web_page_preview
необязательный
Boolean
true отключает превью ссылок из текста (устаревший параметр Telegram).
link_preview_options
необязательный
LinkPreviewOptions
Объект или JSON-строка, например {"is_disabled": true}. Поддерживается только is_disabled, остальные поля игнорируются.
reply_markup
необязательный
InlineKeyboardMarkup
Inline-клавиатура (объект или JSON-строка). Поддерживается только InlineKeyboardMarkup.

Возвращает: Message

curl
curl -F chat_id=1 -F caption='Forecast map' -F video=@file.mp4 \
  "https://minchatapp.com/bot$BOT_TOKEN/sendVideo"
BOT /bot<token>/sendAudio #

sendAudio — Отправить аудио

audio — файл (multipart), URL, который сервер скачает (≤ 50 МБ), или file_id, ранее полученный этим ботом. MIME: audio/* or application/ogg.

Параметры

Имя Тип Описание
chat_id
обязательный
Integer
Чат: id пользователя (> 0) для личного чата или -conversation_id (< 0) для группы/канала, где бот состоит. @username не поддерживается.
audio
обязательный
InputFile | String
Файл, URL или file_id.
caption
необязательный
String
Подпись, 0–1024 символа.
reply_to_message_id
необязательный
Integer
Ответ на сообщение этого же чата.
reply_markup
необязательный
InlineKeyboardMarkup
Inline-клавиатура (объект или JSON-строка). Поддерживается только InlineKeyboardMarkup.

Возвращает: Message

curl
curl -F chat_id=1 -F caption='Forecast map' -F audio=@file.mp3 \
  "https://minchatapp.com/bot$BOT_TOKEN/sendAudio"
BOT /bot<token>/getFile #

getFile — Информация о файле

Возвращает file_path для файлов, отправленных этим ботом (file_id привязан к боту). Скачивание: GET /file/bot<token>/<file_path>.

Параметры

Имя Тип Описание
file_id
обязательный
String
id файла.

Возвращает: File

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/getFile" \
  -H 'Content-Type: application/json' \
  -d '{"file_id": "dc16f474-b747-4b41-9ba4-f61593ff883e"}'
HTTP 200
{
  "ok": true,
  "result": {
    "file_id": "dc16f474-b747-4b41-9ba4-f61593ff883e",
    "file_unique_id": "3802d3007f292b245acabbcc606f7e00",
    "file_size": 146,
    "file_path": "media/cc/fc/ccfcc4cd72fa42b444b4c2c4837bb847ae6897be6fc4ad9a59eb63cce11df4f8.png"
  }
}

Inline-клавиатуры

BOT /bot<token>/answerCallbackQuery #

answerCallbackQuery — Ответить на нажатие кнопки

Сохраняет ответ на callback-запрос (учитывается первый). text ≤ 200 символов.

Параметры

Имя Тип Описание
callback_query_id
обязательный
String
callback_query.id из апдейта.
text
необязательный
String
Текст уведомления.
show_alert
необязательный
Boolean
Показать алертом вместо тоста.

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/answerCallbackQuery" \
  -H 'Content-Type: application/json' \
  -d '{"callback_query_id": "1", "text": "Moscow: +5°C, cloudy"}'
HTTP 200
{
  "ok": true,
  "result": true
}

Получение обновлений

BOT /bot<token>/getUpdates #

getUpdates — Получить апдейты (long polling)

Возвращает накопленные апдейты по порядку. Передайте offset = последний update_id + 1 для подтверждения (старые удаляются). 409, пока установлен webhook.

Параметры

Имя Тип Описание
offset
необязательный
Integer
Первый возвращаемый update_id; подтверждает предыдущие.
limit
необязательный
Integer
1–100, по умолчанию 100.
timeout
необязательный
Integer
Секунды ожидания, 0–50 (по умолчанию 0).

Возвращает: Array of Update

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/getUpdates" \
  -H 'Content-Type: application/json' \
  -d '{"offset": 0, "timeout": 30}'
HTTP 200
{
  "ok": true,
  "result": [
    {
      "update_id": 1,
      "message": {
        "message_id": 51,
        "date": 1792660008,
        "chat": {
          "id": 1,
          "type": "private",
          "first_name": "Anna",
          "username": "anna_s"
        },
        "from": {
          "id": 1,
          "is_bot": false,
          "first_name": "Anna",
          "last_name": "Smith",
          "username": "anna_s"
        },
        "text": "/weather Moscow"
      }
    },
    {
      "update_id": 3,
      "callback_query": {
        "id": "1",
        "from": {
          "id": 1,
          "is_bot": false,
          "first_name": "Anna",
          "last_name": "Smith",
          "username": "anna_s"
        },
        "chat_instance": "8",
        "data": "city:moscow",
        "message": {
          "message_id": 50,
          "date": 1792660008,
          "chat": {
            "id": 1,
            "type": "private",
            "first_name": "Anna",
            "username": "anna_s"
          },
          "from": {
            "id": 5,
            "is_bot": true,
            "first_name": "Weather",
            "last_name": "Bot",
            "username": "weather_bot",
            "can_join_groups": true,
            "can_read_all_group_messages": false,
            "supports_inline_queries": false
          },
          "text": "Pick a city:",
          "reply_markup": {
            "inline_keyboard": [
              [
                {
                  "text": "Moscow",
                  "callback_data": "city:moscow"
                },
                {
                  "text": "Berlin",
                  "callback_data": "city:berlin"
                }
              ],
              [
                {
                  "text": "Open website",
                  "url": "https://minchatapp.com"
                }
              ]
            ]
          }
        }
      }
    }
  ]
}
BOT /bot<token>/setWebhook #

setWebhook — Установить webhook

Только HTTPS. Каждый апдейт отправляется POST-запросом с JSON; ответ 2xx — доставлено, иначе повтор (3 попытки, интервал 30 с). С secret_token передаётся заголовок X-Telegram-Bot-Api-Secret-Token. Накопленные апдейты отправляются сразу. Пустой url удаляет webhook.

Параметры

Имя Тип Описание
url
обязательный
String
HTTPS URL.
secret_token
необязательный
String
Возвращается в X-Telegram-Bot-Api-Secret-Token.
max_connections
необязательный
Integer
Сохраняется и отображается (по умолчанию 40).
allowed_updates
необязательный
Array of String
Сохраняется и отображается; фильтрация пока не применяется.

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/setWebhook" \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com/minchat-webhook"}'
HTTP 200
{
  "ok": true,
  "result": true
}
BOT /bot<token>/deleteWebhook #

deleteWebhook — Удалить webhook

Возврат к getUpdates.

Параметры

Без параметров.

Возвращает: True

curl
curl "https://minchatapp.com/bot$BOT_TOKEN/deleteWebhook"
HTTP 200
{
  "ok": true,
  "result": true
}
BOT /bot<token>/getWebhookInfo #

getWebhookInfo — Статус webhook

url пустой, если webhook не задан. Есть pending_update_count и последняя ошибка.

Параметры

Без параметров.

Возвращает: WebhookInfo

curl
curl "https://minchatapp.com/bot$BOT_TOKEN/getWebhookInfo"
HTTP 200
{
  "ok": true,
  "result": {
    "url": "https://example.com/minchat-webhook",
    "has_custom_certificate": false,
    "pending_update_count": 0,
    "max_connections": 40
  }
}

Команды

BOT /bot<token>/setMyCommands #

setMyCommands — Задать список команд

Заменяет команды для scope.type (по умолчанию default) и language_code. command ≤ 32, description ≤ 256 символов.

Параметры

Имя Тип Описание
commands
обязательный
Array of BotCommand
[{"command":"start","description":"…"}] (объект или JSON-строка).
scope
необязательный
BotCommandScope
Сохраняется только type.
language_code
необязательный
String
Код языка, пусто — все.

Возвращает: True

curl
curl -X POST "https://minchatapp.com/bot$BOT_TOKEN/setMyCommands" \
  -H 'Content-Type: application/json' \
  -d '{"commands": [{"command": "start", "description": "Start the bot"}]}'
HTTP 200
{
  "ok": true,
  "result": true
}
BOT /bot<token>/getMyCommands #

getMyCommands — Получить список команд

Параметры

Имя Тип Описание
scope
необязательный
BotCommandScope
Область (type).
language_code
необязательный
String
Код языка.

Возвращает: Array of BotCommand

curl
curl "https://minchatapp.com/bot$BOT_TOKEN/getMyCommands"
HTTP 200
{
  "ok": true,
  "result": [
    {
      "command": "start",
      "description": "Start the bot"
    },
    {
      "command": "weather",
      "description": "Current weather"
    }
  ]
}

Типы#

Update #

update_idInteger
messageMessage?
edited_messageMessage?
callback_queryCallbackQuery?

User #

idInteger
is_botBoolean
first_nameString
last_nameString?
usernameString?
can_join_groupsBoolean? (bots)
can_read_all_group_messagesBoolean? (bots)
supports_inline_queriesBoolean? (bots)

Chat #

idInteger — user id (private) or -conversation_id
typeprivate | group | channel
titleString? (group/channel)
first_nameString? (private)
usernameString?

Message #

message_idInteger
dateInteger (Unix time)
chatChat
fromUser?
sender_chatChat? (channels)
reply_to_messageMessage?
textString?
captionString?
photoPhotoSize[]?
videoVideo?
audioAudio?
documentDocument?
reply_markupInlineKeyboardMarkup?

CallbackQuery #

idString
fromUser
chat_instanceString (conversation id)
dataString
messageMessage

InlineKeyboardMarkup #

inline_keyboardInlineKeyboardButton[][]

InlineKeyboardButton #

textString, ≤ 64
callback_dataString? ≤ 64 bytes
urlString?

LinkPreviewOptions #

is_disabledBoolean?

PhotoSize / Document / Video / Audio #

file_idString (UUID)
file_unique_idString
file_sizeInteger
width, heightInteger (photo, video)
durationInteger (video, audio)
mime_typeString?
file_nameString? (document, audio)

File #

file_idString
file_unique_idString
file_sizeInteger
file_pathString — use /file/bot<token>/<file_path>

BotCommand #

commandString, ≤ 32
descriptionString, ≤ 256

WebhookInfo #

urlString (empty if none)
has_custom_certificateBoolean (always false)
pending_update_countInteger
last_error_dateInteger?
last_error_messageString?
max_connectionsInteger?
allowed_updatesString[]?