Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://whiskeysockets-docs-jids-socket-config-ptbr.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Você precisa ser admin para realizar a maioria das operações desta página. Tentar como membro comum lança erro.

Criar um grupo

const group = await sock.groupCreate('My Fab Group', ['1234@s.whatsapp.net', '4564@s.whatsapp.net'])
console.log('created group with id: ' + group.gid)
await sock.sendMessage(group.id, { text: 'hello there' })

Adicionar, remover, promover ou rebaixar

await sock.groupParticipantsUpdate(
    jid,
    ['abcd@s.whatsapp.net', 'efgh@s.whatsapp.net'],
    'add' // 'remove' | 'demote' | 'promote'
)

Atualizar nome e descrição

await sock.groupUpdateSubject(jid, 'New Subject!')

Mudar configurações do grupo

await sock.groupSettingUpdate(jid, 'announcement')
await sock.groupSettingUpdate(jid, 'not_announcement')
await sock.groupSettingUpdate(jid, 'unlocked')
await sock.groupSettingUpdate(jid, 'locked')
ValorEfeito
announcementApenas admins enviam
not_announcementTodos os membros enviam
lockedApenas admins mudam configurações
unlockedTodos os membros mudam configurações

Sair do grupo

await sock.groupLeave(jid)

Pegar o código

const code = await sock.groupInviteCode(jid)
const link = 'https://chat.whatsapp.com/' + code

Revogar o código

const code = await sock.groupRevokeInvite(jid)

Entrar pelo código

const response = await sock.groupAcceptInvite(code)
O code não inclui o prefixo https://chat.whatsapp.com/.

Info do grupo a partir do código

const response = await sock.groupGetInviteInfo(code)

Entrar via groupInviteMessage

const response = await sock.groupAcceptInviteV4(jid, groupInviteMessage)

Consultar metadados do grupo

const metadata = await sock.groupMetadata(jid)
console.log(metadata.id + ', title: ' + metadata.subject + ', description: ' + metadata.desc)
GroupMetadata inclui:
CampoTipoDescrição
idstringJID do grupo
subjectstringNome
descstring | undefinedDescrição
ownerstring | undefinedJID do criador
participantsGroupParticipant[]Lista com flags de admin
ephemeralDurationnumber | undefinedTimer ativo de mensagens efêmeras (segundos)
announceboolean | undefinedtrue quando só admins enviam
restrictboolean | undefinedtrue quando só admins mudam configurações
memberAddModeboolean | undefinedtrue quando todos podem adicionar membros
joinApprovalModeboolean | undefinedtrue quando entradas precisam de aprovação

Listar todos os grupos participados

const response = await sock.groupFetchAllParticipating()

Aprovações de entrada

Listar pedidos pendentes

const response = await sock.groupRequestParticipantsList(jid)

Aprovar ou rejeitar

const response = await sock.groupRequestParticipantsUpdate(
    jid,
    ['abcd@s.whatsapp.net', 'efgh@s.whatsapp.net'],
    'approve' // ou 'reject'
)

Mensagens efêmeras

await sock.groupToggleEphemeral(jid, 86400)
DuraçãoSegundos
Off0
24 horas86400
7 dias604800
90 dias7776000

Mudar quem pode adicionar membros

await sock.groupMemberAddMode(
    jid,
    'all_member_add' // ou 'admin_add'
)
ModoEfeito
all_member_addQualquer membro pode adicionar
admin_addApenas admins podem adicionar

Cache de metadados de grupo

import NodeCache from '@cacheable/node-cache'

const groupCache = new NodeCache({ stdTTL: 5 * 60, useClones: false })

const sock = makeWASocket({
    cachedGroupMetadata: async (jid) => groupCache.get(jid)
})

sock.ev.on('groups.update', async ([event]) => {
    const metadata = await sock.groupMetadata(event.id)
    groupCache.set(event.id, metadata)
})

sock.ev.on('group-participants.update', async (event) => {
    const metadata = await sock.groupMetadata(event.id)
    groupCache.set(event.id, metadata)
})
Cachear metadados reduz latência e queries IQ ao WhatsApp, especialmente em bots com muitos grupos.