POKERCLOCK — CONECTOR WHATSAPP (TESTE)

REQUISITOS
Node.js 22 ou superior, Google Chrome e um número já registrado no WhatsApp.
O número precisa pertencer ao grupo que vai receber os alertas. Números virtuais
podem ser recusados pelo WhatsApp. Esta integração não oficial não evita bloqueios.

COMO USAR
1. Extraia a pasta inteira e execute Iniciar.cmd. O primeiro início instala as
   dependências npm, sem baixar outro Chrome. Mantenha a janela aberta.
2. No PokerClock https://pokerclock-oyu.pages.dev/, clique em WhatsApp e gere a chave.
3. Em http://127.0.0.1:8910/, cole e salve a chave. Volte ao painel PokerClock,
   etapa 2, e clique em Conectar WhatsApp · gerar QR Code. O QR aparece no painel.
   Também é possível iniciar o vínculo pelo botão Vincular WhatsApp do conector.
4. Leia o QR pelo WhatsApp do celular em Aparelhos conectados. O conector usa uma
   sessão Chrome própria e não usa os perfis que você já mantém abertos no Chrome.
5. Adicione o número ao grupo. Atualize os grupos no conector, se necessário.
6. No mesmo navegador onde criou os timers, abra WhatsApp no PokerClock, escolha
   o grupo, ative ou não Marcar todos, marque Enviar os alertas e salve.
   Conectar o número não ativa os envios por conta própria.
7. Crie um temporizador futuro para testar no grupo escolhido. A mensagem é
   enviada no horário do ALERTA configurado, incluindo a antecedência escolhida.

FUNCIONAMENTO
O conector consulta a Cloudflare a cada 2 segundos, com intervalo mínimo de
5 segundos entre envios. O dono pode fechar o painel. Este computador precisa
continuar ligado, sem suspensão, com internet e o conector em execução.
Quando reiniciar o conector, clique em Vincular WhatsApp para retomar a sessão
salva; o QR só aparece se o WhatsApp exigir novo vínculo.
Para 24h sem depender deste computador, execute o conector em servidor próprio
com Chrome, disco persistente e Node 22+. Essa hospedagem não está incluída.
No Linux: npm ci --omit=dev (PUPPETEER_SKIP_DOWNLOAD=true), depois npm start.
POKERCLOCK_CHROME pode apontar para o executável instalado; POKERCLOCK_DATA_DIR
pode apontar para um disco persistente privado.

LIMITES DO TESTE
Somente os timers do painel que gerou a chave são enviados. A chave não concede
acesso de edição nem acesso a outros painéis. Um destino por painel.
Novas ativações ignoram alertas anteriores à ativação. Alertas de mais de 2
minutos atrás, pausados, removidos ou com inscrições encerradas são ignorados
(tolerância de 5 segundos no fim exato). Assim, uma reconexão não despeja alertas
antigos no grupo. A marcação individual de todos aceita até 32 participantes.
A confirmação no painel não cancela o WhatsApp; use desativar envios ou remova o
timer antes do disparo. Uma mensagem já em envio não pode ser cancelada.
Se o WhatsApp não confirmar um envio, ele fica Não confirmado, sem repetição
automática para evitar mensagens duplicadas. Isso pode significar alerta perdido.
Enviado ao WhatsApp significa aceito pelo cliente, não lido por todos.
Mudanças internas no WhatsApp podem interromper a integração.

PRIVACIDADE
A pasta data contém a chave privada, a sessão WhatsApp e o registro de entregas.
Não compartilhe essa pasta nem QR Codes. O ZIP distribuído não contém esses dados.
A Cloudflare guarda timers, metadados dos grupos (nome/ID/quantidade de membros),
configuração, QR de vínculo temporário e resultados dos envios. O QR só fica
disponível por até 1 minuto, para a sessão privada do organizador. A sessão
autenticada do WhatsApp continua só no conector. Contatos e conversas não são
copiados para a Cloudflare; os IDs dos participantes só são usados localmente
quando você ativa a marcação de todos.
O serviço escuta somente 127.0.0.1:8910. Não exponha esta porta à internet.
Para parar os envios, desligue-os no painel. Para revogar a chave, clique em
Desvincular conector no painel. Para encerrar a sessão WhatsApp, use Desconectar
número no conector ou remova o aparelho conectado no próprio celular.

ATUALIZAÇÃO 1.1
O painel de produção agora mostra QR Code, status e atualização de grupos.
Conectores anteriores devem ser atualizados. Feche o processo antigo, substitua
os arquivos de código e preserve a pasta data para manter a chave e a sessão.
Depois execute Iniciar.cmd. Nenhuma mensagem é enviada só por atualizar.

A sessão já vinculada é retomada automaticamente ao iniciar, se os dados locais
existirem. O arquivo compatibility.mjs aplica um ajuste restrito à versão
1.34.7 da biblioteca para aceitar os identificadores de mensagem atuais do
WhatsApp Web. Referência: https://github.com/wwebjs/whatsapp-web.js/pull/201850


MENSAGEM DO ALERTA — VERSÃO 1.2.2
A mensagem contém somente o título PREPARAR PRA REGISTRAR!, site e torneio.
O tempo restante aproximado foi retirado por enquanto.
