Repository navigation
groups
Эта страница нужна, когда вы админ группы в MAX и хотите помощи в наведении порядка. Вы узнаете,
как найти вопросы без ответа, увидеть, кто вступил и кто его добавил, подвести итог недели,
убирать спам по своим правилам и вести историю состава. По умолчанию max только отмечает
нарушения: удалить сообщение или человека он может, только если вы это разрешили.
Всё здесь работает от вашего личного аккаунта, в группах, где вы админ. Несколько слов, которые встретятся ниже:
- Админ — участник с правами управлять группой. Некоторые команды учитывают только ваши ответы и ответы админов.
-
Локальная копия — сообщения, которые
maxхранит на этом компьютере. Отчёты и задачи берут данные из неё, поэтому видят только скачанное. -
Задача — то, что ждёт вас, например вопрос без ответа.
maxоткрывает и закрывает задачи в локальной копии. -
Правила говорят, что ищет
max personal chats moderate— например, ссылки или флуд, — и что ему можно сделать. - Снимок участников — список участников, сохранённый в один день. Снимки за разные дни показывают, кто вступил и кто ушёл.
| Задача | Команда |
|---|---|
| Найти вопросы, которые ждут ответа | max personal review --unanswered |
| Увидеть, кто вступил, вышел, кого добавили или удалили | max personal chats events |
| Подвести итог недели: решения, обещания, открытые вопросы | max personal review 'date>7d' |
| Вести список того, что ждёт вас | max personal tasks list |
| Убирать спам по своим правилам |
max personal chats rules set, max personal chats moderate
|
| Заменить утёкшую ссылку-приглашение | max personal chats link reset |
| Впустить людей или отказать им | max personal chats requests list|accept|decline |
| Посмотреть активность за неделю | max personal stats chats show |
| Сохранять список участников каждый день | max personal chats members fetch --track |
| Найти участников, похожих на ботов или спамеров | max personal chats members audit |
Полный список команд для групп — ниже. Подробно о каждой — группы и каналы в руководстве по использованию; каждая опция — в справочнике команд.
Эти проверки может выполнять за вас AI-агент (например, Claude Code, Codex, Cursor или Gemini CLI). Агенту с терминалом нужен навык max; агенту в приложении без терминала — MCP-сервер. Ниже — ваш запрос, команда агента и результат.
Имена, сообщения и результаты ниже вымышлены. Команды показаны отдельно от ответа: агент читает данные и оформляет их для вас.
Начните с вопросов, которые давно ждут вас или админов.
Ваш запрос:
Что в «Поход» осталось без ответа больше четырёх часов?
Команда:
max personal review 'chat:"Поход"' --unanswered 4h --jsonПример ответа агента:
3 вопроса ждут ответа.
Участник Вопрос Ожидание Лена Во сколько выезд в субботу? 6 часов Артём Палатки общие? 12 часов Ира Кто возьмёт котелок? 15 часов Откройте вопрос, чтобы проверить переписку вокруг него.
Это правила review: вопросом считается «?» вне ссылки или ответ вам/админу. Прямой ответ либо следующая реплика вас/админа может закрыть вопрос. Статистический отчёт считает только связанные прямые ответы и может дать другой результат.
Посмотрите события вступления; возраст аккаунта — повод проверить человека, а не доказательство спама.
Ваш запрос:
Кто вступил в «Поход» за неделю? Покажи, кого стоит проверить.
Команда:
max personal chats events "Поход" 'time>=7d' --jsonПример ответа агента:
Новичок Как появился Катя Добавлена Леной Олег Вступил сам Для проверки Олега откройте доступные сведения о нём. Только по возрасту аккаунта удалять нельзя.
События показывают только доступную историю. Текущий список участников можно проверить отдельно.
Меняйте ссылку-приглашение, только если вы об этом попросили.
Ваш запрос:
Ссылка-приглашение в «Поход» утекла. Замени её и разреши добавлять людей только админам.
Заменить ссылку:
max personal chats link reset "Поход" --jsonОграничить добавление участников:
max personal chats update "Поход" --only-admins-add on --jsonПример ответа агента:
Настройка Результат Прежняя ссылка-приглашение Заменена Кто может добавлять участников Только админы Новая ссылка есть в результате; передавайте её только тем, кому она нужна.
Эти команды меняют группу. Запрос из примера разрешает оба изменения; просьба только посмотреть ссылку их не разрешает.
Сначала посмотрите предложения правил без применения действий.
Ваш запрос:
Проверь «Поход» на спам. Пока ничего не удаляй; покажи предложения.
Команда:
max personal chats moderate "Поход" --dry-run --jsonПример ответа агента:
Предлагаемое действие: удалить сообщение с приглашением.
Что найдено Предложение Статус Ссылка-приглашение Удалить сообщение Только предпросмотр Ничего не удалено. Подтвердите конкретное сообщение, если хотите применить действие.
Реальные действия требуют вашего запроса и разрешений профиля. Предпросмотр не даёт разрешения на удаление.
Попросите короткий итог: решения, обязательства и открытые вопросы.
Ваш запрос:
Сделай итог недели по «Поход».
Команда:
max personal review 'chat:"Поход" date>7d' --jsonПример ответа агента:
Решили: выезд в 7:00 от станции.
Взяли на себя:
- Лена — продукты.
- Артём — палатки.
Открыто: кто возьмёт котелок.
Покажу исходные сообщения, если нужно проверить итог.
Агент не нужен: проверка — обычная команда. Два раза в день, с удалением там, где правило стоит на
уровне ask:
0 9,21 * * * max personal chats moderate "Поход" --allow-dangerous >> ~/max-check.log 2>&1Без --allow-dangerous в cron действия уровня ask только планируются и ждут вас. Строки
PATH и XDG_RUNTIME_DIR, без которых max в cron не найдёт Node и ваш вход, — в разделе
как запускать по расписанию.
| Команда | Что делает |
|---|---|
max personal review 'chat:<чат>' --unanswered [длительность] |
вопросы, на которые вы и админы не ответили за указанное время (например, 4h; по умолчанию 24h) |
max personal chats events <чат> |
кто вступил, вышел, кого добавили и удалили, кем; по умолчанию за 7 дней |
max personal chats members list <чат> |
страница участников от MAX (--all — все доступные, до 5000): кто владелец и админы (сразу после admins add роль может быть прежней), когда заведён аккаунт, когда был в сети |
max personal chats rules show|set|unset <чат> |
правила группы |
max personal chats moderate <чат> |
проверка по правилам; делает то, что правила разрешают |
max personal chats members add|remove, admins add|remove
|
участники и админы |
max personal chats requests list <чат> |
заявки в канал с одобрением; видят админы, время заявки неизвестно |
max personal chats requests accept|decline <чат> <человек> |
принять или отклонить одну заявку; --all и --link не поддерживаются |
max personal chats link show|reset <чат> |
ссылка-приглашение; reset — новая, старая перестаёт работать |
max personal chats inspect <ссылка> |
куда ведёт приглашение или публичная ссылка; никуда не вступает |
max personal chats create, max personal chats join <ссылка>, max personal chats leave <чат>
|
создать группу, вступить по ссылке, выйти |
max personal chats update |
настройки, название, описание, фото, кто может закреплять (--all-can-pin) и добавлять людей (--only-admins-add); прочитать настройки — max personal chats show
|
max personal messages delete --for-everyone, pin, unpin
|
удалить у всех, закрепить |
Агент, подключённый через MCP-сервер, может выполнять те же команды в пределах прав профиля.
Команды изменения группы в JSON возвращают operation_id; карточка после создания,
вступления, изменения или замены ссылки находится в chat. Если название или описание
успело измениться, а запрос настроек не завершился, результат — outcome_unknown.
Прочитайте группу через chats show перед повтором: изменение могло примениться частично.
max personal review ведёт в локальной копии список задач; max personal serve в MAX задачи пока не открывает. Вопрос, на который никто не ответил, и
сообщение, где вас упомянули по имени, открывают задачу; ваш ответ её закрывает. Задача ссылается на
сообщение и не копирует его текст.
Посмотрите, что ждёт вас, старые сверху, а затем только вопросы и упоминания в одной группе:
max personal tasks list state:openmax personal tasks list chat:<id чата> "(kind:question OR kind:mention)"Добавьте то, чего правила не видят, например своё обещание, или закройте задачу, на которую не нужно отвечать:
max personal tasks add msg:max/<вы>/<чат>/<сообщение> --type promisemax personal tasks close <задача> --as dismissed --reason no-reply-neededПосмотрите открытые задачи по чатам, самую старую и медиану времени до закрытия:
max personal stats tasks showЗакрытая задача остаётся закрытой, отклонённая не возвращается. Задачу закрывает только ваш ответ —
ответ админа пока нет, — а упоминание через @ник не замечается. Агенту, подключённому через MCP,
доступны те же команды.
Правила группы говорят, что ищет max personal chats moderate и что ему можно с этим сделать. Они хранятся
на вашем компьютере, у каждой группы свои, и никогда не попадают в MAX. Первое set записывает все
правила сразу, со значениями по умолчанию. Ничто не следит за группой в фоне: правило срабатывает,
только когда вы запускаете chats moderate.
Покажите правила. До первого изменения это значения по умолчанию, помеченные как несохранённые:
max personal chats rules show "Поход"Удалять сообщение со ссылкой:
max personal chats rules set "Поход" links deleteЗаблокировать этих людей по номеру…
max personal chats rules set "Поход" blocked 12345,67890…и удалять их, когда они пишут или вступают:
max personal chats rules set "Поход" blockedPeople removeУдалять, не спрашивая вас:
max personal chats rules set "Поход" consent.delete allowПосмотреть, что сделала бы проверка, ничего не делая:
max personal chats moderate "Поход" --dry-runПроверить, что нового с прошлого запуска, и действовать:
max personal chats moderate "Поход"| Правило | По умолчанию | Что значит |
|---|---|---|
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, действует только там, где уровень — allow; действия уровня ask
остаются планом для вас, серверных форм нет.
chats moderate --json возвращает { item: { chat_id, rows } }. --since-time принимает время ISO 8601
или 30m, 2h, 1d, а не номер сообщения, и не сдвигает сохранённое место.
Место следующей проверки хранится вместе с правилами; старое место из сессии переносится
автоматически перед первым запуском. CLI и личный MCP используют одно место.
Если в группе есть ваш бот с правами админа, ту же проверку может делать он: max <бот> bot chats moderate. Он умеет то, чего не умеет личный аккаунт, — банить удалённых, чтобы они не вернулись по
ссылке. Возраст аккаунта ему недоступен. Подробно — проверка группы ботом.
-
Бана нет. Удалённый человек может вернуться по ссылке-приглашению: личный аккаунт не умеет
банить. Замените ссылку (
max personal chats link reset) или проверяйте группу ботом — он банит. -
Заявки на вступление — только у канала с одобрением. У закрытой группы одобрения нет: по
ссылке входят сразу. В канале с одобрением
chats joinтолько отправляет заявку (requested: true).chats requests listне показывает, когда человек попросился: MAX этого не сообщает. Ответить всем сразу и отобрать заявки по ссылке нельзя. -
Не больше 10 действий за проверку (
--max-actions). Удаления считаются в лимит отправок в час; упёрлась в лимит — остальное ждёт следующей проверки. - До 1000 сообщений за проверку в CLI. Если их больше, следующая проверка продолжит с того места.
- Одно вступление — весь список участников. Чтобы узнать возраст аккаунта новенького, проверка читает список участников целиком; в большой группе это десятки запросов к MAX.
- Ничего не следит за группой само. Проверка идёт, только когда её запустили вы, агент по вашей просьбе или ваше расписание.
Посмотрите активность за неделю: сообщения, людей, которые писали, и ответы. Для точечных вопросов — кто отвечает, кому нужна помощь и остаются ли новички — откройте статистику.
Ваш запрос:
Покажи активность «Поход» за неделю и отметь пробелы в истории.
Команда:
max personal stats chats show "Поход" --since-time 7d --offline --jsonПример ответа агента:
Показатель В доступной истории Сообщения 120 Писали участников 18 Ответы 30 История неполная: это наблюдаемые числа, а не полный итог группы. События вступления и ухода в этом локальном запросе не запрашивались.
Без --offline CLI также запрашивает события вступления и ухода. Сохранённые ежедневные
наблюдения состава остаются доступны локально. Первый отчёт не восстановит прошлые списки
участников за дни до начала сбора.
max personal chats members fetch читает участников в локальную копию: сохраняет их профили, изменения,
число участников за день и результат проверки полноты. --budget ограничивает число страниц.
При неполном списке никто не записывается как вышедший: для этого нужен весь доступный список и
известное число участников группы, не превышающее число прочитанных. В MAX списки часто частичные;
увеличение бюджета помогает только там, где сервер действительно отдаёт остальные страницы.
Чтобы собирать состав каждый день, добавьте группу в список отслеживания: max personal chats tracking add <группа>
(сразу участников не читает) или max personal chats members fetch <группа> --track. Пока работает
max personal server, он получает состав отслеживаемых групп: первый раз через минуту после подключения,
затем раз в сутки. Если состав уже сохранён сегодня по UTC, включая неполный ответ, автоматическое
получение пропускается; повторить вручную можно через max personal chats members fetch <группа>.
Отслеживание не запускает сервер и не продлевает его время работы без дела (idle timeout): для
ежедневной истории держите max personal server запущенным постоянно. max personal chats tracking list показывает
отслеживаемые группы и последнее сохранённое число участников; show — состояние группы и снимки
числа участников за последние 30 дней. max personal chats tracking remove <группа> прекращает
автоматическое получение; накопленная история остаётся доступной через max personal chats members history.
max personal chats members history показывает сохранённые вступления, выходы и изменения профиля в порядке
времени; запрос time>=7d ограничивает период. Команда не обращается к MAX. Время вступления берётся
из ответа MAX, если оно известно, иначе это первое обнаружение человека. Время выхода — первый полный
снимок без него, а не точный момент ухода. Первое чтение создаёт исходный состав: эти люди не обязательно
вступили в день чтения. chats members list --offline показывает последний полностью сохранённый
состав: частичные чтения не заменяют его. Если полного снимка ещё не было, этот список может быть пустым,
хотя отдельные профили и события уже сохранены.
Профили и история остаются в локальной копии рядом с сообщениями.
max personal chats members audit читает участников и показывает признаки подозрительных аккаунтов.
--budget ограничивает страницы, --min-score — минимальную оценку. Это подсказка для проверки человеком:
никто не удаляется, админы и владелец исключены; more означает неполный список, unknown — неизвестные
признаки. MAX не предоставляет все признаки Telegram. С --offline проверка недоступна.
«Не писал» означает, что сообщения человека не найдены в локальной истории; это не доказательство,
что он никогда не писал в группе.
--deep <n> дополнительно проверяет первых n участников полностью, по одному в секунду: профиль и до 1000
сохранённых сообщений каждого. Публичные списки спамеров ведут только аккаунты Telegram, поэтому для MAX
они не запрашиваются, и в ответе это сказано.
«Поход» ниже — вымышленная группа для примера. Сначала загрузите её сообщения через messages sync,
если их ещё нет в локальной копии, затем сохраните текущий состав и подготовьте отчёт:
max personal chats tracking add "Поход" --jsonmax personal chats members fetch "Поход" --jsonmax personal stats chats show "Поход" --since-time 7d --by day --timezone Europe/Madrid --jsonmax personal chats members history "Поход" 'time>=7d' --offline --jsonmax personal chats tracking show "Поход" --offline --jsonmax personal chats members audit "Поход" --jsonПопросите агента указать число сообщений и активных отправителей, вопросы без ответа, изменения состава
и дни со снимками участников. В отчёте должны остаться признаки неполноты: complete, more, unknown
и отсутствие снимков за отдельные дни. Для следующего отчёта повторяйте сбор участников; первый отчёт
не может показать выходы, которые произошли до первого сохранённого состава.