Botbrother

Публикации в каналы и группы теперь можно ставить через API

Раньше пост в канал можно было создать двумя способами: руками в панели или через MCP, если вы работаете с ботом через ИИ-ассистента. Внешнему интегратору — скрипту, CRM, редакции — публикация была недоступна вовсе. При том что рассылки подписчикам через API ставить было можно.

Это странное разделение мы убрали. Теперь публикация в канал или группу — обычная операция публичного API.

Три метода

CreateChannelPost — поставить пост. Можно черновиком, можно по расписанию, можно сразу:

POST /api/v1
Authorization: Bearer bb_…

{
  "method": "CreateChannelPost",
  "botId": 123,
  "channelId": 45,
  "text": "Новая партия приехала. Забирать с четверга.",
  "mode": "scheduled",
  "sendAt": "2026-09-01 12:00",
  "buttons": [{"text": "Каталог", "url": "https://example.com/catalog"}]
}

sendAt — местное время канала, а не серверное: если у канала выставлен свой часовой пояс, писать пересчёт руками не нужно.

GetChannelPosts — что стоит в плане: черновики, запланированное и уже опубликованное, свежее сверху. Удобно, чтобы сверить свою очередь с фактической.

DeleteChannelPost — снять запись из плана. Важная деталь: уже опубликованное сообщение этим из канала не убирается. Удаление сообщения у Telegram — отдельная операция, и делать её молчаливым побочным эффектом «удалить запись» мы не стали. Ответ прямо говорит, что сообщение осталось в канале.

Расширенные сообщения — и в рассылках тоже

Пост можно собрать не только обычным текстом. Поле richmessage принимает расширенное сообщение Telegram: заголовки, цитаты, таблицы, файлы и ряды кнопок прямо внутри поста. Подробнее о самом формате — на странице расширенных сообщений.

Тем же полем теперь можно собирать и разовые рассылки: CreateBroadcast его принимает. Поле text при этом остаётся обязательным — он и превью в списке, и запасной вариант, если расширенное сообщение по какой-то причине не соберётся. Лучше пусть подписчик получит текст, чем ничего.

Что API не даст сделать

Несколько правил, о которые проще споткнуться заранее, чем на публикации:

  • Кнопки поста — только https. Адрес без схемы или с http Telegram не примет, и раньше такая кнопка молча пропадала из уже опубликованного поста. Теперь метод отвечает понятной ошибкой до публикации.
  • Расширенное сообщение — только Telegram. В MAX и ВКонтакте такого формата нет, попытка вернёт объяснение, а не тихо уедет плоским текстом.
  • Опубликованный расширенный пост не правится. У Telegram нет операции правки для таких сообщений — только удалить и опубликовать заново.
  • Лимит тарифа действует и здесь. Канал сверх лимита виден, но работать с ним нельзя ни из панели, ни через API.

Полный справочник

Все методы с параметрами — в справочнике методов API; он собирается из кода, а не пишется руками, поэтому не расходится с тем, что сервер реально принимает. Общее описание доступов и ключей — на странице документации API.

Если бот у вас ведёт ИИ-ассистент, отдельно ничего настраивать не нужно: те же операции доступны через MCP.

Создайте своего бота в Telegram

Без кода: рассылки, приём оплат, брони, управление каналами. Бесплатный тариф для старта.

Попробовать бесплатно

Ещё по теме