Управление группами и каналами

Участники групп, приглашения, настройки, модерация и статистика. Изменения требуют соответствующих прав.

Участники групп, приглашения, настройки, модерация и статистика. Изменения требуют соответствующих прав.

Общие параметры

ПараметрНазначение
-V, --versionoutput the version number.
-v, --verbosemore detail in what is shown: -v ids, -vv everything we know. Default: 0.
--jsonmachine-readable output: one JSON value on stdout; --json=id,text keeps only those fields.
--jsonlmachine-readable output: one JSON object per line, for streaming and jq.
--quietdiagnostics off; a failure is still said.
--tracethe connection's own log lines on stderr — never message content.
--debugon a failure, its whole record — cause and stack — in place of the short line.
--timeout <duration>give up on the whole command after this — 30s, 2m, 500ms.
--offlineanswer from what was recorded and never connect; fails if nothing was.
--no-inputnever prompt or open interactive login; piped input remains available.
--max-input-bytes <bytes>maximum buffered input bytes (default: 16777216).
--max-output-bytes <bytes>maximum machine output bytes (default: 4194304; 0 disables).
--brieffound messages as reference, title, time, sender and excerpt only.
--fullfound messages with their whole text and every provider field.
--dry-runpreview parsed arguments and permissions before running the action.
--yesgo ahead without the question an ask level puts before a write.
--recordkeep this run — ids and timings, never message content.
--no-recorddo not keep it, whatever the configuration says.

Команды

wa chats members

who is in a group

wa chats members list

everyone in a group, a page at a time, with their role and when they were last seen

wa chats members list <chat> [query] [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
queryoptionalfield:value terms; this list filters by none yet.
ПараметрНазначение
--limit <n>how many to show.
--page <n>which page, starting at 1.
--allevery row, no paging.

wa chats members check

members that look like bots, each with its reasons — read from the member list and the local store; never one request per person, and it removes nobody

wa chats members check <chat> [query] [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
queryoptionalfield:value terms that narrow the list — the fields are below.
ПараметрНазначение
--max-pages <pages>at most this many pages of 200 members, a pause between them (default: 10).
--deep <n>also check the top n in full — profile, photos and everything they wrote — one person a second; the public ban lists cover Telegram only, so nothing is sent.

wa chats members history

who joined, who left and whose profile changed, oldest first — what chats members fetch recorded in the local store; never asks the messenger

wa chats members history <chat> [query]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
queryoptionalfield:value terms that narrow the list — the fields are below.

wa chats members fetch

read a group's whole member list into the local store's member history: who joined, who left, daily counts and profile changes; someone is recorded as gone only when every member was read

Changes something on this computer only.

wa chats members fetch <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--trackalso fetch it daily while serve runs; chats tracking lists and edits those chats.
--max-pages <pages>at most this many pages of 200 members, a pause between them (default: 10).

wa chats members add

add people; they are told

Changes something in WhatsApp.

wa chats members add <chat> <person>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
personrequiredan id, or part of a name.

wa chats members remove

remove people; their messages stay

Changes something in WhatsApp.

wa chats members remove <chat> <person>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
personrequiredan id, or part of a name.

wa chats create

create a group or a channel; the people added are told

Changes something in WhatsApp.

wa chats create <title> [person] [options]
АргументОбязательностьНазначение
titlerequiredthe group's name.
personoptionalpeople to add: an id, or part of a name.
ПараметрНазначение
--channela private channel instead of a group; people join it by its link.

wa chats update

rename a group or channel, change its description, or turn one of its settings on or off

Changes something in WhatsApp.

wa chats update <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--title <title>the new name.
--description <text>the new description.
--photo <file>a new photo for it — a .jpg or .jpeg file.
--remove-phototake its photo away; not with --photo.
--only-admins-add <on|off>only admins may add members.
--join-approval <on|off>people ask to join, and an admin lets them in.
--only-admins-send <on|off>only admins may send messages.
--only-admins-edit-info <on|off>only admins may change the name, photo and description.
--disappear-after <duration|off>new messages disappear this long after sending: 24h, 7d, 90d; off keeps them.

a group's invite link

the invite link, if you may see it

wa chats links show <chat>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).

replace the invite link; the old one stops working

Changes something in WhatsApp.

wa chats links reset <chat>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).

