Mellow HubЦены

БЛОГ

Публикация в Telegram-каналы через собственного бота с одним правом администратора

Как мы сделали публикацию в Telegram на своём боте: одно право в канале, подключение за 13 секунд, восемь постов без повторов и что пошло не так.

← Все обновления

Начало публичного гайда Mellow Hub «Подключить Telegram-канал к Mellow Hub»: четыре шага, около минуты; Hub публикует через собственного бота @MellowHubBot с одним правом — публиковать сообщения

Главное в цифрах

  • Боту Telegram достаточно одного права администратора в канале — публикации сообщений; когда 11 октября 2026 года нашего бота добавили через выбор канала Telegram, все остальные права были выключены, кроме can_manage_chat, которое Telegram даёт любому администратору.
  • 11 октября 2026 года канал подключился к Mellow Hub через 13 секунд после того, как владелец нажал «Старт», и восемь постов разных видов вышли через планировщик без единой повторной попытки.
  • У Bot API Telegram нет ключа идемпотентности, поэтому Mellow Hub никогда не отправляет повторно пост в Telegram, на запрос которого не пришёл ответ: такой пост помечается неподтверждённым, и человек проверяет канал.
  • Бот может попросить Telegram скачать файл по ссылке — до 5 МБ для картинки и до 20 МБ для видео, а сам загрузить до 10 МБ и 50 МБ; 21 октября 2026 года видео на 59 МБ было отклонено до того, как что-либо дошло до Telegram.
  • Telegram не сообщает боту, сколько человек увидели пост в канале, поэтому сервис на основе бота не может показать просмотры в Telegram.

Слушать главное1:24ИИ-голос

В остальные сети Mellow Hub, наш сервис публикаций, ходит через провайдера публикаций или через приложения, зарегистрированные в каждой сети. Telegram не подошёл ни под одно: у провайдера Telegram нет, а сам Telegram не проверяет приложения и не имеет экрана входа. Зато есть боты. Поэтому мы сделали Telegram на собственном боте @MellowHubBot и просим у канала одно право. Рассказываем, как это устроено, что мы доказали 11 октября 2026 года и что пошло не так.

Ситуация и цель

Публиковать в Telegram-канале могут только администраторы. Способ «сделай сам» — создать бота в @BotFather, скопировать его токен туда, откуда вы публикуете, и сделать бота администратором. Для клиента это три лишних шага, и ключ доступа оказывается у него в руках.

Цель: человек подключает канал меньше чем за минуту, ничего не создаёт, даёт боту только право публиковать, а дальше пост, написанный один раз в Hub — руками или ИИ-агентом, — уходит в Telegram вместе с другими сетями.

Шаг 2 гайда, рисунок: на телефоне чат с ботом Mellow Hub, @MellowHubBot, и кнопка Start внизу
Шаг 2 нашего публичного гайда, рисунок экрана: ссылка открывает чат с @MellowHubBot, и человек нажимает «Старт». Снимок 8 ноября 2026 года.

