Local Telegram Bot API через Docker
Подробное руководство по развёртыванию и использованию локального сервера Telegram Bot API для работы с файлами до 2 ГБ, снижения задержек и гибкой настройки вебхуков.
privacy
Эта заметка участвует в semantic memory.
AI Summary
-
Короткий обзор сути: Local Bot API — это собственный сервер, который заменяет стандартный HTTPS-интерфейс Telegram, позволяя обходить жёсткие лимиты на размер файлов и вебхуки.
-
Ключевые тезисы: • Загрузка файлов до 2000 МБ (стандарт — 50 МБ), скачивание до 2000 МБ (стандарт — 20 МБ). • Поддержка URI file:// и локальных путей без HTTP-запросов. • Webhook на любом IP/порту, до 100 000 одновременных соединений, HTTP вместо HTTPS. • Метод getFile возвращает абсолютный локальный путь. • Снижение latency за счёт географической близости сервера.
-
Важные детали и нюансы: • Требуются TELEGRAM_API_ID и TELEGRAM_API_HASH с my.telegram.org. • Docker Compose и Dockerfile на Ubuntu 24.04 с libssl3, multi-stage build, strip бинарника, HEALTHCHECK, непривилегированный пользователь. • Команда запуска: --api-id, --api-hash, --http-port=8081, --dir=/var/lib/telegram-bot-api. • Проверка: curl http://localhost:8081/bot/getMe. • Примеры кода: python-telegram-bot (base_url), node-telegram-bot-api (baseUrl). • Webhook: POST /bot/setWebhook с url http://your_server_ip:8081/bot.
-
Практические выводы/следующие шаги: Использовать локальный сервер при работе с видео/аудио >50 МБ, высоконагруженных webhook’ах или необходимости file://. Развёртывать через Docker для воспроизводимости и безопасности. После запуска заменить base_url в клиенте и настроить webhook.