wa chats requests

requests to join a group that needs an admin's approval

wa chats requests list

who asked to join, newest first; only admins see them, and reading tells nobody

wa chats requests list <chat> [query] [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
queryoptionalfield:value terms that narrow the list — the fields are below.
ПараметрНазначение
--limit <n>how many to show.
--page <n>which page, starting at 1.

wa chats requests confirm

let them in; the group sees them join

Changes something in WhatsApp.

wa chats requests confirm <chat> <person>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
personrequiredwho asked: an id from chats requests list.

wa chats requests reject

turn the request away

Changes something in WhatsApp.

wa chats requests reject <chat> <person>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
personrequiredwho asked: an id from chats requests list.

wa chats admins

give or take back a member's admin rights

wa chats admins add

make a member an admin, with every right: members, admins, info, pin, link, post, delete

Changes something in WhatsApp.

wa chats admins add <chat> <person>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
personrequiredan id, or part of a name.

wa chats admins remove

take an admin's rights back; they stay a member

Changes something in WhatsApp.

wa chats admins remove <chat> <person>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
personrequiredan id, or part of a name.

wa chats moderate

judge a group's new messages and members by its rules, and act as they allow

Changes something in WhatsApp.

wa chats moderate <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--since-time <time>judge what came after this ISO 8601 time, or 2h / 1d ago; the saved point stays.
--dry-runjudge and plan; do nothing.
--allow-dangerousyes to every action whose level in the group's rules is ask.
--max-actions <n>at most this many actions in one run; 10 if not given.

wa chats pin

keep a chat at the top of your chat list; nobody in it is told

Changes something in WhatsApp.

wa chats pin <chat>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).

wa chats unpin

let a pinned chat move down the chat list again

Changes something in WhatsApp.

wa chats unpin <chat>
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).

wa chats delete

delete a chat from this account; the others in it keep it and its messages

Changes something in WhatsApp.

wa chats delete <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--allow-dangerousgo ahead without the question an ask level puts before a deletion.

wa stats

statistics about messages, chats and their authors

wa stats messages

message statistics from the local store

wa stats messages show

how many stored messages match, by chat, sender, day or hour — the local store only

wa stats messages show [query] [options]
АргументОбязательностьНазначение
queryoptionala strict Lucene query, as for search messages; none counts every stored message; with --saved, more words AND-ed to it.
ПараметрНазначение
--by <group>count by chat, sender, day or hour (default: chat).
--chat <chat>only this chat — the same as chat: in the query; a chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
--source <accounts>every account of this messenger held in the store; personal, bots or all — the same as in: in the query.
--limit <n>how many rows.
--timezone <zone>the IANA timezone for calendar days and hours.
--exactbare words and quotes match their exact form only, as exact:word does; text: still matches every form.
--saved <name|id>count what a saved search or an earlier run matches; options typed here replace its own.

wa stats messages counters

per-counter observations and bounded remote refresh

wa stats messages counters show

show saved counter values and their observation freshness

wa stats messages counters show [query] [options]
АргументОбязательностьНазначение
queryoptionalstrict Lucene query over stored messages.
ПараметрНазначение
--chat <chat>only this chat; a chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
--source <accounts>held accounts of this messenger; refresh uses the active account.
--exactbare words match exact forms.
--timezone <zone>IANA timezone for query dates.
--selection <json>pinned counter-targets selection from counters show; conflicts with query and scope.
--counters <names>distinct views,reactions,comments fields; all three by default.
--limit <n>messages, 1–100; 20 by default.
--max-age <duration>maximum fresh observation age; 24h by default.

wa stats messages counters sync

read authoritative counters for bounded messages and update their local observations

Changes something on this computer only.

