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

Действие «Группы и каналы МАКС»

«Работа с группами и каналами в МАКС» — действие в сценарии действий, которое управляет каналом или группой в мессенджере МАКС. Аналог Telegram-канала, но с другим набором операций под специфику МАКС.

Для работы бот должен быть подключён к каналу/группе как сервисный аккаунт с правами на публикацию и модерацию.

Когда использовать МАКС вместо Telegram​

  • Российская инфраструктура — клиенты и команда в МАКС.
  • 152-ФЗ — хранение каналов и подписчиков в РФ.
  • Молодая аудитория РФ — МАКС набирает популярность как импортозамещение Telegram.
  • Параллельная стратегия — публиковать в оба мессенджера одновременно для шире охвата.

Часть 1. Подключение​

Шаг 1. Подключите бот к МАКС​

В Квесче: Боты → Добавить бот → MAX. Получите токен от MAX и привяжите.

Шаг 2. Добавьте бота в канал/группу​

В МАКС: Управление каналом → Администраторы → Добавить бота. Выдайте права публикации, удаления, модерации.

Шаг 3. Узнайте ID​

ID канала/группы — формат специфичен для МАКС. Получите через интерфейс администратора или сервисную команду бота.


Часть 2. Операции​

В сценарии действий → «Добавить действие» → «Работа с группами и каналами в МАКС».

ОперацияНазначение
Отправка сообщенияПубликация в канал/группу
Проверка подписки1 — подписан, 0 — нет
Удаление из канала/группыУдалить участника
Добавление в канал/группуДобавить пользователя
Удаление сообщенияПо ID сообщения
Изменение сообщенияПравка опубликованного поста
Закрепление / ОткреплениеЗакрепить пост в шапке чата и снять закрепление
Данные канала/группыНазвание, описание, ссылка, число участников, закреплённое
Получить список администраторовID администраторов в переменную
Комментарии к постуПрочитать обсуждение под постом
Отправка комментария к постуОтветить в обсуждении
Удаление комментарияУбрать комментарий по ID

Операции МАКС

Скриншот 1. Операции для МАКС.

В отличие от Telegram, нет операций бана, прав, инвайт-ссылок и модерации участников через restrict/promote — это специфика МАКС. Зато у МАКС есть своё: комментарии под постами канала, с которыми бот работает напрямую.

Клиенты из Телеграма, ВКонтакте и с сайта​

Канал или группа МАКС может обслуживать клиентов любого мессенджера бота. Если подписчик пишет из Телеграма, ВКонтакте или с виджета сайта, операции с самим каналом выполняет бот МАКС той же цепочки: отправка, правка и удаление сообщения, закреп и открепление, данные канала, список администраторов, комментарии. Так покупатель из Телеграма оформляет заказ, а пост товара в канале МАКС правится сам — «В наличии: 1».

Удаление участника касается самого подписчика и работает только для подписчика из МАКСа. Добавление в группу и проверку подписки другого человека может сделать и подписчик из Телеграма: если в поле ID пользователя не его собственный id, а id человека из МАКСа, операция выполнится от бота МАКС цепочки (готовые боты «Вход в группу по анкете» и «Конкурс приглашений»).

Если в цепочке нет бота МАКС, операция не выполнится, переменная результата получит 0, а в #{_error} будет объяснение.


Часть 3. Отправка сообщения​

ПолеЗначение
ID канала/группыID получателя
СообщениеТекст с шаблонами замен
МедиаФото, документы, аудио — загружаются здесь же, как в обычном сообщении бота
File IDИдентификатор файла этого бота: фото, документ, видео, аудио
КнопкиДоступные в МАКС типы кнопок

Кроме отправки у действия есть: изменение опубликованного сообщения, закрепление и открепление, данные чата (название, описание, ссылка, число участников, закреплённое сообщение — в переменные _chat_*) и список администраторов. Номер отправленного сообщения ложится в _group_message_id — по нему сообщение потом правят и закрепляют.

Кнопки при изменении сообщения

В МАКСе правка меняет только текст: кнопки под сообщением остаются, как были. Это удобно, когда под постом счётчик «Идут: 12 из 20» и кнопка «Иду» должна жить дальше. Чтобы снять кнопки — например, «Беру заказ» у уже взятого заказа, — включите у изменения галочку «Убрать кнопки у сообщения»: клавиатура исчезнет, а фото и файлы сообщения останутся.

В Telegram правка без кнопок снимает их сама, галочка там не нужна.

Бот опубликует от имени канала.

Медиа те же, что и в сообщении бота

Кнопка «Загрузить медиафайл» принимает файлы до 10 МБ — фото, документы, аудио. В поле «Медиа» можно подставить и ссылки на файлы, например #{media_url} после действия «Приём и пересылка медиа».

