Собственный (self-hosted) сервер Telegram Bot API на базе официального бинарника telegram-bot-api.
Он полностью совместим с API api.telegram.org — все методы, параметры и ответы те же,
но у сервера есть важные отличия:
https://telegram.ebalo.lol/bot<TOKEN>/<method>
Вместо <TOKEN> — токен твоего бота, вместо <method> — имя метода
(например getMe, sendMessage, sendDocument). Формат полностью совпадает
с официальным: api.telegram.org/bot<TOKEN>/<method>.
Быстрая проверка, что сервер жив и токен верный:
curl "https://telegram.ebalo.lol/botYOUR_BOT_TOKEN/getMe"
Достаточно поменять адрес API на https://telegram.ebalo.lol — код бота не меняется.
from aiogram import Bot
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer
API = TelegramAPIServer.from_base("https://telegram.ebalo.lol")
bot = Bot(token="YOUR_BOT_TOKEN", session=AiohttpSession(api=API))
import telebot
bot = telebot.TeleBot("YOUR_BOT_TOKEN", api_server="https://telegram.ebalo.lol")
import telegram
bot = telegram.Bot(token="YOUR_BOT_TOKEN", base_url="https://telegram.ebalo.lol/bot")
import { Bot } from "https://deno.land/x/grammy/mod.ts";
const bot = new Bot("YOUR_BOT_TOKEN", {
client: { apiRoot: "https://telegram.ebalo.lol" }
});
import tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
bot, err := tgbotapi.NewBotAPIWithAPIEndpoint("YOUR_BOT_TOKEN", "https://telegram.ebalo.lol/bot")
use Telegram\Bot\Api;
$telegram = new Api('YOUR_BOT_TOKEN', false, 'https://telegram.ebalo.lol/bot');
TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class, "https://telegram.ebalo.lol/bot");
botsApi.registerBot(new MyBot());
curl "https://telegram.ebalo.lol/botYOUR_BOT_TOKEN/getMe"
https://telegram.ebalo.lol или https://telegram.ebalo.lol/bot,
в зависимости от библиотеки (попробуй оба варианта).Главное отличие от официального API — размер файлов:
| Операция | api.telegram.org | telegram.ebalo.lol |
|---|---|---|
| Отправка файла ботом | до 50 МБ | до 2000 МБ (2 ГБ) |
| Скачивание файла ботом | до 20 МБ | до 2000 МБ (2 ГБ) |
Большие видео, архивы, длинные аудио, дампы баз — всё проходит без ошибки file is too big.
Ограничение Telegram на размер медиа в чатах остаётся обычным — сервер лишь не обрезает его дополнительно.
Замеры на файле 100 МБ:
| Сценарий | Результат |
|---|---|
| Загрузка (бот → Telegram) через этот API | ~10 МБ/с |
| Скачивание через домен (из России) | ~10 МБ/с |
Сервер расположен в Европе, канал до серверов Telegram прямой. Скорость зависит от текущей загрузки и расстояния до серверов Telegram, но для личного использования этого более чем достаточно.
Официальный api.telegram.org в РФ блокируется и часто не резолвится вовсе, поэтому
стандартные боты требуют VPN или прокси. Этот сервер размещён на собственном хостинге и доступен из РФ
напрямую — никаких обходных средств не нужно. Связь с серверами Telegram идёт по защищённому
MTProto (порт 443), который в РФ не блокируется.
Метод getFile возвращает путь к файлу, дальше файл скачивается по стандартной схеме:
https://telegram.ebalo.lol/file/bot<TOKEN>/<file_path>
Пример:
curl "https://telegram.ebalo.lol/botYOUR_BOT_TOKEN/getFile?file_id=..."
Поддерживаются все методы официального Bot API:
getUpdates · sendMessage · sendPhoto ·
sendVideo · sendDocument · sendAudio ·
sendVoice · sendMediaGroup · editMessageText ·
answerCallbackQuery · getFile · getMe ·
setMyCommands · sendChatAction и все остальные.
Для приёма сообщений лучше использовать long polling (getUpdates) — как в примерах
выше. Вебхуки тоже поддерживаются, но для личного бота проще и надёжнее polling.
Нет. Сервер доступен из РФ напрямую через HTTPS.
Да. Токен тот же, что зарегистрирован у @BotFather, и работает так же.
Нет. Все методы, параметры и ответы идентичны официальным.
Да, сервер настроен на лимит 2 ГБ на файл.
Любой, у кого есть токен бота. Методы и файлы защищены токеном — без него запросы отклоняются (404).
Что важно знать про этот сервер:
Доверять или нет — твой выбор. Здесь нет посредников, но и гарантий никто не даёт: это частная инфраструктура. Токены, переписка и файлы остаются между тобой и серверами Telegram.
Сервер: telegram.ebalo.lol · Telegram Bot API (self-hosted) · сделано лично для себя