Медиабиблиотека

Чтобы бот отправлял изображения и файлы, их нужно где-то хранить. У GetMyBot есть собственная медиабиблиотека: вы загружаете файл один раз, а платформа сама подставляет его в сообщения. Библиотека дедуплицирует одинаковые файлы и относится к premium-возможностям; для базового сценария есть бесплатная загрузка через Telegram-чат.

Своё хранилище

Загруженный файл сохраняется в хранилище платформы и получает идентификатор медиа. В блоке сообщения «Фото» или «Файл» можно сослаться на этот идентификатор — при отправке платформа сама подставит нужный файл. Загрузка: POST /api/bots/{id}/media, чтение для предпросмотра: GET /api/bots/{id}/media/{mediaID}.

Дедупликация по содержимому

Каждый файл идентифицируется по sha256-хешу содержимого. Если вы загрузите тот же файл повторно, платформа не создаст дубль, а вернёт ссылку на уже сохранённый объект. Так одинаковые картинки не занимают место дважды, а идентификатор остаётся стабильным.

Premium-доступ

Медиабиблиотека — premium-возможность (image_storage). Она доступна на платном тарифе, который её включает; без активной подписки загрузка в библиотеку возвращает ошибку 402 (требуется оплата). Предпросмотр уже сохранённых файлов работает без ограничений.

Размер одного файла при загрузке в библиотеку ограничен 2 МиБ.

Загрузка через Telegram-чат (без premium)

Если premium-библиотека недоступна, есть бесплатный путь: sink-uploadPOST /api/bots/{id}/chats/{chatID}/sink-upload. Файл отправляется через указанный Telegram-чат, а в ответ возвращается file_id Telegram, который можно использовать в сообщениях бота. Этот способ доступен всем без premium-гейта; ограничение на размер — те же 2 МиБ.

Что использовать

  • Регулярно переиспользуете одни и те же картинки и хотите дедупликацию и предпросмотр — медиабиблиотека (premium).
  • Нужно быстро получить file_id без подписки — sink-upload через служебный чат.

Что дальше