Что мы сделали, по шагам

  1. Один бот на всех. Мы один раз создали @MellowHubBot. Его токен хранится в секретных настройках сервера — не в репозитории и не в логах, — и прочитать его оттуда нельзя ни нашим ИИ-агентам, ни кому-то ещё.
  2. Подключение — короткий разговор. Telegram некуда отправить человека и вернуть обратно, поэтому Hub выдаёт ссылку вида t.me/MellowHubBot?start=код. Код принадлежит одному профилю Hub и действует 20 минут.
  3. «Старт», затем одна кнопка. Человек нажимает «Старт». Бот отвечает на языке его Telegram одним сообщением с одной кнопкой. Это встроенная кнопка Telegram request_chat (KeyboardButtonRequestChat в Bot API): Telegram показывает каналы, где человек администратор, и добавляет бота в выбранный администратором с can_post_messages — и только с ним.
  4. Не верить данным из обновления. Когда Telegram сообщает выбранный чат, бот сам спрашивает Telegram, что это за чат (канал ли), может ли бот там публиковать и администрирует ли его человек, нажавший кнопку. Только после этого канал добавляется в профиль.
  5. Вебхук, который никто не настраивает руками. Telegram ничего не подписывает: он повторяет секрет в заголовке каждого обновления. Наш секрет вычисляется из токена бота, так что второго секрета хранить не нужно, а запрос без него получает 404. Код сам ставит вебхук при первом подключении.
  6. Своё место в реестре. Каналы хранятся под собственным провайдером — telegram. Все запросы для аккаунтов провайдера публикаций называют этого провайдера, и его сверка отключила бы строку Telegram под его именем в течение двух минут.
  7. Публикация ежеминутным проходом. Текст — одно сообщение; одна картинка или видео — с текстом под ними; от двух до десяти файлов — альбом; подпись длиннее 1 024 символов — сначала медиа, потом текст отдельным сообщением; GIF — анимацией. Пост можно отправить без звука и без превью ссылки.
  8. Файлы. По ссылке Telegram сам скачивает картинку до 5 МБ и видео до 20 МБ. Больше — Hub скачивает файл и загружает сам: до 10 МБ и 50 МБ, это предел облачного Bot API для бота. У поста, запланированного больше чем на шесть часов вперёд, файлы копируются в наше хранилище: хранилище загрузок провайдера удаляет неиспользуемые файлы примерно через сутки.
  9. Один запрос. Ключа идемпотентности у Telegram нет. Перед каждым запросом задача отмечает, что отправляет; любой ответ снимает отметку. Запрос без ответа её оставляет, и такой пост автоматически больше не отправляется: он завершается как неподтверждённый со словами «проверьте канал, прежде чем публиковать снова».
Таблица гайда «Что может нести пост в Telegram»: текст до 4 096 символов, до 1 024 под фото или видео, до 10 файлов в альбоме, видео MP4 до 50 МБ, фото до 10 МБ, около одного сообщения в секунду в одном чате
Лимиты, которые Hub проверяет до отправки в Telegram, как их называет наш гайд на 8 ноября 2026 года; последняя строка объясняет, почему нет просмотров.

Результаты

Доказано вживую 11 октября 2026 года на закрытом тестовом канале основателя; каждый пост создал ИИ-агент, а опубликовал планировщик:

ЧтоРезультат
Подключение, Telegram для macOSчерез 13 секунд после «Старта»
Права ботапубликация сообщений плюс can_manage_chat, который Telegram даёт любому администратору; остальные выключены
Только текствышел через 36 секунд после создания
Картинка, альбом из трёх, видео без звукакаждый вышел одним постом
Подпись длиннее 1 024 символов с картинкойкартинка, затем весь текст вторым сообщением
Запланирован, через три минуты перенесёнвышел через 17 секунд после нового времени
Запланирован, затем отменённе вышел
Видео на 27 МБвышло через собственную загрузку Hub примерно за две с половиной минуты
Повторных попытокни одной на 8 постов

13 октября основатель отключил канал в Hub на iPhone и подключил заново из Telegram для iOS: от начала до подключения меньше двух минут, следующее сообщение вышло через 24 секунды после создания. В тот же день Telegram открылся во всех профилях Hub, а 21 октября 2026 года стал десятой публичной сетью Hub с пошаговым гайдом на десяти языках. 14 октября у постов в Telegram появилось оформление (жирный, курсив, зачёркнутый, скрытый текст, код, ссылки, цитаты): оно отправляется разметкой entities, а не режимом parse mode, поэтому один случайный символ не может сорвать весь пост.

Что не сработало и что мы поменяли

  • Не тот язык. Подключение, начатое ИИ-агентом, не несло языка, и бот ответил русскоязычному человеку по-английски. Исправили в тот же день: бот отвечает на языке Telegram того, кто открыл ссылку.
  • Слишком большой файл, пойманный поздно. 21 октября видео на 59 МБ прошло нашу проверку перед отправкой — она не читала размер файла. Пост упал через 10 секунд после создания с ошибкой «слишком большой файл»; до Telegram ничего не дошло. Отклонять такой файл ещё до отправки — доработка, которую мы записали.
  • Семь тихих минут. 3 ноября в 14:00 UTC Telegram — или путь к нему из региона нашего сервера — семь минут не принимал запросы. Четыре быстрые ошибки ушли в повтор, затем один запрос завис на 90 секунд, и пост завершился как неподтверждённый — ровно как задумано. Telegram так и не скачал картинку, ничего не вышло, и отправить пост снова после проверки канала было безопасно.
  • Одного права хватает не на всё. Позже основатель попросил настроить через Hub название, описание, аватар и закреплённый пост своего публичного канала. Для этого нужно право на изменение информации о канале, а для закрепления — на редактирование чужих сообщений. Подключение по-прежнему просит только право публиковать; остальные владелец даёт в Telegram сам, если хочет.
  • Нет просмотров. Telegram ничего не сообщает боту о том, кто видел пост в канале. Hub так и пишет на посте, а не показывает пустую цифру.
  • Ещё не проверено вживую на 21 октября: бот удалён из канала в самом Telegram и возвращён, пост, назначенный на время, пока бота нет, и выбор канала в Telegram для Android и в веб-версии. В macOS и iOS это работает.