wa stats messages counters sync [query] [options]
АргументОбязательностьНазначение
queryoptionalstrict Lucene query over stored messages.
ПараметрНазначение
--chat <chat>only this chat; a chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
--source <accounts>held accounts of this messenger; refresh uses the active account.
--exactbare words match exact forms.
--timezone <zone>IANA timezone for query dates.
--selection <json>pinned counter-targets selection from counters show; conflicts with query and scope.
--counters <names>distinct views,reactions,comments fields; all three by default.
--limit <n>messages, 1–100; 20 by default.
--max-messages <n>maximum messages to refresh, 1–100.
--sync-time <duration>remote refresh budget; 30s by default, maximum 5m.
--dry-runpreview exact stored targets and counter capabilities without connecting.

wa stats messages unanswered

oldest detected questions without an observed qualifying explicit reply

wa stats messages unanswered [query] [options]
АргументОбязательностьНазначение
queryoptionala strict Lucene query; none selects every stored message.
ПараметрНазначение
--source <accounts>every held account of this messenger; personal, bots or all.
--saved <name|id>run a saved report of this kind; typed report options replace stored options.
--timezone <zone>the IANA timezone for calendar date boundaries.
--limit <n>report rows, 1–100; 20 if not given.
--answerer <person>stored name, alias, @username, ID or person:provider/account/id; ambiguous names require a choice; repeat for more.

wa stats messages discussion

viewed posts with little recorded discussion

wa stats messages discussion [query] [options]
АргументОбязательностьНазначение
queryoptionala strict Lucene query; none selects every stored message.
ПараметрНазначение
--source <accounts>every held account of this messenger; personal, bots or all.
--saved <name|id>run a saved report of this kind; typed report options replace stored options.
--timezone <zone>the IANA timezone for calendar date boundaries.
--limit <n>report rows, 1–100; 20 if not given.

wa stats messages top

rank stored messages by a measure or explainable score; counters are snapshots with per-field observation freshness

wa stats messages top [query] [options]
АргументОбязательностьНазначение
queryoptionala strict Lucene query; none selects every stored message.
ПараметрНазначение
--measure <name>the ranking metric; not with score or weights. One of: views, reactions, forwards, comments, replies, thread-size.
--score <preset>helpful/active for authors; engaging for either target. One of: helpful, active, engaging.
--weights <json>the complete component weights; replaces preset weights.
--source <accounts>every held account of this messenger; personal, bots or all.
--timezone <zone>the IANA timezone for dates and active days.
--limit <n>ranked rows, 1–100.
--saved <name|id>run a saved query or ranking run; typed options replace stored options.

wa stats messages evidence

bounded messages, answer pairs or retention members from an exact drilldown selection

wa stats messages evidence <message> [options]
АргументОбязательностьНазначение
messagerequiredthe canonical message locator, or retention cohort reference, from drilldown.
ПараметрНазначение
--selection <json>the resolved ranking selection returned in drilldown.
--component <name>the exposed ranking component.
--limit <n>evidence rows, 1–100; 20 if not given.
--cursor <cursor>continue the same component and stored-evidence fingerprint.

wa stats contacts

statistics about human authors

wa stats contacts responses

counts and median/p90 latency for selected human answering identities

wa stats contacts responses [query] [options]
АргументОбязательностьНазначение
queryoptionala strict Lucene query; none selects every stored message.
ПараметрНазначение
--source <accounts>every held account of this messenger; personal, bots or all.
--saved <name|id>run a saved report of this kind; typed report options replace stored options.
--timezone <zone>the IANA timezone for calendar date boundaries.
--limit <n>report rows, 1–100; 20 if not given.
--answerer <person>stored name, alias, @username, ID or person:provider/account/id; ambiguous names require a choice; repeat for more.

wa stats contacts top

rank the human authors of stored messages by a measure or explainable score; counters are snapshots with per-field observation freshness

