Группы, которые вы ведёте
Документация: v0.25.0
max помогает админу группы: показывает вопросы, на которые никто не ответил, кто вступил и с
каким аккаунтом, и убирает спам по вашим правилам. По умолчанию он только отмечает — удалить
сообщение или человека он может, только если вы это разрешили.
Всё здесь работает от вашего личного аккаунта и там, где вы админ. Команды подробно — usage.md, каждая опция — commands.md.
Команды изменения группы в JSON возвращают operationId; карточка после создания,
вступления, изменения или замены ссылки находится в chat. Если название или описание
успело измениться, а запрос настроек не завершился, результат — outcome_unknown.
Прочитайте группу через chats show перед повтором: изменение могло примениться частично.
Сценарии с агентом
Агенту с доступом к терминалу (например, Claude Code или Codex) можно подключить навык. Без доступа к терминалу используйте MCP-сервер, например в Claude Desktop. В Cursor доступны оба способа. Ниже — ваш запрос, команда агента и результат.
Утро админа: кто ждёт ответа
Вы: Что в «Поход» осталось без ответа?
Агент: (max review --chat "Поход" --unanswered 4h --json)
Без ответа больше 4 часов — 3 вопроса:
· Лена, 08:12 — «Во сколько выезд в субботу?»
· Артём, вчера 22:40 — ответ на ваш пост про маршрут: «А палатки общие?»
· Ира, вчера 19:05 — «Кто везёт котелок?»
На остальные ответили вы или админы.Вопрос — это сообщение со знаком «?» или ответ на ваше сообщение или сообщение админа. Отвеченным он считается, если вы или админ ответили на него или заговорили первыми после того, кто спросил. Ссылка со знаком «?» внутри вопросом не считается.
Новенькие за неделю
Вы: Кто вступил в «Поход» за неделю? Есть подозрительные?
Агент: (max chats events "Поход" --type add --json)
(max chats members list "Поход" --all --json)
За неделю добавили 4 человек:
· Катя Смирнова — добавила Лена, аккаунту 3 года
· Олег — вступил сам, аккаунту 2 дня
· …
Стоит посмотреть: Олег — аккаунт совсем новый.Уборка спама с вашим подтверждением
Один раз настройте правила:
max chats rules set "Поход" invites delete # приглашения в чужие чаты — удалять
max chats rules set "Поход" newAccount.days 3 # аккаунт моложе трёх дней — отмечать
max chats rules set "Поход" consent.delete ask # но перед удалением — спросить меняВы: Проверь «Поход».
Агент: (max_chats_check)
— форма: «delete message … from Олег for everyone (invites)?» —
Вы: Да.
Агент: Удалено одно сообщение с приглашением от Олега. Олег отмечен: аккаунту 2 дня.
Остальное в порядке.В терминале max chats moderate "Поход" задаёт тот же вопрос сам: [y/N].
Недельный отчёт по группе
Вы: Сделай итог недели по «Поход».
Агент: (max review --chat "Поход" --since-time 2026-09-20T00:00 --json)
Решили: выезд 4 октября, в 7:00 от метро.
Взяли на себя: Лена — продукты, Артём — палатки.
Висит: кто везёт котелок — спросили трижды, ответа нет.Проверка по расписанию
Агент не нужен: проверка — обычная команда. Два раза в день, с удалением там, где правило стоит на
уровне ask:
0 9,21 * * * max chats moderate "Поход" --allow-dangerous >> ~/max-check.log 2>&1Без --allow-dangerous в cron действия уровня ask только планируются и ждут вас. Строки
PATH и XDG_RUNTIME_DIR, без которых max в cron не найдёт Node и ваш вход, —
recipes.md.
Что можно
Агенту без терминала то же самое дают инструменты MCP: max_review с unanswered_after_hours,
max_chats_events, max_chats_members, max_chats_rules и max_chats_check
(mcp.md).
Правила
Правила хранятся на вашем компьютере, у каждой группы свои. Первое set записывает все правила
сразу, со значениями по умолчанию.
| Правило | По умолчанию | Что значит |
|---|---|---|
trusted | — | номера людей через запятую; правила их не трогают |
blocked | — | номера людей, чьи сообщения и вступление ловятся |
blockedNames | — | части имени, через запятую, без учёта регистра |
blockedPeople | report | что делать с сообщением или вступлением заблокированного |
invites | report | приглашение в другой чат (max.ru/join/…, ссылки Telegram) |
links | report | любая ссылка |
forwards | report | пересланное сообщение |
flood.messages, flood.minutes, flood.action | 5, 1, report | больше 5 сообщений за минуту от одного человека |
newAccount.days, newAccount.action | 7, report | аккаунт моложе 7 дней; 0 выключает |
consent.delete, consent.remove | ask | насколько вы разрешаете каждое действие |
Действие правила — report (отметить), delete (удалить сообщение у всех) или remove (удалить
человека из группы). Если сообщение нарушает несколько правил, берётся самое сильное действие.
Вас, админов и людей из trusted правила не трогают.
Уровень согласия решает, будет ли действие сделано:
deny— никогда;readonly— только отметить;ask— спросить в терминале; без ответа действие ждёт.--allow-dangerousразрешает такие действия для этого запуска;allow— сразу.
Старые файлы читаются: forbid становится deny, flag и confirm — ask.
MCP сохраняет прежний инструмент max_chats_check и форму подтверждения.
chats moderate --json возвращает { chatId, rows }. --since-time принимает время ISO 8601
или 30m, 2h, 1d, а не номер сообщения, и не сдвигает сохранённое место.
Место следующей проверки хранится вместе с правилами; старое место из сессии переносится
автоматически перед первым запуском. CLI и личный MCP используют одно место.
Через бота
Если в группе есть ваш бот с правами админа, ту же проверку может делать он: max <бот> bot chats moderate. Он умеет то, чего не умеет личный аккаунт, — банить удалённых, чтобы они не вернулись по
ссылке. Возраст аккаунта ему недоступен. Подробно — bot.md.
Ограничения
- Бана нет. Удалённый человек может вернуться по ссылке-приглашению: личный аккаунт не умеет
банить. Замените ссылку (
max chats link reset) или проверяйте группу ботом — он банит. - Заявок на вступление нет. В MAX группа либо открытая, либо в неё входят по ссылке-приглашению; одобрять новых участников нельзя.
- Не больше 10 действий за проверку (
--max-actions). Удаления считаются в лимит отправок в час; упёрлась в лимит — остальное ждёт следующей проверки. - До 1000 сообщений за проверку в CLI. Если их больше, следующая проверка продолжит с того места.
- Одно вступление — весь список участников. Чтобы узнать возраст аккаунта новенького, проверка читает список участников целиком; в большой группе это десятки запросов к MAX.
- Ничего не следит за группой само. Проверка идёт, только когда её запустили вы, агент по вашей просьбе или ваше расписание.