Управление группами
Проверяйте группы WhatsApp, участников и вопросы перед выбором действия администратора.
Используйте эту страницу, когда вы участвуете в группах WhatsApp или запускаете ее и хотите, чтобы вам помогали не отставать: находить вопросы, на которые никто не ответил, подводить итоги недели, вести список того, что вас ждет, и подсчитывать активность группы. Чтение отмечает, что ничего не прочитано, поэтому проверка группы не сообщает ее членам, что вы ее просматривали.
Несколько слов на этой странице:
- Идентификатор группы заканчивается на
@g.us([email protected]).wa personal chats list 'kind:group' --offlineперечисляет ваши группы с их идентификаторами; имя группы также работает, если оно есть только в одном чате. - Администратор – это участник с правами управления группой. Некоторые команды учитывают только ваши ответы и ответы администраторов.
- Локальная база данных — это копии сообщений, которые
waхранит на этом компьютере, заполненные путем нажатия истории телефона иserve. Отчеты и задачи используют его, поэтому видят только то, что пришло. - Задание – это что-то, что вас ждет, например вопрос, на который никто не ответил.
waоткрывает и закрывает задачи в локальном хранилище.
Что можно сделать
| Задача | Команда |
|---|---|
| Найдите вопросы, которые ждут ответа | wa personal review --unanswered |
| Итоги недели: решения, обещания, открытые вопросы | wa personal review 'date>7d' |
| Держите список того, что вас ждет | wa personal tasks list |
| Смотрите активность недели | wa personal stats chats show --offline |
| Посмотреть одну группу и кто в ней | wa personal chats show, chats members list |
| Удалить сообщение для всех, как администратор группы | wa personal messages delete --for-everyone |
| Создайте группу, присоединитесь к ней по ее ссылке или покиньте | wa personal chats create, chats join, chats leave |
| Добавляйте или удаляйте людей, назначайте кого-нибудь администратором | wa personal chats members add, chats admins add |
| Переименуйте группу, установите или удалите ее фотографию или измените тех, кто может добавлять людей | wa personal chats update |
| Показать или заменить ссылку-приглашение | wa personal chats links show, chats links reset |
| Впустить или отклонить людей, которые попросили присоединиться | wa personal chats requests list, chats requests confirm |
| Подпишитесь на канал, прочитайте его публикации или отмените подписку | wa personal chats join, messages sync, chats leave (каналы) |
| Публикация на канале, который вы ведете | wa personal messages send (каналы) |
Каждая опция находится в справке по команде.
С агентом
Ваш ИИ-агент (например, Claude Code, Codex, Cursor или Gemini CLI) может выполнить эти проверки за вас. Агенту с терминалом необходим ва навык; агенту в приложении без терминала необходим сервер MCP.
Имена, сообщения и результаты, приведенные ниже, являются вымышленными.
Кто ждёт ответа
Ваш запрос:> Что в походной группе ждали ответа более четырех часов?
Команда:
wa personal review 'chat:[email protected]' --unanswered 4h --jsonПример ответа агента:
2 вопроса ждут ответа.
| Человек | Вопрос | Ожидание |
| --- | --- | --- |
| Лена | Во сколько мы выезжаем в субботу? | 6 часов |
| Сэм | Палатки общие? | 12 часов |
Знак вопроса за пределами ссылки или ответ вам или администратору открывает вопрос; ваш ответ или ответ администратора закрывает его.
Еженедельный отчет
Ваш запрос:
Подвести итоги недели в походной группе.
Команда:
wa personal review 'chat:[email protected] date>7d' --jsonПример ответа агента:
Решено: выйти в 7:00 со станции.
Привержены: Лена — еда; Сэм — палатки.
Все еще открыто: кто принесет кастрюлю.
По расписанию
Для списка открытых вопросов агент не нужен: это обычная команда, читающая только локальное хранилище.
0 9,21 * * * wa personal review 'chat:[email protected]' --unanswered --json >> ~/hiking-open.jsonl 2>> ~/wa-cron.logcron запускает задания с почти пустой средой: см. выполнение по расписанию.
Что тебя ждет
review и serve хранят в локальном хранилище список задач: что вы должны сделать, и что вам кто-то должен. Задача указывает на свое сообщение и никогда не копирует его. Если правило открывает одно:
– Чат один на один: вопрос, на который вы не ответили, и сообщение, в котором вы упоминаетесь.
- Группа: только вопрос, отвечающий на ваше сообщение, и упоминание о вас. Вопросы других людей – не ваши задачи.
- Канал или чат с самим собой: ничего.
Ваш ответ закрывает задачу. Чтобы записать каждый вопрос в группе, для кого бы он ни был, отметьте группу. В группе с тегами прямой ответ любого участника, кроме того, кто задал вопрос, также закрывает вопрос; более позднее сообщение, которое не отвечает на него, ничего не закрывает:
wa personal tags add --chat [email protected] watch-tasksПри первом заполнении локальной базы задач из вашей истории не открываются; более поздние сообщения делают. Чтобы превратить историю группы в задачи, составьте список того, что будет открываться, а затем откройте это:
wa personal tasks scan [email protected]
wa personal tasks scan [email protected] --last 300 --yesКогда кто-то обещает вам что-то, сохраните это в качестве своей задачи и перечислите, что другие вам должны. Указатель сообщения, ключ задачи PR-4 и другие идентификаторы в этом разделе созданы; реальные берите из поиска, списка или tasks list:
wa personal tasks add msg:whatsapp/100000000000009%40lid/120363000000000001%40g.us/3EB0A1B2C3D4E5F6A7B8 \
--type promise --category other --assignee sender
wa personal tasks list "assignee:any state:open"--assignee sender — тот, кто отправил сообщение; --assignee person:<id> называет кого-то другого, а tasks update <task> --assignee none очищает его. Задача, у которой нет исполнителя, — это нормально: лучше, чем пропущенная.Посмотрите, что вас ждет, сначала самые старые, потом только вопросы и упоминания в одной группе:
wa personal tasks list state:open
wa personal tasks list 'chat:[email protected] (kind:question OR kind:mention)'Добавьте то, что правила не видят, например данное вами обещание, с помощью локатора сообщения из поиска или списка:
wa personal tasks add msg:whatsapp/100000000000009%40lid/120363000000000001%40g.us/3EB0A1B2C3D4E5F6A7B8 \
--type promise --category othertasks categories перечисляет категории, которые может принимать задача. Если задача может быть той же вакансией, что и открытая, tasks add откажется с кодом завершения 2 и выведет список кандидатов; повторите с --into <task> или --new.
Закройте задачу, которая не требует ответа:
wa personal tasks close PR-4 --as dismissed --reason no-reply-neededИИ-агент, который закрывает задачу, указывает, насколько она уверена в --certainty, от 0 до 1. Ниже порога локального хранилища (task_agent_close_min, 0,8 по умолчанию) задача остается открытой с предложением закрытия. tasks list close:suggested находит их; подтвердите его с помощью tasks close <task> или откажитесь от него с помощью tasks reject <task>.
Номера группы
wa personal stats chats show [email protected] --offline
wa personal stats chats show [email protected] --offline --since-time 30d --by weekСообщения, активные участники, ответы, реакции и ответы на вопросы учитываются из локального хранилища за период 7 дней, если --since-time не указано иное. Подсчет охватывает только то, что хранится в локальном хранилище; с натяжкой до ссылки wa там нет, поэтому число - это минимум, а не доказательство молчания. members подсчитывает соединения и оставляет из локального хранилища те, которые перечисляет chats events; для группы, в локальном хранилище пока ничего нет, JSON исключает members, устанавливает для complete значение false и говорит об этом в missing. chats members history показывает, кто присоединился или вышел между выборками участников.
Одна группа и кто в ней состоит
wa personal chats show [email protected]
wa personal chats members list [email protected]chats show выдает тип группы, количество непрочитанных сообщений, время последнего сообщения и ее членов, поскольку они хранятся в локальном хранилище; он никогда не соединяется. chats members list спрашивает WhatsApp, кто сейчас в группе; пока работает serve, он проходит через serve (одно соединение на устройство).
Удаление для всех
wa personal messages delete [email protected] 3EB0AAAAAAAAAAAAAAAAAA --for-everyoneВ группе, которую вы администрируете, это удаляет сообщение другого участника для всех; где угодно, он удаляет ваши собственные. Ему нужно сообщение в локальном хранилище, поскольку WhatsApp также адресует сообщение отправителю. По умолчанию он запрашивает первым, и его нельзя отменить. Без --for-everyone это только для вас: wa просит WhatsApp забрать сообщение со всех ваших устройств и оставить его на других.
Запуск группы
wa personal chats create "Hiking" 100000000000002@lid
wa personal chats members add [email protected] 100000000000002@lid
wa personal chats members remove [email protected] 100000000000003@lid
wa personal chats admins add [email protected] 100000000000002@lid
wa personal chats update [email protected] --title "Hiking club" --only-admins-add on --join-approval on
wa personal chats update [email protected] --only-admins-send on --disappear-after 7d
wa personal chats update [email protected] --photo club.jpg
wa personal chats update [email protected] --remove-photo
wa personal chats links show [email protected]
wa personal chats links reset [email protected]
wa personal chats requests list [email protected]
wa personal chats requests confirm [email protected] 100000000000004@lid
wa personal chats join https://chat.whatsapp.com/AAAAAAAAAAAAAAAAAAAAAA
wa personal chats leave [email protected]- Участники видят каждый из них, поэтому каждый проходит через разрешения профиля и часовой лимит, как при отправке, и подключается (через
serveво время работы). - Добавляются только те люди, которых вы знаете.
chats createиmembers addберут кого-то из вашей адресной книги или кому вы писали, и отказываетесь от всех остальных: WhatsApp блокирует учетные записи, которые добавляют незнакомцев. - Администратор имеет все права. В WhatsApp есть один тип администратора, поэтому
admins addне берет--canи предоставляет их всех. - Одна ссылка для приглашения. В группе есть одна ссылка;
link resetзаменяет его, и старый перестает работать. Это видят только админы. - Настройки.
updateменяет имя, описание,--only-admins-add,--join-approval,--only-admins-send,--only-admins-edit-infoи--disappear-after. Сообщения исчезают через 24 часа, 7 дней или 90 дней, время, которое предлагает WhatsApp; любые другие отклоняются, иoffсохраняет их. - Фотография.
update --photoпринимает квадратный JPEG со стороной от 190 до 720 пикселей — единственный формат, который WhatsApp использует в качестве групповой фотографии.waне конвертирует и не обрезает изображение: сначала экспортируйте его в формате JPEG. Файл, не имеющий имени.jpgили.jpeg, а также переименованный в него PNG или WebP, отклоняется перед подключением.update --remove-photoзабирает фотографию и получает отказ рядом с--photo. Сначала устанавливается или удаляется фотография: если заголовок, описание или заданная вместе с ней настройка не работают, об этом говорит ошибка. - Имя группы тоже работает, как и в каждой команде, присваивающей имя чату:
waсначала ищет его в локальном хранилище, а затем в списке чатов WhatsApp. Достаточно части имени, регистр не имеет значения, и смайлик соответствует невидимому знаку, который часто имеется в копии («Семья❤️» находит «Семья❤»). Имя, совпадающее с несколькими чатами, отклоняется; назовите его по идентификатору…@g.us. Каждое соединение сохраняет группы, в которых вы состоите, в локальном хранилище, поэтомуchats list kind:groupпоказывает их после запускаserve,watchили любой команды, которая подключается. joinв группе, утверждающей присоединение к ответамrequested: true; вы войдете, как только администратор разрешит вам войти.leaveотмечает группу, оставшуюся в локальном хранилище, аwa personal store clear --leftперечисляет ее. Попавшийjoinснимает отметку, как и добавление обратно во время работыserveилиwatch.При использовании--offlinechats members listпоказывает участников, сохраненных ранее, вместо того, чтобы спрашивать WhatsApp.chats members fetchсохраняет список участников в локальном хранилище.chats members historyпоказывает, что было записано при выборке: всех, кто присутствовал при первой выборке, а затем тех, кто присоединился или вышел при каждой последующей выборке.
wa personal chats events [email protected] --offline
wa personal chats events [email protected] 'time>=30d' --jsonchats events перечисляет тех, кто присоединился, ушел, был добавлен, удален, повышен или понижен в должности, а также каждый новый заголовок, начиная с самого старого, в течение 7 дней, если в запросе не указано время (time>=30d). Он отвечает из локального хранилища и никогда не подключается. wa хранит там то, что телефон отправляет вместе с историей группы (служебные сообщения, которые он показывает в чате), и, пока работает wa serve или wa watch, каждое изменение происходит по мере его возникновения; изменение, наблюдаемое в обоих направлениях, сохраняется один раз. Тот, кто вошел или вышел самостоятельно join или leave; кто-то еще делает им add или remove. Изменения по сравнению с предыдущей ссылкой, которую не отправлял телефон, не существует, поэтому пустой список не доказывает, что никто не присоединился.
Агент, подключенный через сервер MCP, может выполнять те же команды, насколько позволяют разрешения профиля.
Сообщества
Сообщество WhatsApp объединяет несколько групп под одним именем. В wa сообщество также является группой, с provider_metadata.community: true, а группа в сообществе называет ее parent_chat_id. Оба содержат то, что WhatsApp говорит о группе, поэтому они отображаются в ответах chats update, chats create и chats join. Локальная база данных хранит их в истории, которую отправляет телефон, поэтому chats list и chats show тоже их показывают. Когда группа добавляется в сообщество при подключенном wa, локальное хранилище присваивает сообществу имя; когда его удаляют, локальное хранилище перестает давать ему имя. В любом случае это сохраняет титул группы и имеет значение.
Список групп сообщества, а также добавление группы в сообщество или удаление ее выполняются по телефону.