wa stats contacts top [query] [options]
АргументОбязательностьНазначение
queryoptionala strict Lucene query; none selects every stored message.
ПараметрНазначение
--measure <name>the ranking metric; not with score or weights. One of: messages, words, reactions, replies, answers, answer-time, threads, active-days.
--score <preset>helpful/active for authors; engaging for either target. One of: helpful, active, engaging.
--weights <json>the complete component weights; replaces preset weights.
--source <accounts>every held account of this messenger; personal, bots or all.
--timezone <zone>the IANA timezone for dates and active days.
--limit <n>ranked rows, 1–100.
--saved <name|id>run a saved query or ranking run; typed options replace stored options.

wa stats contacts evidence

bounded messages, answer pairs or retention members from an exact drilldown selection

wa stats contacts evidence <person> [options]
АргументОбязательностьНазначение
personrequiredthe exact native person id from the ranking row.
ПараметрНазначение
--selection <json>the resolved ranking selection returned in drilldown.
--component <name>the exposed ranking component.
--limit <n>evidence rows, 1–100; 20 if not given.
--cursor <cursor>continue the same component and stored-evidence fingerprint.

wa stats chats

statistics about one chat

wa stats chats show

a group's or channel's numbers for a period: messages, active members, replies, reactions, questions answered, joins and leaves — counted from the local store; joins and leaves too

wa stats chats show <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--since-time <time>ISO 8601, or 2h / 1d ago; 7 days ago if not given.
--by <group>also one row per calendar day or week (weeks start on Monday).
--timezone <zone>the IANA timezone for calendar days.

wa stats chats newcomers

known-join members and their help within a join window

wa stats chats newcomers <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--since-time <time>from this ISO 8601 time, or 2h / 1d ago; 30d ago if not given.
--until-time <time>through this ISO 8601 time, or 2h / 1d ago.
--within <duration>the help window after a known newcomer join.
--saved <name|id>run a saved report of this kind; typed report options replace stored options.
--timezone <zone>the IANA timezone for calendar date boundaries.
--limit <n>report rows, 1–100; 20 if not given.
--answerer <person>stored name, alias, @username, ID or person:provider/account/id; ambiguous names require a choice; repeat for more.

wa stats chats retention

joining cohorts and observed checkpoint membership from saved roster observations

wa stats chats retention <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--since-time <time>joining period starts at ISO 8601 or a relative time; last 90 days by default.
--until-time <time>joining period ends at this time; now by default.
--checkpoints <durations>up to 10 increasing joining ages, comma separated; 1d,7d,30d by default.
--within <duration>activity and early departure window after joining; 7d by default.
--by <group>group joining dates by calendar day or Monday week. One of: day, week.
--timezone <zone>IANA timezone for joining cohorts.
--limit <n>cohorts and member evidence, 1–100.

wa stats tasks

task statistics

wa stats tasks show

per chat: how many tasks are open, the oldest open one, the median time to close

wa stats tasks show [options]
ПараметрНазначение
--chat <chat>only this chat; a chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
--type <type>only this type: question, request, mention or promise.

wa stats charts

a chart's data from a chat's statistics, and optionally a dark SVG or PNG image

Changes something on this computer only.

wa stats charts <chat> [options]
АргументОбязательностьНазначение
chatrequireda chat: its name, or its WhatsApp id (…@lid, …@g.us, …@newsletter).
ПараметрНазначение
--chart-kind <messages|active|membership>what to draw: messages, active authors, or joins and leaves. Default: messages.
--by <group>one point per calendar day or week (weeks start on Monday). Default: day.
--since-time <time>ISO 8601, or 2h / 1d ago; 7 days ago if not given.
--timezone <zone>the IANA timezone for calendar days.
--output <file>write a dark image to a new .svg or .png file.

Коды выхода

Branch on the code, not on the text: the text can change, the code does not.

CodeWhen
0it worked
2validation_error
3configuration_error
4authentication_error
5permission_error
6not_found
7confirmation_required
8rate_limited
9timeout
10network_error
11provider_error
12provider_unavailable
13invalid_response
14outcome_unknown
130cancelled
1anything else

0 and only 0 means the operation was done. 14 (outcome_unknown) means a message may have gone: repeat it only with the same --operation-id, which WhatsApp uses to drop a second copy.