Раздел гайда «Что бот может и чего не может»: может публиковать, публиковать без звука и выйти из канала; не может править и удалять сообщения, добавлять участников и администраторов, менять название и аватар канала, читать ваши чаты
Что даёт одно право, словами нашего гайда на 8 ноября 2026 года: публикацию, но не название и аватар канала — для них нужно право, которое владелец даёт в Telegram.

Как сделать самому

  1. Создайте бота в @BotFather командой /newbot и храните токен в хранилище секретов.
  2. Поставьте вебхук с секретным токеном и отвечайте 200 на каждое прочитанное обновление, чтобы Telegram не присылал повторно то, что вам не нужно.
  3. Начинайте подключение со ссылки с коротко живущим кодом, а в чате отправляйте одну кнопку request_chat, которая просит канал и право публиковать сообщения.
  4. Когда чат выбран, подтвердите его через getChat и getChatMember, прежде чем сохранять.
  5. Публикуйте через sendMessage, sendPhoto, sendVideo и sendMediaGroup; подпись — до 1 024 символов, текст — до 4 096 (лимиты всех соцсетей рядом), оформление — через entities, и не чаще одного сообщения в секунду в одном чате.
  6. Никогда не повторяйте запрос, на который не пришёл ответ. Отметьте его, завершите ошибкой и дайте человеку проверить.
  7. Или подключите канал к Mellow Hub за четыре шага, без собственного бота.

Цифры

ЧтоЗначение
Права, которые просит бот1: публикация сообщений
Срок действия кода подключения20 минут
От «Старта» до подключения, 11.10.202613 секунд
Живых постов 11.10.2026, повторов8, ни одного
Лимит текста и подписи4 096 и 1 024 символа
Файлы по ссылке / загрузкой5 МБ и 20 МБ / 10 МБ и 50 МБ
Темп Telegram в одном чатеоколо одного сообщения в секунду

Вопросы и ответы

Какие права администратора нужны боту, чтобы публиковать в Telegram-канале?

Только одно — публикация сообщений. Наш бот получает ровно его, когда владелец выбирает канал во встроенном выборе Telegram; can_manage_chat Telegram сам даёт любому администратору. Чтобы менять название, описание или аватар канала, нужно право на изменение информации о канале, а чтобы закреплять — на редактирование чужих сообщений.

Может ли бот Telegram видеть просмотры поста в канале?

Нет. Telegram не сообщает боту, сколько человек увидели пост в канале, поэтому сервисы, которые публикуют через бота, включая Mellow Hub, не показывают просмотры в Telegram.

Какое самое большое видео бот может опубликовать в Telegram-канале?

Через облачный Bot API — 50 МБ, если бот загружает файл сам, и 20 МБ, если Telegram скачивает его по ссылке. Картинки — 10 МБ при загрузке и 5 МБ по ссылке.

Почему нельзя просто повторить пост в Telegram, если запрос завис?

У Bot API нет ключа идемпотентности: запрос без ответа мог опубликовать пост, и повтор опубликует его дважды, а это не отменить. Сначала проверьте канал, потом отправляйте снова.

Куда дальше

Ещё обновления

Все обновления · Опубликовано 11 октября 2026 г.

Напишите основателю Hub

Каждое сообщение читает сам основатель сервиса, так что вы общаетесь с ним напрямую. Вопросы, ошибки, функции, которых не хватает: пишите о чём угодно. Мы с радостью делаем Hub лучше.

О чём сообщение?

Мы приложим адрес этой страницы, чтобы увидеть то же, что и вы.