← Telegram SDKTelegram: Premium, боты и настройки сайта
Проверено по официальной документации Telegram 11 октября 2026 года.
Что меняется от подписки
| Возможность |
Личный аккаунт |
Бот сайта |
| Длина обычного сообщения |
Лимит Telegram-клиента |
sendMessage: 4096 символов после разбора разметки |
| Подпись к медиа |
У Premium увеличенные лимиты; значения выдаёт конфигурация Telegram |
1024 символа после разбора разметки независимо от Premium владельца |
| Размер файлов |
Premium увеличивает лимит пользовательской загрузки |
Отдельные ограничения Bot API; для multipart-фото 10 МБ, прочих файлов 50 МБ. Локальный Bot API — отдельный режим инфраструктуры |
| Пользовательские emoji |
Возможность Premium |
Дополнительное имя на Fragment либо Premium владельца для прямых сообщений бота в личные чаты, группы и супергруппы. В канале одного Premium владельца недостаточно |
| Цвет кнопок |
Не определяет доступность |
primary, success, danger не требуют Premium |
| Business |
Часть возможностей требует подписки |
Подключённые бизнес-боты доступны и без Premium; нужны действующее подключение и конкретные права |
| Оформление канала, истории |
Зависит также от бустов и уровня канала |
Подписка владельца не заменяет уровень канала и права администратора |
| Быстрая платная рассылка |
Не включается подпиской |
Отдельное allow_paid_broadcast, расходы Stars и требования Telegram |
| Расшифровка, перевод, папки, закрепы, GIF, избранные стикеры, личные истории |
Возможности и лимиты клиента Premium |
Не превращаются автоматически в возможности SDK-бота |
Значения личных лимитов нельзя получать из getMe: метод возвращает самого бота, а не его владельца. Для клиента Telegram используются help.getAppConfig и актуальные Premium-настройки. Статус, введённый владельцем в панели, обозначается как заявленный, а не подтверждённый API.
Настройка в админке сайта
Откройте Telegram → Каналы Telegram → нужный канал. Укажите владельца, Premium, тип получателя, желаемую длину текста и подписи. Пользовательские emoji включаются отдельно. Покупка дополнительного имени на Fragment указывается только при её наличии. Платная рассылка по умолчанию запрещена.
400 символов — редакционный выбор нашего сайта, а не ограничение бесплатного Telegram. Миграция сохраняет этот выбор для существующих каналов без Premium; новые каналы используют максимумы Bot API. Включение Premium больше не меняет длину публикаций автоматически.
Публичный и административный боты имеют самостоятельные настройки. Подписка покупателя на сайте, Premium владельца Telegram и баланс Stars — разные сущности. Для YETI3 владелец указал Premium; для MillerRings — отсутствие Premium. Остальные аккаунты необходимо проверять отдельно.
Настройка в лицензировании
Страница /telegram-settings содержит профиль аккаунта и отдельные профили публичного/административного бота каждого проекта. Чужие проекты недоступны; оператор может управлять зарегистрированным проектом по его ID через API. Пароли и токены ботов в профиле не хранятся. История изменений записывается в аудит. При параллельном изменении сервер вернёт 409 — обновите страницу перед сохранением.
API с Bearer-сессией владельца либо SSO-cookie:
GET /api/network/v1/telegram-settings/account/{account_id}/profile
GET /api/network/v1/telegram-settings/project/{project_id}/public
GET /api/network/v1/telegram-settings/project/{project_id}/admin
PUT тот_же_адрес
{
"version": 0,
"settings": {
"owner_label": "Мастерская",
"owner_status": "free",
"destination_kind": "channel",
"fragment_username": false,
"custom_emoji_enabled": false,
"allow_paid_broadcast": false,
"text_budget": 400,
"caption_budget": 400,
"business_connection_enabled": false,
"channel_boost_level": 0
}
}
version берётся из GET. Настройки аккаунта справочные: они не меняют все боты автоматически — владелец бота может отличаться от владельца сайта. Business и бусты также справочные, до проверки фактических прав провайдером.
Для Django-модуля загрузите профиль явно. ID проекта берётся из лицензирования; YETI3_LICENSE_SETTINGS_TOKEN — защищённая Bearer-сессия владельца, не токен BotFather. Права ограничены аккаунтом владельца, хранить в менеджере секретов, не в репозитории.
python manage.py sync_telegram_settings --project PROJECT_ID
python manage.py sync_telegram_settings --project PROJECT_ID --apply
Первая команда только проверяет. Вторая обновляет каналы соответствующего назначения атомарно. Отсутствующий центральный профиль не сбрасывает локальные настройки. Ошибка доступа или неуказанный статус владельца отменяет применение; сообщений в Telegram команда не отправляет. Это явная синхронизация, а не фоновое автоматическое применение.
Подключение SDK
from yeti3_telegram.account_policy import AccountPolicy
from yeti3_telegram import TelegramClient
policy = AccountPolicy(
owner_status="premium",
destination_kind="private",
custom_emoji_enabled=True,
allow_paid_broadcast=False,
)
client = TelegramClient(token_from_secret_store, account_policy=policy)
Без разрешения на пользовательские emoji SDK сохраняет обычный emoji и текст, удаляет только специальную разметку и значок кнопки. Смещения остальных entities, действия кнопок и получатель сохраняются. В MarkdownV2 неподдерживаемая специальная emoji-разметка отклоняется до отправки; используйте HTML или entities. Неизвестный тип чата не считается каналом или супергруппой по одному префиксу ID.
Источники и обновления
При обновлении Bot API проверяются эти источники и регрессионные тесты SDK. Переключатель в админке никогда не выдаёт права, которых нет в Telegram.