Repository navigation
people
Эта страница нужна, когда вы хотите больше узнать об одном человеке: кто он, что писал вам или в ваших группах и не похож ли его аккаунт на бота или спамера. Вы узнаете, как посмотреть профиль человека, собрать его сообщения для пересказа, проверить аккаунт, прежде чем ему доверять, и вести свои имена и заметки о людях.
Несколько слов, которые встретятся ниже:
-
Локальная копия — сообщения, которые
maxхранит на этом компьютере. Числа и сообщения на этой странице берутся из неё, поэтому показывают только то, что было скачано. -
Профиль здесь — то, что MAX сообщает о человеке: имя, описание, фото, отметки. Это не
профиль входа
max. - Человек указывается его id или частью имени. Если часть имени подходит нескольким людям, команда останавливается и перечисляет их; повторите её с id.
| Задача | Команда |
|---|---|
| Узнать, кто это и где вы с ним переписываетесь | max personal contacts profile |
| Прочитать, что он писал, во всех чатах или в названных | max personal contacts context |
| Проверить, похож ли аккаунт на бота, фейк или спамера | max personal contacts check |
| Проверить самых подозрительных участников группы | max personal chats members audit --deep |
| Записать, что аккаунт в MAX и аккаунт в Telegram — один человек | max personal contacts link |
| Вести своё имя и заметки о человеке |
max personal contacts alias, max personal contacts notes
|
Все опции этих команд — в справочнике команд для контактов.
max personal contacts profile 20000002
max personal contacts profile 20000002 --jsonКоманда показывает, что MAX сообщает о человеке, и сколько его сообщений лежит в локальной копии в каждом общем чате:
{
"id": "20000002",
"name": "Пример Примеров",
"usernames": [],
"bio": "Книги и велосипед",
"phone": "***0123",
"flags": { "bot": false },
"registered": { "at": "2021-03-14T00:00:00.000Z", "source": "max", "precision": "day" },
"hasPhoto": true,
"seen": "2026-10-08T07:12:00.000Z",
"chats": [
{ "id": "30000003", "title": "Пример Примеров", "kind": "dialog", "theirMessages": 128,
"firstAt": "2024-02-11T09:14:00.000Z", "lastAt": "2026-10-05T18:02:00.000Z", "complete": true },
{ "id": "-40000004", "title": "Книжный клуб", "kind": "group", "theirMessages": 37,
"firstAt": "2025-06-01T10:00:00.000Z", "lastAt": "2026-09-30T20:41:00.000Z", "complete": false }
],
"aliases": [
{ "name": "Пример П.", "firstSeenAt": "2024-03-02T08:00:00.000Z",
"lastSeenAt": "2024-03-02T08:00:00.000Z", "source": "profile" }
]
}-
registered— день создания аккаунта по данным самого MAX (source: max). Это не оценка. -
flags—bot: trueу бота. Отметок вроде «мошенник» или «подтверждён» MAX для личных аккаунтов не присылает. -
hasPhoto— есть ли у человека своё фото. -
seen— когда человек был в MAX последний раз, илиonline. MAX отвечает на это отдельным запросом при каждом вызове. Поля нет, если MAX ничего не сказал. -
phone— только последние четыре цифры и только если MAX показывает вам номер.--show-phoneпечатает его целиком. MCP-инструмент всегда скрывает номер. -
chats— все общие чаты и любые другие чаты, где в копии есть его сообщения. -
aliases— прежние имена, под которыми локальная копия видела человека, от старых к новым.source: profile— имя сменилось, пока копия следила;source: messages— имя в его сохранённых сообщениях, приблизительно: заново скачанное сообщение несёт новое имя. Пусто, пока копия не видела смены имени.
Команда делает один запрос к MAX сверх того, что делает contacts show, и человеку ничего не
сообщает. С --offline ответ собирается из локальной копии.
theirMessages, firstAt и lastAt считаются по локальной копии, а не спрашиваются у MAX. Если
complete: false, чат сохранён не с начала: число — это минимум, а firstAt может быть позже его
настоящего первого сообщения. Чтобы дополнить, скачайте чат:
max personal messages sync "Книжный клуб"Без --chat команда собирает обзор из локальной копии: общие чаты, последнее сообщение в каждую
сторону, его недавние сообщения в личном чате и в группах, где его упоминали другие. К MAX она не
подключается и ничего не отмечает прочитанным.
max personal contacts context 20000002С --chat — его последние сообщения в каждом названном чате, от старых к новым, по 20 на чат:
max personal contacts context 20000002 --chat "Книжный клуб" --chat "Работа" --limit 10
max personal contacts context 20000002 --chat "Книжный клуб" --refresh{
"person": { "uid": "p_7", "provider": "max", "id": "20000002", "name": "Пример Примеров" },
"chats": [
{
"chat": { "id": "-40000004", "title": "Книжный клуб", "kind": "group" },
"messages": [
{ "at": "2026-09-29T19:02:00.000Z", "text": "Следующим берём сборник рассказов" },
{ "at": "2026-09-30T20:41:00.000Z", "text": "В четверг могу у себя" }
],
"complete": false,
"more": true
}
],
"limits": { "messages": 10 }
}- По умолчанию у сообщения только время и текст, чтобы агент прочитал много сообщений сразу.
-vдобавляет номер сообщения, ссылку на него, отправителя и на что это ответ;-vv— всё. -
--refreshсначала читает у MAX последнюю страницу каждого чата и берёт из неё сообщения этого человека: искать по отправителю MAX не умеет. Без--refreshответ берётся из копии. -
more: true— есть сообщения старше лимита;complete: false— копия хранит чат не с начала. - У голосового сообщения есть
transcript, когда оно переведено в текст.
max personal contacts check 20000002{
"person": { "id": "20000002", "name": "Пример Примеров", "username": null, "provider": "max" },
"score": 3,
"reasons": [
{ "reason": "no_bio", "weight": 1, "source": "messenger" },
{ "reason": "link_first", "weight": 2, "source": "store" }
],
"registries": [
{ "name": "cas", "answer": "unknown", "checkedAt": "2026-10-07T08:00:00.000Z",
"detail": "lists Telegram accounts only, not max" },
{ "name": "lols", "answer": "unknown", "checkedAt": "2026-10-07T08:00:00.000Z",
"detail": "lists Telegram accounts only, not max" }
],
"unknown": [],
"checkedAt": "2026-10-07T08:00:00.000Z"
}Оценка складывает веса найденных причин. Это подсказка, а не вывод: у многих настоящих людей нет фото или описания, поэтому такие причины весят мало.
| Причина | Вес | Что значит |
|---|---|---|
new_account |
2 | аккаунт создан меньше 30 дней назад, по дате от MAX |
link_first |
2 | его первое сохранённое сообщение — ссылка |
same_text |
2 | один и тот же текст в нескольких чатах |
no_photo, no_username, no_bio
|
1 | в профиле этого нет |
odd_name |
1 | нет имени, длинный ряд цифр или ссылка в имени |
never_wrote |
1 | в копии нет ни одного его сообщения |
deleted |
1 | аккаунт удалён |
unknown перечисляет признаки, которые не по чему было оценить; низкая оценка при длинном
unknown мало что значит.
Ничего. Публичные списки спамеров (Combot CAS и lols.bot) ведут только аккаунты Telegram, поэтому
max их не спрашивает, и в ответе они отмечены как unknown. Id человека никуда не отправляется.
--offline читает только сохранённое.
max personal chats members audit "Книжный клуб"
max personal chats members audit "Книжный клуб" --deep 10chats members audit оценивает всех участников по списку участников и локальной копии, без
отдельного запроса на каждого, и выводит тех, у кого есть причина, по убыванию оценки. --deep 10
затем делает полную contacts check для десяти с наибольшей оценкой, по человеку в секунду. Никого
не удаляет; владелец и администраторы в список не попадают.
max и tg на одном компьютере пользуются одной локальной копией. Если вы знаете, что аккаунт в MAX
и аккаунт в Telegram — один человек, запишите это:
max personal contacts link 20000002 telegram:1000001
max personal contacts unlink 20000002После этого contacts context без --chat собирает оба аккаунта: общие чаты и сообщения из MAX и
из Telegram. contacts profile и contacts context --chat по-прежнему показывают только тот
аккаунт, который вы назвали. Связь — только то, что записали вы: одинаковое имя в двух мессенджерах никогда не считается одним человеком. Адресную книгу
MAX эта запись не меняет.
max personal contacts alias set "Борис Пример" Боря # ваше имя для человека, только на этом компьютере
max personal contacts alias rm "Борис Пример"
max personal contacts notes add "Борис Пример" --file note.txt # или текст из stdin
max personal contacts notes list "Борис Пример"
max personal contacts notes edit "Борис Пример" <id> --revision 1 --file note.txt
max personal contacts notes remove "Борис Пример" <id>
max personal contacts show "Борис Пример" --with-notes
max personal contacts list --search-notes квартира # люди, в чьих заметках есть этот текстПсевдонимы и заметки хранятся в локальной копии и никогда не уходят в MAX. Псевдоним действует
только в аккаунте, с которым вы работаете; заметка о человеке видна в каждом профиле входа max на
этом компьютере, где этот человек встречается. contacts rename меняет имя в адресной книге MAX —
это другое. Команда находит человека по вашему псевдониму, если псевдоним не совпадает с чужим
именем; иначе нужен id. --revision не даёт изменить заметку, если её поменяли после того, как вы её
прочитали. Обновление контактов сохраняет заметки и псевдонимы, а связывание людей их не объединяет.
Чтобы увидеть, что происходит в целой группе и кто там ждёт ответа, откройте группы, которые вы ведёте. Все команды этой страницы может выполнить за вас AI-агент; как его подключить — в подключении агента через MCP.