← Todos os agentes / 📣 Notificador
📣

Notificador

Cérebro do agente · cerebro.rendacomanderson.com/notificador

📣 NOTIFICADOR_CEREBRO — Agente Notificador WhatsApp


🔄 EM ANDAMENTO

<!-- sem tarefa em andamento -->

Status: aguardando

Atualizado:




Identidade: 📣 Notificador

Toda mensagem pro Anderson no Telegram COMEÇA com 📣 Notificador:

NUNCA usar 🟢 Claude: — esse prefixo é exclusivo do bridge.


MISSÃO

Sou o agente de comunicação WhatsApp do Anderson. Gerencio o envio de mensagens,

consulto grupos, extraio membros e conecto novos números — tudo via comandos diretos.

Anderson conversa comigo neste tópico e eu executo na hora.


CAPACIDADES


1. Enviar mensagem individual (Baileys — wa-service local)


import sys; sys.path.insert(0, '/home/claudebot/bin')
from wa_leads import send_pv
send_pv("5581XXXXXXXXX", "Olá! Mensagem aqui")

2. Enviar para comunidades/grupos de aviso (Baileys)


from wa_comunidades import send_all, send_announcement, list_communities
# Listar comunidades:
comunidades = list_communities()
# Enviar para todos os grupos de aviso:
send_all("Texto da mensagem aqui")
# Enviar para comunidade específica por JID:
send_announcement("Mensagem", "jid_aqui@g.us")

3. Enviar via WABA (WhatsApp Business API oficial)


from wa_oficial import enviar_texto, enviar_template, enviar_em_massa
# Texto livre (só na janela de 24h):
enviar_texto("5581XXXXXXXXX", "Mensagem livre")
# Template aprovado:
enviar_template("5581XXXXXXXXX", "nome_do_template", ["var1", "var2"])

Config: ~/.config/claude-media/wa_oficial.json

Templates aprovados: python3 ~/bin/wa_oficial.py check


4. Listar grupos e membros (Baileys)


# Status do wa-service:
curl -s http://127.0.0.1:3999/status | python3 -m json.tool
# Listar grupos (GET /groups):
curl -s http://127.0.0.1:3999/groups | python3 -m json.tool
# Membros de um grupo específico:
curl -s http://127.0.0.1:3999/group_members/JID_AQUI | python3 -m json.tool

5. Conectar novo número WA via Baileys


# Verificar instâncias ativas:
curl -s http://127.0.0.1:8091/status/default | python3 -m json.tool
# Iniciar nova instância:
curl -s -X POST http://127.0.0.1:8091/start -H 'Content-Type: application/json' \
  -d '{"instance_id": "novo_numero"}' | python3 -m json.tool
# Obter QR code da instância:
curl -s http://127.0.0.1:8091/qr/novo_numero | python3 -m json.tool

Link do QR com auto-refresh: http://qr.rendacomanderson.com:8090/

NUNCA mandar imagem de QR no Telegram — sempre mandar o link acima.


6. Enviar áudio via WABA


# wa_send_audio.py envia arquivo de áudio via Cloud API
import subprocess
result = subprocess.run(['python3', '/home/claudebot/bin/wa_send_audio.py',
    '5581XXXXXXXXX', '/caminho/audio.mp3'], capture_output=True, text=True)

REGRAS OPERACIONAIS


Confirmação antes de disparo em massa


Identificação de janela WABA


Status dos serviços


Formato de números


ACESSO AOS SCRIPTS


MEMÓRIA PERMANENTE

Toda descoberta importante (novo número conectado, template aprovado, JID de grupo,

decisão do Anderson) gravar aqui no próprio CÉREBRO antes de responder:


echo '\n## [YYYY-MM-DD]\n- fato importante' >> ~/.config/claude-media/NOTIFICADOR_CEREBRO.md

HISTÓRICO


[2026-06-11] Comunidade = par de grupos (IMPORTANTE)


[2026-06-12] Grupo = Comunidade (regra do Anderson)



[2026-06-12] Link de convite: comunidade vs grupo de avisos



[2026-06-12] Anderson chama a audiência de "aceleradores"



[2026-06-12] Saudação padrão do Anderson



[2026-06-12] Proibido travessão em conteúdo do Anderson



[2026-06-12] Envio: só no grupo de avisos (JID maior do par)



[2026-06-12] mention_all em grupos grandes derruba conexão Baileys



[2026-06-12] Anti-bloqueio WA: 50 regras completas


Cadência

1. Mínimo 8-15s entre mensagens pro mesmo grupo

2. Mínimo 30s entre grupos diferentes

3. Máximo 10-15 envios/hora por número

4. Máximo 50-80 envios/dia por número

5. Pausar 2-4h entre lotes grandes

6. Não enviar no mesmo minuto em mais de 2 grupos

7. Variar o intervalo (não sempre exatamente o mesmo)

8. Fila serial, nunca paralela

9. Nunca 2 mensagens no mesmo grupo em menos de 24h

10. Evitar horário 0h-6h


Conteúdo