Текст и файлы — одна публикация. Фото, видео и документы уходят вложениями того же сообщения, что и текст: текст становится подписью, несколько фото — альбомом. В одном сообщении — до 10 файлов, остальные уходят следом. Видео и документы бот сам загружает в МАКС, фото МАКС забирает по ссылке. Видео МАКС принимает в MP4, MOV, MKV и WEBM: видео другого формата или такое, которое МАКС не смог обработать, уходит в публикации файлом, а текст поста не теряется.

Сообщение может состоять из одного медиа: текст в этом случае не обязателен.

Перепост из Телеграм-канала: файлы больше 20 МБ Телеграм ботам не отдаёт — такое видео скачать нельзя, пост уйдёт без него.

Применение​

  • Анонс акции;
  • Новости компании;
  • Ссылки на бот для новых клиентов.

Часть 4. Проверка подписки​

ПолеЗначение
ID каналаГде проверять
ID подписчика МАКСНеобязательно. Пусто — проверяется сам подписчик; указан ID — этот человек
Имя переменной1 — подписан, 0 — нет
Кого проверяем

Без ID подписчика проверяется тот, кто сейчас в боте, — и только если он из МАКСа: подписчику из Telegram/VK вернётся 0. Чтобы проверить другого человека (например, остался ли в канале приглашённый друг), укажите его ID из МАКСа — проверку может сделать и подписчик из Телеграма, она пойдёт от бота МАКС цепочки.

Универсальный сценарий «Подпишись — получи бонус»​

Сценарий действий «До»:
- Условие: [Messenger] = telegram
→ TG канал → subscription → переменная sub
- Условие: [Messenger] = max
→ МАКС → subscription → переменная sub
- Если #{sub} = 1 → выдать бонус

Часть 5. Добавление и удаление участников​

Добавление (add)​

ПолеЗначение
ID каналаКуда добавить
ID пользователяКого добавить

В МАКС бот может сам добавить пользователя — без согласия. Это удобно для:

  • Платных подписок (купил → добавили);
  • Закрытых клубов.
Согласие пользователя

В МАКС добавление без согласия возможно технически, но этически — лучше присылать инвайт-сообщение со ссылкой и кнопкой «Вступить».

Удаление (delete)​

ПолеЗначение
ID каналаОткуда удалить
ID пользователяКого удалить

Применения:

  • Подписка закончилась → удаление;
  • Нарушение правил → удаление.

Часть 6. Удаление сообщения (mesdelete)​

ПолеЗначение
ID каналаГде удалять
ID сообщенияКакое сообщение

Применяется так же, как в Telegram: автоудаление акций, реакция на жалобы.


Часть 6а. Комментарии к постам (comments, comment, commentdelete)​

Обсуждение под постом канала — это входящие заявки: человек спросил про цену прямо там, где увидел анонс. Бот читает ветку и отвечает в ней сам.

ОперацияПоляЧто делает
Комментарии к постуID поста, имя переменной_comments_count — сколько всего; последний комментарий — в _comment_id, _comment_text, _comment_user_id, _comment_user_name
Отправка комментария к постуID поста, текст, ответ на комментарий (необязательно)Ответ бота под постом; с ID комментария — в его ветку. ID нового комментария — в _comment_id
Удаление комментарияID поста, ID комментарияУбирает комментарий

Новые комментарии приходят сами​

Комментарии в канале МАКС включаются в настройках канала — отдельный чат, как группа обсуждения в Телеграме, не нужен. Если бот — администратор канала, МАКС сам присылает каждый новый комментарий под любым постом: в сценарии это событие #{_maxcomment} = 1, текст — в _maxcomment_text, автор — в _maxcomment_user_id и _maxcomment_name, пост — в _maxcomment_post_id, сам комментарий — в _maxcomment_id (все переменные — в системных переменных).

Событие тихое, как комментарий ВКонтакте: его разбирает стартовый блок цепочки и только если он или его сценарий упоминает #{_maxcomment}. Боты, которые о комментариях не знают, их не видят и автору ничего не пишут. Ответить автору в ветку — «Отправка комментария к посту» с ID поста #{_maxcomment_post_id} и ответом на комментарий #{_maxcomment_id}. Комментарии самого бота событием не приходят.

Опрос: когда событие не подходит​

ID поста — тот самый _group_message_id, который вернула отправка. Сохраните его в список рядом с анонсом, если собираетесь возвращаться к обсуждению позже.

Отправка сообщения в канал → сохранить #{_group_message_id} в список «Посты»
↓ (через час, по расписанию)
Комментарии к посту → #{_comments_count} > 0?
↓ да
Нейросеть: «Ответь на вопрос под постом: #{_comment_text}»
↓
Отправка комментария к посту
Ограничения

