/tgapi/, который прозрачно пересылает запросы на api.telegram.org и перехватывает исходящие сообщения. Также прокси перехватывает ряд управляющих методов, чтобы ваш бэкенд мог использовать стандартный Telegram Bot API без конфликтов с внутренним состоянием BotMux.
Зачем использовать прокси API?
getUpdates в Telegram возвращает только входящие сообщения — сообщения, отправленные самим ботом, не включаются. Прокси API решает эту проблему, перехватывая методы отправки и сохраняя отправленное сообщение в базу данных.
Настройка
Измените базовый URL API в вашем бэкенде:Прокси загрузки файлов
BotMux также предоставляет эндпоинт загрузки файлов, совместимый как заменаbase_file_url для библиотек Telegram-ботов:
Local Bot API Server как upstream
BotMux может использовать self-hosted Telegram Bot API Server вместоapi.telegram.org:
--local upstream getFile может возвращать абсолютные пути в файловой системе. BotMux обрабатывает это так:
- Через
/tgapi/— ответыgetFileпереписывают абсолютныйfile_pathв относительный путь для BotMux, чтобы бэкенды могли использоватьbase_file_url=http://botmux:8080/tgapi. - Прямое чтение с диска — если BotMux и Local Bot API на одном хосте/томе, укажите корень файлов:
-tg-api-files эндпоинты /api/media и /tgapi/file/ могут отдавать файлы напрямую с диска. При кастомном -tg-api автоматически включаются увеличенные лимиты загрузки (до ~2 ГБ) и таймауты.
Захватываемые методы отправки
URL прокси API отображается в детальном просмотре бота, когда включён режим прокси (нажмите, чтобы скопировать).
Перехватываемые методы управления
Следующие методы Telegram Bot API перехватываются прокси и обрабатываются внутренне BotMux, а не пересылаются в Telegram:При установке
BOTMUX_ALLOW_AUTO_REGISTER=1 перехват setWebhook позволяет миграцию без конфигурации: направьте ваш существующий бэкенд бота на URL прокси API BotMux, и BotMux автоматически зарегистрирует бота и начнёт пересылать обновления на ваш бэкенд.