Перейти к основному содержанию

Documentation Index

Fetch the complete documentation index at: https://botmux-dependabot-go-modules-modernc-org-sqlite-1-50-0.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

BotMux предоставляет прокси Telegram API по адресу /tgapi/, который прозрачно пересылает запросы на api.telegram.org и перехватывает исходящие сообщения. Также прокси перехватывает ряд управляющих методов, чтобы ваш бэкенд мог использовать стандартный Telegram Bot API без конфликтов с внутренним состоянием BotMux.

Зачем использовать прокси API?

getUpdates в Telegram возвращает только входящие сообщения — сообщения, отправленные самим ботом, не включаются. Прокси API решает эту проблему, перехватывая методы отправки и сохраняя отправленное сообщение в базу данных.

Настройка

Измените базовый URL API в вашем бэкенде:
# До (напрямую)
https://api.telegram.org/bot{TOKEN}/sendMessage

# После (через прокси BotMux)
http://localhost:8080/tgapi/bot{TOKEN}/sendMessage
Прокси пересылает все запросы в Telegram и возвращает ответы без изменений, за исключением перехватываемых методов, которые BotMux обрабатывает внутренне.

Прокси загрузки файлов

BotMux также предоставляет эндпоинт загрузки файлов, совместимый как замена base_file_url для библиотек Telegram-ботов:
# По умолчанию (Telegram)
https://api.telegram.org/file/bot{TOKEN}/{file_path}

# Через прокси BotMux
http://localhost:8080/tgapi/file/bot{TOKEN}/{file_path}
Этот эндпоинт загружает файл из Telegram и передаёт его клиенту. Файлы WebP (стикеры) автоматически конвертируются в PNG для совместимости с браузерами.

Захватываемые методы отправки

МетодОписание
sendMessageТекстовые сообщения
sendPhotoФотографии
sendAudioАудиофайлы
sendDocumentДокументы
sendVideoВидео
sendAnimationGIF/анимации
sendVoiceГолосовые сообщения
sendVideoNoteВидеозаметки
sendStickerСтикеры
sendLocationМестоположения
sendVenueМеста
sendContactКонтакты
sendPollОпросы
sendDiceКубик
forwardMessageПересланные сообщения
copyMessageСкопированные сообщения
editMessageTextОтредактированные текстовые сообщения
editMessageCaptionОтредактированные подписи
editMessageMediaОтредактированные медиа
URL прокси API отображается в детальном просмотре бота, когда включён режим прокси (нажмите, чтобы скопировать).

Перехватываемые методы управления

Следующие методы Telegram Bot API перехватываются прокси и обрабатываются внутренне BotMux, а не пересылаются в Telegram:
МетодПоведение
setWebhookРегистрирует URL вебхука как URL бэкенда бота в BotMux и включает режим прокси. Авторегистрация неизвестных токенов требует переменной окружения BOTMUX_ALLOW_AUTO_REGISTER=1. URL вебхука должен использовать HTTPS (HTTP разрешён только для адресов обратной петли, если не установлен BOTMUX_STRICT_WEBHOOK=1). Поддерживает параметры url и drop_pending_updates.
deleteWebhookОчищает URL бэкенда и отключает режим прокси для бота. Поддерживает drop_pending_updates.
getWebhookInfoВозвращает внутреннее состояние вебхука BotMux, включая настроенный URL бэкенда и количество ожидающих обновлений.
getUpdatesКогда включён long polling, возвращает обновления из внутренней очереди BotMux вместо прямого опроса Telegram. Для любого другого бота, известного BotMux, возвращает пустой результат для предотвращения конфликтов.
logOutВозвращает успех без пересылки в Telegram. Пересылка отключила бы токен на 10 минут, нарушая опрос BotMux.
closeВозвращает успех без пересылки в Telegram. Пересылка остановила бы экземпляр бота на стороне Telegram.
При установке BOTMUX_ALLOW_AUTO_REGISTER=1 перехват setWebhook позволяет миграцию без конфигурации: направьте ваш существующий бэкенд бота на URL прокси API BotMux, и BotMux автоматически зарегистрирует бота и начнёт пересылать обновления на ваш бэкенд.