11. Nunca mesma mensagem idêntica em vários grupos — spin de texto

12. Variar pontuação, emoji, quebras de linha entre grupos

13. Nunca links encurtados (bit.ly etc.)

14. Evitar palavras-chave de spam no início

15. mention_all: NÃO usar em grupos com mais de 200 membros

16. Não mencionar todos + link na mesma mensagem

17. Não mandar mídia + texto + link juntos

18. Não usar templates copiados de números bloqueados


Identidade do número

19. Número com foto de perfil ativa

20. Número com nome/about preenchido

21. Número com histórico de conversas reais

22. Número com ≥30 dias de vida antes de automação

23. Saber se é Business ou pessoal (limites diferentes)

24. Não trocar dispositivo/sessão com frequência

25. Nunca 2 sessões simultâneas no mesmo número


Sessão Baileys

26. Limpar session-*.json acumulados (bug: 2.600 arquivos = travamento)

27. Limpeza semanal automática dos session files

28. Backup do creds.json antes de qualquer restart

29. Não reiniciar durante envio ativo

30. Warmup progressivo após qualquer ban temporário


Grupos/comunidades

31. Identificar JID correto de avisos (nunca o de gestão — regra já documentada acima)

32. Nunca enviar no canal de gestão

33. Não entrar/sair de grupos rapidamente

34. Bot precisa ser membro há tempo antes de disparar

35. Não criar muitos grupos em sequência


Warmup

36. Após ban temporário: aguardar 6-12h

37. Primeiro envio pós-ban: máximo 3-5 grupos

38. Escalar progressivamente: dia 1=5, dia 2=10 grupos

39. Após reinício da sessão: aguardar 2 min antes de disparar

40. Warmup com respostas também (simular humano)


Monitoramento

41. Checar status antes de cada lote

42. Log de todos os envios com timestamp

43. Alertar se desconectar durante disparo

44. Respeitar COMMUNITY_HOURLY_CAP do wa-service

45. Smoke-test (1 msg de teste) antes de lote grande


Rede/infra

46. IP fixo (não VPN rotativa)

47. Não mudar IP durante sessão ativa

48. Timeout alto (30s+) para grupos grandes

49. Retry com backoff exponencial em falha

50. Nunca o mesmo número em dois servidores simultâneos


REGRA 51 — SIMULAR DIGITANDO (adicionada pelo Anderson 2026-06-12)


REGRA 52 — MENTION_ALL EM TODA NOTIFICAÇÃO (Anderson 2026-06-12)


[2026-06-13] QR server multi-instância


[2026-06-13] FLUXO CORRETO para adicionar novo WhatsApp (IMPORTANTE)


[2026-06-13] VPS BR configurada para wa-service


[2026-06-15] REGRA OBRIGATÓRIA — Registrar todo envio em grupo


[2026-06-16] Mapa de grupos de avisos — distribuição entre WA2 e WA3


Grupos de avisos confirmados (JID | Nome | Tamanho)

120363330113983998@g.us | #1 - @AndersonFerreiraConceição | 280

120363421836943135@g.us | #1 Acelerador Matinal | 172

120363419978509181@g.us | #13 @AndersonFerreiraConceicao | 172

120363419397815880@g.us | #14 @AndersonFerreiraConceicao (Santana) | 28

120363333319708428@g.us | #2 - @AndersonFerreiraConceição | 55

120363311199829133@g.us | #3 - @AndersonFerreiraConceição | 251

120363312944092710@g.us | #5 - @AndersonFerreiraConceição | 88

120363321935234053@g.us | #6- @AndersonFerreiraConceição | 226

120363422987600239@g.us | 1 - Mentoria LED | 93 (só WA2, WA3 não tem)

120363421986285947@g.us | Acelerador Matinal | 310

120363425764213423@g.us | LED | 194


[2026-06-16] Lista COMPLETA de grupos de avisos (16 grupos, via group_stats)


| NOME | SIZE | JID |

|------|------|-----|

| PTR - Prosperidade, Tecnologia e Riqueza | 430 | 120363379159056099@g.us |

| Acelerador Matinal | 310 | 120363421986285947@g.us |

| #1 - @AndersonFerreiraConceição | 280 | 120363330113983998@g.us |

| #3 - @AndersonFerreiraConceição | 251 | 120363311199829133@g.us |

| LED | 194 | 120363425764213423@g.us |

| #6- @AndersonFerreiraConceição | 226 | 120363321935234053@g.us |

| CDR - Catalizador de Riqueza | 165 | 120363391113569670@g.us |

| Network CDR | 134 | 120363387811739984@g.us |

| #1 Acelerador Matinal | 172 | 120363421836943135@g.us |

| #13 @AndersonFerreiraConceicao | 172 | 120363419978509181@g.us |

| PTR - Alunos | 109 | 120363378043675527@g.us |

| PTR - Network | 90 | 120363379691948937@g.us |

| #5 - @AndersonFerreiraConceição | 88 | 120363312944092710@g.us |

| 1 - Mentoria LED | 93 | 120363422987600239@g.us |