Упоминания и гиперссылки в комментариях MAX не работают. Комментарий — только текст, без вложений. Для чтения и удаления боту нужны права администратора канала на чтение всех сообщений и на удаление.

Три правила опроса комментариев
  • Пост публикуйте через бота. Пост канала, опубликованный без автора, боту не приходит — номер поста бот знает, только если отправил его сам (#{_group_message_id}).
  • Метьте свои комментарии. Операция «Комментарии к посту» отдаёт и то, что написал сам бот. Начинайте ответы бота с метки, например «💬», и пропускайте такие комментарии при разборе — иначе бот примет свой ответ за новый вопрос.
  • Помните последний разобранный комментарий. Полный список в свою переменную (JSON) и номер последнего увиденного в списке постов — тогда повторный опрос не ответит дважды.

Готовый бот на этом — «Комментарии канала → заявки».


Часть 7. Типовые сценарии​

Сценарий 1. Анонс акции​

Блок «Запуск анонса»
Сценарий действий «До»:
- МАКС → message:
канал: канал_новостей
текст: 🔥 Скидка #{percent}% до #{date}
Сообщение админу: «✅ Опубликовано»

Сценарий 2. Подписка PRO​

Цепочка «Успешная оплата PRO»
Сценарий действий «До»:
- МАКС → add:
канал: pro_канал
пользователь: [ClientID]
Сообщение клиенту: «Вы добавлены в PRO-канал!»

Цепочка «Окончание подписки» (триггер: тег `pro_истёк`)
Сценарий действий «До»:
- МАКС → delete (тот же канал, тот же клиент)
Сообщение: «Доступ к PRO-каналу истёк. Продлить?»

Сценарий 3. Геймификация — подпиской​

Блок «Подпишись на канал»
Сценарий действий «До»:
- МАКС → subscription → переменная #{is_sub}
Условие #{is_sub} = 1 → бонус
Условие #{is_sub} = 0 → «Подпишитесь и нажмите Проверить»

Сценарий 4. Кросс-публикация TG + MAX​

Блок «Опубликовать везде»
Сценарий действий «До»:
- TG канал → message: канал_TG
- МАКС → message: канал_MAX
- Сохранение в [список](spiski.md) «Публикации»
Сообщение админу: «✅ Опубликовано в TG и MAX»

Сценарий 5. Автоматическое исключение неактивных​

Цепочка «Чистка канала» (расписание: раз в месяц)
Сценарий действий «До»:
- Список «Подписчики MAX» → find неактивных за 90 дней
- Перебор → МАКС → delete для каждого
- Уведомление админу: «Удалено #{count} неактивных»

Часть 8. Сравнение с Telegram​

ВозможностьTelegramМАКС
Отправка сообщения✓✓
Проверка подписки✓✓
Удаление сообщения✓✓
Бан✓✗
Снятие бана✓✗
Restrict (ограничения)✓✗
Promote (права)✓✗
Кастомный титул✓✗
Инвайт-ссылка✓✗
Инвайт с параметрами✓✗
Заявки на вступление✓✗
Список админов✓✗
Число участников✓✗
Добавление в канал✗ (Telegram не даёт)✓
Удаление участникачерез ban✓

Главное отличие: МАКС позволяет программно добавлять в канал. Telegram такого не даёт ради защиты от спама.


Часть 9. Архитектура​

Принцип 1. Универсальные ветки сценариев​

Делайте проверку [Messenger] и ветвление: для TG — операции TG, для MAX — MAX. Один сценарий покрывает оба.

Принцип 2. Каналы — в глобальные переменные​

g_max_main, g_max_pro. Не хардкодьте ID в действиях.

Принцип 3. Согласие на добавление​

Перед add спросите клиента «Добавить вас в канал?». Согласие — в переменную, по 1 — добавляем.

Принцип 4. Кросс-постинг с осторожностью​

Не дублируйте контент в TG и MAX автоматически — аудитории разные. Лучше адаптировать сообщение под каждый мессенджер.

Принцип 5. Учёт подписчиков​

Список «Подписчики MAX» с полями ClientID, дата вступления, статус. Это база для рассылок и аналитики.


Частые ошибки​

  • subscription = 0, хотя клиент подписан — клиент пришёл не из MAX. Проверьте [Messenger].
  • add не сработал — у бота нет прав добавлять. Проверьте админ-доступ в канале.
  • Кросс-публикация в один канал — указали ID Telegram-канала в действии MAX. Каналы должны быть из соответствующего мессенджера.
  • Сообщения в канале от имени бота, а не канала — настройте подпись/анонимность в админке MAX.
  • Не удаляется участник — возможно, он админ. Снять права админа можно только вручную в интерфейсе MAX.

Что дальше​