As operações de grupo ficam em client.group (WaGroupCoordinator). Os JIDs de grupo terminam em @g.us.
Consultando grupos
WaGroupMetadata inclui o assunto, o dono, a lista de participantes (WaGroupParticipant[] com isAdmin / isSuperAdmin) e o conjunto completo de flags do grupo (announce, restrict, ephemeral, flags de comunidade, …).
Criando um grupo
createGroup retorna o WaGroupMetadata completo do novo grupo — não é preciso chamar queryGroupMetadata depois:
Gerenciando participantes
Os quatro métodos de participantes (addParticipants, removeParticipants, promoteParticipants, demoteParticipants) retornam um WaParticipantActionResult[] tipado — uma entrada por jid que você passou. O IQ como um todo tem sucesso mesmo quando alguns participantes falham (te bloquearam, configurações de privacidade impedem o add, já é membro, …), então inspecione o code por jid para identificar falhas parciais.
Cada resultado também traz phoneNumber e username quando o servidor os resolveu, mais o BinaryNode cru em raw para quaisquer tags extras que o servidor anexou (algumas falhas parciais 409/408 dão dicas de como recuperar).
Configurações do grupo
O setSetting também cobre os toggles booleanos ephemeral, group_history, allow_admin_reports, no_frequently_forwarded e as flags de comunidade. Use-o para ligar/desligar uma flag; para configurações que precisam de um valor (modo ou duração), use os setters dedicados abaixo.
Quem pode adicionar, compartilhar link e ver histórico
Todos os três são apenas para admins — não-admins recebem o erro 403 not-authorized.
Mensagens temporárias
setSetting(groupJid, 'ephemeral', false) é o caminho explÃcito para desligar. Para ligar com uma duração especÃfica, use setEphemeralDuration:
Apenas para admins. Passar 0 desliga as mensagens temporárias — o mesmo que setSetting('ephemeral', false).
Convites
queryInviteCode e revokeInvite são operações de admin — não-admins recebem 403 not-authorized.
leaveGroup resolve para void assim que o servidor confirma a requisição.
Aprovação de entrada
Para grupos que exigem aprovação do admin para entrar:
Comunidades
Comunidades são grupos-pai que vinculam subgrupos:
Outras operações de comunidade incluem deactivateCommunity, transferCommunityOwnership e fetchSubgroupSuggestions.
Eventos de grupo
Mudanças feitas por outras pessoas (assunto, participantes, configurações) chegam no evento group:
Veja Eventos para o payload completo.