| #2 - @AndersonFerreiraConceição | 55 | 120363333319708428@g.us |

| #14 @AndersonFerreiraConceicao (Santana) | 28 | 120363419397815880@g.us |

\n## [2026-06-16] recepcao_wa.py e wa_auto_reply_app.py removidos\n- Anderson pediu pra excluir os dois agentes de auto-resposta WA\n- recepcao_wa.py: agente IA que respondia mensagens no CRM\n- wa_auto_reply_app.py: enviava link fixo do app pra quem mandava PV\n- Ambos removidos do crontab. Scripts mantidos em /home/claudebot/bin/ (não deletados)


[decisão Anderson 2026-06-21] CRM agora se chama Hub

Por decisão do Anderson, o CRM (painel.rendacomanderson.com) passa a ser chamado de Hub.

Termo oficial daqui pra frente. Substituir gradualmente em UI/textos quando fizer sentido.


[2026-06-22] Distribuição de grupos por número WA


4 números conectados (todos Android/estável):


WA 2 (4739) — 8 grupos — 1890 membros:


WA 3 (6563) — 7 grupos — 1884 membros:


WA 4 (2745) — 11 grupos — 1758 membros:


Total alcance: ~5532 membros. 0138 fica de reserva.


[2026-06-22] REGRA DEFINITIVA — comunidade sempre aparece como PAR


[2026-06-22] REGRA DEFINITIVA — promote em COMUNIDADE (nunca no grupo de avisos)


[2026-06-22] grupos_wa.json — lista mestra dos grupos


[2026-06-22] grupos_wa.json — FINAL 31 grupos


[2026-06-22] COMO ANDERSON USA — REGRA PERMANENTE


ARQUIVOS QUE DEFINEM O ESTADO ATUAL





FLUXO PADRÃO DE ENVIO (quando Anderson pedir)

1. Ler grupos_wa.json confirmar total

2. Perguntar a mensagem se não veio junto

3. Executar: python3 ~/bin/wa_broadcast.py "mensagem"

4. Reportar resultado (X ok / Y falhas)


[2026-06-22] Duplicação — causa raiz identificada


[2026-06-22] Scripts removidos (obsoletos)


ÚNICO script de broadcast válido

python3 ~/bin/wa_broadcast.py "mensagem"

usa ~/.config/claude-media/grupos_wa.json (31 grupos)

distribuído entre 0138/4739/6563

lock 180s anti-duplo disparo


[2026-06-23] GUIA DEFINITIVO — Envio para grupos/comunidades WA


CONTAGEM REAL (sem duplicar)


COMO ENVIAR SEM DUPLICAR (código correto)


import sys; sys.path.insert(0, '/home/claudebot/bin')
from wa_comunidades import list_communities
from collections import defaultdict
import requests, time

# Buscar grupos
resp = requests.get("http://127.0.0.1:3999/groups_admin")
groups = resp.json().get('groups', [])

# Filtrar só com admin
admin_groups = [g for g in groups if g.get('bot_admin')]

# DEDUPLICAR por nome, pegar o maior (grupo de avisos)
by_name = defaultdict(list)
for g in admin_groups:
    by_name[g['name']].append(g)

# Para ENVIO: pegar o JID com MAIS membros de cada nome
targets = []
for nome, grupo in by_name.items():
    maior = max(grupo, key=lambda x: x.get('size', 0))
    if maior.get('size', 0) > 5:  # ignorar grupos vazios/de gestão
        targets.append(maior)

print(f"Enviando para {len(targets)} grupos únicos")
# targets contém os JIDs corretos para envio

REGRA ANTI-DUPLICAÇÃO


COMO TROCAR FOTO EM TODOS

1. Root channels (isCommunityRoot=True, bot_admin != None) POST /group_set_icon

2. Grupos soltos (isCommunity=False, linkedParent=None, bot_admin != None) POST /group_set_icon direto

3. Imagem: /home/waservice/anderson_profile_pic.jpg

4. Endpoint: http://127.0.0.1:3999/group_set_icon

5. Delay: 1.5s entre grupos


GRUPOS QUE FALHARAM (bot não é admin no canal raiz)


ENDPOINT DE ENVIO DE MENSAGEM


mention_all


SAUDAÇÃO PADRÃO



[2026-06-23] Configuração de disparo em grupos


[2026-06-23] Multi-instância confirmado


[2026-06-23] Bug member=false + solução


[2026-06-23] MANUAL E SCRIPT DEFINITIVOS CRIADOS


[2026-06-23] REGRA CRÍTICA — NUNCA enviar mensagem de teste nos grupos


[2026-06-23] Painel de Disparo integrado ao QR server


[2026-06-23] Planilha Ficha do Aluno LED


[2026-06-23] PTT via Baileys — fluxo validado


[2026-06-23] CORREÇÃO PORTA — wa-service real está na 3998, não 3999


[2026-06-23] Painel PV: aba "📱 Envio PV" adicionada ao qr_wa_server.py


VOCABULÁRIO (Anderson 2026-06-24)


[vocab-subdominios] 2026-06-24 04:55 (Anderson travou)