trompot 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +195 -20
- package/lib/client/Client.js +93 -28
- package/lib/client/Client.js.map +1 -1
- package/lib/client/ClientFunctionHandler.js +39 -3
- package/lib/client/ClientFunctionHandler.js.map +1 -1
- package/lib/telegram/TelegramAuth.js +36 -1
- package/lib/telegram/TelegramAuth.js.map +1 -1
- package/lib/telegram/TelegramBot.d.ts +11 -0
- package/lib/telegram/TelegramBot.js +101 -15
- package/lib/telegram/TelegramBot.js.map +1 -1
- package/lib/telegram/TelegramEvents.d.ts +8 -1
- package/lib/telegram/TelegramEvents.js +67 -30
- package/lib/telegram/TelegramEvents.js.map +1 -1
- package/lib/telegram/TelegramSendingController.js +59 -17
- package/lib/telegram/TelegramSendingController.js.map +1 -1
- package/lib/telegram/TelegramToRompotConverter.js +44 -14
- package/lib/telegram/TelegramToRompotConverter.js.map +1 -1
- package/lib/wa/Auth.js +17 -5
- package/lib/wa/Auth.js.map +1 -1
- package/lib/wa/ConfigWAEvents.d.ts +6 -10
- package/lib/wa/ConfigWAEvents.js +216 -430
- package/lib/wa/ConfigWAEvents.js.map +1 -1
- package/lib/wa/ConvertWAMessage.js +28 -19
- package/lib/wa/ConvertWAMessage.js.map +1 -1
- package/lib/wa/ID.d.ts +10 -1
- package/lib/wa/ID.js +22 -2
- package/lib/wa/ID.js.map +1 -1
- package/lib/wa/WhatsAppBot.d.ts +58 -11
- package/lib/wa/WhatsAppBot.js +365 -666
- package/lib/wa/WhatsAppBot.js.map +1 -1
- package/lib/wa/constants/ConfigDefaults.d.ts +23 -0
- package/lib/wa/constants/ConfigDefaults.js +27 -0
- package/lib/wa/constants/ConfigDefaults.js.map +1 -0
- package/lib/wa/constants/DisconnectReasons.d.ts +24 -0
- package/lib/wa/constants/DisconnectReasons.js +36 -0
- package/lib/wa/constants/DisconnectReasons.js.map +1 -0
- package/lib/wa/constants/ErrorCodes.d.ts +28 -0
- package/lib/wa/constants/ErrorCodes.js +32 -0
- package/lib/wa/constants/ErrorCodes.js.map +1 -0
- package/lib/wa/constants/JIDPatterns.d.ts +23 -0
- package/lib/wa/constants/JIDPatterns.js +38 -0
- package/lib/wa/constants/JIDPatterns.js.map +1 -0
- package/lib/wa/constants/Timeouts.d.ts +11 -0
- package/lib/wa/constants/Timeouts.js +15 -0
- package/lib/wa/constants/Timeouts.js.map +1 -0
- package/lib/wa/core/ConnectionManager.d.ts +84 -0
- package/lib/wa/core/ConnectionManager.js +256 -0
- package/lib/wa/core/ConnectionManager.js.map +1 -0
- package/lib/wa/core/SessionManager.d.ts +29 -0
- package/lib/wa/core/SessionManager.js +155 -0
- package/lib/wa/core/SessionManager.js.map +1 -0
- package/lib/wa/core/StateManager.d.ts +49 -0
- package/lib/wa/core/StateManager.js +135 -0
- package/lib/wa/core/StateManager.js.map +1 -0
- package/lib/wa/events/CallEventHandler.d.ts +17 -0
- package/lib/wa/events/CallEventHandler.js +155 -0
- package/lib/wa/events/CallEventHandler.js.map +1 -0
- package/lib/wa/events/ChatEventHandler.d.ts +12 -0
- package/lib/wa/events/ChatEventHandler.js +74 -0
- package/lib/wa/events/ChatEventHandler.js.map +1 -0
- package/lib/wa/events/ConnectionEventHandler.d.ts +43 -0
- package/lib/wa/events/ConnectionEventHandler.js +305 -0
- package/lib/wa/events/ConnectionEventHandler.js.map +1 -0
- package/lib/wa/events/ContactEventHandler.d.ts +12 -0
- package/lib/wa/events/ContactEventHandler.js +55 -0
- package/lib/wa/events/ContactEventHandler.js.map +1 -0
- package/lib/wa/events/EventManager.d.ts +43 -0
- package/lib/wa/events/EventManager.js +198 -0
- package/lib/wa/events/EventManager.js.map +1 -0
- package/lib/wa/events/GroupEventHandler.d.ts +12 -0
- package/lib/wa/events/GroupEventHandler.js +74 -0
- package/lib/wa/events/GroupEventHandler.js.map +1 -0
- package/lib/wa/events/HistoryEventHandler.d.ts +16 -0
- package/lib/wa/events/HistoryEventHandler.js +101 -0
- package/lib/wa/events/HistoryEventHandler.js.map +1 -0
- package/lib/wa/events/LIDMappingEventHandler.d.ts +20 -0
- package/lib/wa/events/LIDMappingEventHandler.js +39 -0
- package/lib/wa/events/LIDMappingEventHandler.js.map +1 -0
- package/lib/wa/events/MessageEventHandler.d.ts +16 -0
- package/lib/wa/events/MessageEventHandler.js +218 -0
- package/lib/wa/events/MessageEventHandler.js.map +1 -0
- package/lib/wa/interfaces/ICacheService.d.ts +12 -0
- package/lib/wa/interfaces/ICacheService.js +3 -0
- package/lib/wa/interfaces/ICacheService.js.map +1 -0
- package/lib/wa/interfaces/IConnectionManager.d.ts +15 -0
- package/lib/wa/interfaces/IConnectionManager.js +3 -0
- package/lib/wa/interfaces/IConnectionManager.js.map +1 -0
- package/lib/wa/interfaces/IErrorHandler.d.ts +9 -0
- package/lib/wa/interfaces/IErrorHandler.js +3 -0
- package/lib/wa/interfaces/IErrorHandler.js.map +1 -0
- package/lib/wa/interfaces/ILoggerService.d.ts +13 -0
- package/lib/wa/interfaces/ILoggerService.js +3 -0
- package/lib/wa/interfaces/ILoggerService.js.map +1 -0
- package/lib/wa/interfaces/ISessionManager.d.ts +16 -0
- package/lib/wa/interfaces/ISessionManager.js +3 -0
- package/lib/wa/interfaces/ISessionManager.js.map +1 -0
- package/lib/wa/interfaces/IStateManager.d.ts +41 -0
- package/lib/wa/interfaces/IStateManager.js +3 -0
- package/lib/wa/interfaces/IStateManager.js.map +1 -0
- package/lib/wa/operations/ChatOperations.d.ts +117 -0
- package/lib/wa/operations/ChatOperations.js +349 -0
- package/lib/wa/operations/ChatOperations.js.map +1 -0
- package/lib/wa/operations/GroupOperations.d.ts +31 -0
- package/lib/wa/operations/GroupOperations.js +128 -0
- package/lib/wa/operations/GroupOperations.js.map +1 -0
- package/lib/wa/operations/MessageOperations.d.ts +69 -0
- package/lib/wa/operations/MessageOperations.js +335 -0
- package/lib/wa/operations/MessageOperations.js.map +1 -0
- package/lib/wa/operations/UserOperations.d.ts +100 -0
- package/lib/wa/operations/UserOperations.js +216 -0
- package/lib/wa/operations/UserOperations.js.map +1 -0
- package/lib/wa/services/CacheService.d.ts +45 -0
- package/lib/wa/services/CacheService.js +93 -0
- package/lib/wa/services/CacheService.js.map +1 -0
- package/lib/wa/services/ErrorHandler.d.ts +26 -0
- package/lib/wa/services/ErrorHandler.js +73 -0
- package/lib/wa/services/ErrorHandler.js.map +1 -0
- package/lib/wa/services/LIDMappingService.d.ts +42 -0
- package/lib/wa/services/LIDMappingService.js +132 -0
- package/lib/wa/services/LIDMappingService.js.map +1 -0
- package/lib/wa/services/LIDNormalizationService.d.ts +30 -0
- package/lib/wa/services/LIDNormalizationService.js +136 -0
- package/lib/wa/services/LIDNormalizationService.js.map +1 -0
- package/lib/wa/services/LoggerService.d.ts +44 -0
- package/lib/wa/services/LoggerService.js +85 -0
- package/lib/wa/services/LoggerService.js.map +1 -0
- package/lib/wa/services/PendingMessageQueue.d.ts +46 -0
- package/lib/wa/services/PendingMessageQueue.js +119 -0
- package/lib/wa/services/PendingMessageQueue.js.map +1 -0
- package/lib/wa/services/RetryService.d.ts +25 -0
- package/lib/wa/services/RetryService.js +59 -0
- package/lib/wa/services/RetryService.js.map +1 -0
- package/lib/wa/utils/ConfigValidator.d.ts +15 -0
- package/lib/wa/utils/ConfigValidator.js +66 -0
- package/lib/wa/utils/ConfigValidator.js.map +1 -0
- package/lib/wa/utils/ErrorUtils.d.ts +29 -0
- package/lib/wa/utils/ErrorUtils.js +66 -0
- package/lib/wa/utils/ErrorUtils.js.map +1 -0
- package/lib/wa/utils/Validation.d.ts +18 -0
- package/lib/wa/utils/Validation.js +40 -0
- package/lib/wa/utils/Validation.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -14,6 +14,11 @@ Fork do projeto Rompot. Este repositório é mantido por TelksBr: https://github
|
|
|
14
14
|
- [x] Tratamento de conexão
|
|
15
15
|
- [x] Alta personalização
|
|
16
16
|
- [x] Suporte a Cluster (Beta)
|
|
17
|
+
- [x] Arquitetura modular e escalável
|
|
18
|
+
- [x] Compatível com Baileys v7.0.0
|
|
19
|
+
- [x] Reconexão automática inteligente
|
|
20
|
+
- [x] Gerenciamento de estado centralizado
|
|
21
|
+
- [x] Tratamento de erros robusto
|
|
17
22
|
|
|
18
23
|
| Plataformas | Whatsapp | Telegram (Beta) |
|
|
19
24
|
| ----------------------- | -------- | --------------- |
|
|
@@ -47,42 +52,142 @@ const { Client, WhatsAppBot, TelegramBot } = require("trompot");
|
|
|
47
52
|
|
|
48
53
|
## WhatsApp
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
### ✨ Novidades na Versão Refatorada
|
|
56
|
+
|
|
57
|
+
A biblioteca foi completamente refatorada com uma arquitetura modular, melhorando:
|
|
58
|
+
- **Compatibilidade**: Totalmente compatível com Baileys v7.0.0
|
|
59
|
+
- **Performance**: Caches otimizados e gerenciamento de estado centralizado
|
|
60
|
+
- **Confiabilidade**: Reconexão automática inteligente com retry e backoff exponencial
|
|
61
|
+
- **Manutenibilidade**: Código modular e mais fácil de manter
|
|
62
|
+
- **Logging**: Sistema de logs estruturado e configurável
|
|
63
|
+
|
|
64
|
+
### Conexão e Reconexão Automática
|
|
65
|
+
|
|
66
|
+
O trompot gerencia automaticamente a reconexão com sessões existentes. Se você já autenticou uma vez, não precisará escanear o QR code novamente.
|
|
67
|
+
|
|
68
|
+
**IMPORTANTE:** Use sempre o **mesmo caminho de sessão** para que a reconexão automática funcione.
|
|
51
69
|
|
|
52
70
|
```ts
|
|
53
|
-
|
|
54
|
-
|
|
71
|
+
import Client, { WhatsAppBot } from "trompot";
|
|
72
|
+
|
|
73
|
+
// Configuração do bot com opções avançadas
|
|
74
|
+
const wbot = new WhatsAppBot({
|
|
75
|
+
autoSyncHistory: false, // Sincronizar histórico automaticamente
|
|
76
|
+
useExperimentalServers: true, // Usar servidores experimentais para mídia
|
|
77
|
+
autoLoadContactInfo: false, // Carregar informações de contatos automaticamente
|
|
78
|
+
autoLoadGroupInfo: false, // Carregar informações de grupos automaticamente
|
|
79
|
+
autoRejectCalls: false, // Rejeitar automaticamente todas as chamadas recebidas
|
|
80
|
+
logLevel: 'info', // Nível de log: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent'
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
const client = new Client(wbot);
|
|
84
|
+
|
|
85
|
+
// Use sempre o mesmo caminho de sessão
|
|
86
|
+
const SESSION_PATH = "./whatsapp-session";
|
|
55
87
|
|
|
56
|
-
//
|
|
88
|
+
// Escuta o QR code (só será emitido se não houver sessão válida)
|
|
57
89
|
client.on("qr", async (qr) => {
|
|
58
90
|
try {
|
|
59
91
|
const QRCode = (await import("qrcode")).default;
|
|
92
|
+
console.log("Escaneie o QR code com seu WhatsApp:");
|
|
60
93
|
console.log(await QRCode.toString(qr, { type: "terminal" }));
|
|
61
94
|
} catch (err) {
|
|
62
|
-
console.log("
|
|
95
|
+
console.log("QR Code:", qr);
|
|
63
96
|
}
|
|
64
97
|
});
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Parear código
|
|
68
98
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
99
|
+
// Escuta quando conecta (pode ser reconexão automática ou novo login)
|
|
100
|
+
client.on("open", (update) => {
|
|
101
|
+
if (update.isNewLogin) {
|
|
102
|
+
console.log("✅ Novo login realizado!");
|
|
103
|
+
} else {
|
|
104
|
+
console.log("✅ Reconectado automaticamente com sessão existente!");
|
|
105
|
+
}
|
|
106
|
+
});
|
|
73
107
|
|
|
74
|
-
|
|
108
|
+
// Escuta erros de conexão
|
|
109
|
+
client.on("close", (update) => {
|
|
110
|
+
console.log(`Conexão fechada. Motivo: ${update.reason}`);
|
|
111
|
+
|
|
112
|
+
// Se for erro 401/421 (sessão morta), a biblioteca já limpou automaticamente
|
|
113
|
+
if (update.reason === 401 || update.reason === 421) {
|
|
114
|
+
console.log("⚠️ Sessão desconectada do WhatsApp.");
|
|
115
|
+
console.log("✅ A biblioteca já limpou TODA a sessão automaticamente (creds + todas as keys).");
|
|
116
|
+
console.log("🔄 Reconectando automaticamente em 2 segundos...");
|
|
117
|
+
|
|
118
|
+
// Reconecta automaticamente após 2 segundos
|
|
119
|
+
// A biblioteca já limpou TUDO, então um novo QR code será gerado
|
|
120
|
+
setTimeout(async () => {
|
|
121
|
+
try {
|
|
122
|
+
await client.connect(SESSION_PATH);
|
|
123
|
+
} catch (error) {
|
|
124
|
+
console.error("❌ Erro ao reconectar:", error);
|
|
125
|
+
}
|
|
126
|
+
}, 2000);
|
|
127
|
+
} else if (update.reason === 428) {
|
|
128
|
+
console.warn("⚠️ Erro 428: Connection Terminated (erro temporário). O Baileys tentará reconectar automaticamente.");
|
|
129
|
+
} else if (update.reason === 408) {
|
|
130
|
+
console.warn("⚠️ Erro 408: Request Timeout (erro temporário). O Baileys tentará reconectar automaticamente.");
|
|
131
|
+
} else if (update.reason === 500) {
|
|
132
|
+
console.warn("⚠️ Erro 500: Internal Server Error (erro temporário). A biblioteca tentará reconectar automaticamente.");
|
|
133
|
+
}
|
|
134
|
+
});
|
|
75
135
|
|
|
76
|
-
|
|
77
|
-
|
|
136
|
+
// Conecta - se já houver sessão válida, reconecta automaticamente sem QR code
|
|
137
|
+
await client.connect(SESSION_PATH);
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Como Funciona a Reconexão Automática
|
|
141
|
+
|
|
142
|
+
1. **Primeira vez**: Quando não há sessão, o Baileys gera um QR code. Escaneie com seu WhatsApp.
|
|
143
|
+
2. **Próximas vezes**: Se a sessão estiver válida (`registered: true` no `creds.json`), o Baileys reconecta automaticamente **sem gerar QR code**.
|
|
144
|
+
3. **Sessão expirada**: Se a sessão expirar ou for inválida (erros 401/421), a biblioteca:
|
|
145
|
+
- **Limpa automaticamente** toda a sessão (creds.json + todas as keys)
|
|
146
|
+
- **Gera um novo QR code** quando você chamar `connect()` novamente
|
|
147
|
+
- **O cliente não precisa fazer nada manualmente** - a biblioteca gerencia tudo
|
|
148
|
+
4. **Reconexão inteligente**: O sistema tenta reconectar automaticamente com retry exponencial em caso de falhas temporárias (402, 408, 428, 500).
|
|
149
|
+
5. **Erros temporários**: Erros 402, 408, 428 e 500 são tratados como temporários e permitem reconexão automática sem limpar a sessão.
|
|
150
|
+
6. **Após escanear QR**: Quando você escaneia o QR code, o WhatsApp força uma desconexão (`restartRequired`). A biblioteca cria automaticamente um novo socket e finaliza a conexão corretamente.
|
|
151
|
+
|
|
152
|
+
### Configurações Avançadas do WhatsAppBot
|
|
153
|
+
|
|
154
|
+
```ts
|
|
155
|
+
const wbot = new WhatsAppBot({
|
|
156
|
+
// Sincronização
|
|
157
|
+
autoSyncHistory: false, // Sincronizar histórico de mensagens ao conectar
|
|
158
|
+
|
|
159
|
+
// Carregamento automático
|
|
160
|
+
autoLoadContactInfo: false, // Carregar informações de contatos automaticamente
|
|
161
|
+
autoLoadGroupInfo: false, // Carregar informações de grupos automaticamente
|
|
162
|
+
|
|
163
|
+
// Servidores
|
|
164
|
+
useExperimentalServers: false, // Usar servidores experimentais para download de mídia
|
|
165
|
+
|
|
166
|
+
// Chamadas
|
|
167
|
+
autoRejectCalls: false, // Rejeitar automaticamente todas as chamadas recebidas
|
|
168
|
+
|
|
169
|
+
// Logging
|
|
170
|
+
logLevel: 'info', // Nível de log: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent'
|
|
171
|
+
|
|
172
|
+
// Outras opções do Baileys podem ser passadas aqui
|
|
173
|
+
qrTimeout: 60000, // Timeout para QR code (60 segundos)
|
|
174
|
+
defaultQueryTimeoutMs: 10000, // Timeout padrão para queries
|
|
175
|
+
retryRequestDelayMs: 500, // Delay entre tentativas de retry
|
|
176
|
+
maxMsgRetryCount: 5, // Máximo de tentativas de reenvio de mensagem
|
|
78
177
|
});
|
|
178
|
+
```
|
|
79
179
|
|
|
80
|
-
|
|
180
|
+
### Dicas Importantes
|
|
81
181
|
|
|
82
|
-
|
|
182
|
+
- ✅ **Use sempre o mesmo caminho de sessão** para manter a sessão
|
|
183
|
+
- ✅ **Não delete a pasta de sessão** se quiser reconectar automaticamente
|
|
184
|
+
- ✅ **O QR code só aparece** quando não há sessão válida ou quando a sessão expira
|
|
185
|
+
- ✅ **Erros 401/421**: A biblioteca limpa automaticamente toda a sessão (creds + keys) e gera novo QR code
|
|
186
|
+
- ✅ **Reconexão automática**: A biblioteca gerencia reconexões e limpeza de sessão - o cliente não precisa fazer nada manualmente
|
|
187
|
+
- ✅ **Erros temporários (402, 408, 428, 500)**: A biblioteca tenta reconectar automaticamente sem limpar a sessão
|
|
188
|
+
- ❌ **Não mude o caminho de sessão** entre conexões se quiser reconexão automática
|
|
189
|
+
- ⚠️ **autoRejectCalls**: Quando ativado, todas as chamadas recebidas são rejeitadas automaticamente antes do evento `new-call`
|
|
83
190
|
|
|
84
|
-
await client.connect(auth);
|
|
85
|
-
```
|
|
86
191
|
|
|
87
192
|
## Telegram (Beta)
|
|
88
193
|
|
|
@@ -99,6 +204,8 @@ client.on("open", () => {
|
|
|
99
204
|
|
|
100
205
|
## Configurações
|
|
101
206
|
|
|
207
|
+
### Configuração do Client
|
|
208
|
+
|
|
102
209
|
```ts
|
|
103
210
|
type ConnectionConfig = {
|
|
104
211
|
/** Desativa execução do comando automático */
|
|
@@ -123,7 +230,35 @@ type ConnectionConfig = {
|
|
|
123
230
|
maxTimeout: number;
|
|
124
231
|
};
|
|
125
232
|
|
|
126
|
-
client
|
|
233
|
+
const client = new Client(new WhatsAppBot(), config);
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Configuração do WhatsAppBot
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
const wbot = new WhatsAppBot({
|
|
240
|
+
// Sincronização e histórico
|
|
241
|
+
autoSyncHistory: false, // Sincronizar histórico de mensagens ao conectar
|
|
242
|
+
|
|
243
|
+
// Carregamento automático
|
|
244
|
+
autoLoadContactInfo: false, // Carregar informações de contatos automaticamente
|
|
245
|
+
autoLoadGroupInfo: false, // Carregar informações de grupos automaticamente
|
|
246
|
+
|
|
247
|
+
// Servidores
|
|
248
|
+
useExperimentalServers: false, // Usar servidores experimentais para download de mídia
|
|
249
|
+
|
|
250
|
+
// Chamadas
|
|
251
|
+
autoRejectCalls: false, // Rejeitar automaticamente todas as chamadas recebidas
|
|
252
|
+
|
|
253
|
+
// Logging (novo na versão refatorada)
|
|
254
|
+
logLevel: 'info', // Nível de log: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent'
|
|
255
|
+
|
|
256
|
+
// Outras opções do Baileys
|
|
257
|
+
qrTimeout: 60000, // Timeout para QR code (60 segundos)
|
|
258
|
+
defaultQueryTimeoutMs: 10000, // Timeout padrão para queries
|
|
259
|
+
retryRequestDelayMs: 500, // Delay entre tentativas de retry
|
|
260
|
+
maxMsgRetryCount: 5, // Máximo de tentativas de reenvio de mensagem
|
|
261
|
+
});
|
|
127
262
|
```
|
|
128
263
|
|
|
129
264
|
## ⚙️ Criando comandos
|
|
@@ -160,6 +295,19 @@ client.on("open", (open) => {
|
|
|
160
295
|
|
|
161
296
|
client.on("close", (update) => {
|
|
162
297
|
console.info(`Cliente desconectou! Motivo: ${update.reason}`);
|
|
298
|
+
|
|
299
|
+
// Tratamento de erros específicos
|
|
300
|
+
if (update.reason === 401 || update.reason === 421) {
|
|
301
|
+
console.warn("⚠️ Sessão desconectada do WhatsApp.");
|
|
302
|
+
console.info("✅ A biblioteca já limpou TODA a sessão automaticamente (creds + todas as keys).");
|
|
303
|
+
console.info("🔄 Chame connect() novamente para gerar um novo QR code.");
|
|
304
|
+
} else if (update.reason === 428) {
|
|
305
|
+
console.warn("⚠️ Erro 428: Connection Terminated (erro temporário). O Baileys tentará reconectar automaticamente.");
|
|
306
|
+
} else if (update.reason === 408) {
|
|
307
|
+
console.warn("⚠️ Erro 408: Request Timeout (erro temporário). O Baileys tentará reconectar automaticamente.");
|
|
308
|
+
} else if (update.reason === 500) {
|
|
309
|
+
console.warn("⚠️ Erro 500: Internal Server Error (erro temporário). A biblioteca tentará reconectar automaticamente.");
|
|
310
|
+
}
|
|
163
311
|
});
|
|
164
312
|
|
|
165
313
|
client.on("stop", (update) => {
|
|
@@ -493,6 +641,33 @@ client.demoteUserInChat(chat, user);
|
|
|
493
641
|
client.rejectCall(call);
|
|
494
642
|
```
|
|
495
643
|
|
|
644
|
+
## 🏗️ Arquitetura e Melhorias
|
|
645
|
+
|
|
646
|
+
### Arquitetura Modular
|
|
647
|
+
|
|
648
|
+
A biblioteca foi refatorada com uma arquitetura modular que separa responsabilidades:
|
|
649
|
+
|
|
650
|
+
- **Serviços Base**: LoggerService, CacheService, ErrorHandler, RetryService, LIDMappingService
|
|
651
|
+
- **Gerenciamento de Conexão**: ConnectionManager, SessionManager, StateManager
|
|
652
|
+
- **Event Handlers**: Handlers especializados para cada tipo de evento (mensagens, conexão, grupos, etc.)
|
|
653
|
+
|
|
654
|
+
### Compatibilidade Baileys v7.0.0
|
|
655
|
+
|
|
656
|
+
A biblioteca é totalmente compatível com Baileys v7.0.0, incluindo:
|
|
657
|
+
- Suporte a LIDs (Local Identifiers) e PNs (Phone Numbers) com normalização automática
|
|
658
|
+
- Eventos obrigatórios (`messaging-history.set`, `lid-mapping.update`)
|
|
659
|
+
- Protobufs usando `.create()` em vez de `.fromObject()`
|
|
660
|
+
- Remoção de ACKs automáticos (conforme recomendação do Baileys)
|
|
661
|
+
- Fila de mensagens pendentes para LIDs não mapeados ainda
|
|
662
|
+
- Normalização automática de JIDs com múltiplas estratégias de fallback
|
|
663
|
+
|
|
664
|
+
### Melhorias de Performance
|
|
665
|
+
|
|
666
|
+
- Caches otimizados para metadata de grupos e chaves de sinal
|
|
667
|
+
- Gerenciamento de estado centralizado
|
|
668
|
+
- Reconexão automática com retry exponencial
|
|
669
|
+
- Tratamento de erros robusto e estruturado
|
|
670
|
+
|
|
496
671
|
## Utilitários de Estado do App e Recursos de Negócio (WhatsAppBot)
|
|
497
672
|
|
|
498
673
|
A partir da versão mais recente, o WhatsAppBot oferece métodos utilitários para manipular o estado dos chats e acessar recursos de negócio do WhatsApp Business. Veja exemplos abaixo:
|
package/lib/client/Client.js
CHANGED
|
@@ -86,38 +86,42 @@ class Client extends ClientEvents_1.default {
|
|
|
86
86
|
this.bot.on('message', async (message) => {
|
|
87
87
|
try {
|
|
88
88
|
message.inject({ clientId: this.id, botId: this.bot.id });
|
|
89
|
+
// Marca como lida em background - não bloqueia o processamento
|
|
89
90
|
if (!message.fromMe && !this.config.disableAutoRead) {
|
|
90
91
|
if (!message.isDeleted && !message.isUpdate) {
|
|
91
|
-
|
|
92
|
+
// Executa em background sem aguardar
|
|
93
|
+
message.read().catch(() => {
|
|
94
|
+
// Ignora erros - não é crítico
|
|
95
|
+
});
|
|
92
96
|
}
|
|
93
97
|
}
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
// REMOVIDO: getUser e getChat durante processamento inicial
|
|
99
|
+
// A mensagem já vem com user e chat básicos do ConvertWAMessage
|
|
100
|
+
// Essas chamadas só adicionam dados extras do cache e não são necessárias
|
|
101
|
+
// para processar a mensagem. Se necessário, podem ser chamadas depois em background.
|
|
102
|
+
// Isso torna o processamento instantâneo como era antes.
|
|
96
103
|
if (!message.chat.timestamp ||
|
|
97
104
|
message.timestamp > message.chat.timestamp) {
|
|
98
105
|
message.chat.timestamp = message.timestamp;
|
|
99
106
|
}
|
|
107
|
+
// Atualiza mention - usa dados já disponíveis, sem chamadas adicionais
|
|
108
|
+
// Isso torna o processamento instantâneo
|
|
100
109
|
if (message.mention) {
|
|
101
|
-
if (message.mention.chat.id
|
|
102
|
-
message.mention.chat =
|
|
103
|
-
(await this.getChat(message.mention.chat)) ||
|
|
104
|
-
message.mention.chat;
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
110
|
+
if (message.mention.chat.id == message.chat.id) {
|
|
107
111
|
message.mention.chat = message.chat;
|
|
108
112
|
}
|
|
109
|
-
if (message.mention.user.id
|
|
110
|
-
message.mention.user =
|
|
111
|
-
(await this.getUser(message.mention.user)) ||
|
|
112
|
-
message.mention.user;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
113
|
+
if (message.mention.user.id == message.user.id) {
|
|
115
114
|
message.mention.user = message.user;
|
|
116
115
|
}
|
|
117
116
|
}
|
|
118
117
|
if (this.messageHandler.resolveMessage(message))
|
|
119
118
|
return;
|
|
120
119
|
this.emit('message', message);
|
|
120
|
+
// CRÍTICO: Não processa comandos ou quick responses para mensagens próprias
|
|
121
|
+
// Isso evita loops infinitos quando o bot recebe suas próprias mensagens
|
|
122
|
+
if (message.fromMe) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
121
125
|
if (this.config.disableAutoCommand)
|
|
122
126
|
return;
|
|
123
127
|
if (this.config.disableAutoCommandForOldMessage && message.isOld)
|
|
@@ -125,13 +129,23 @@ class Client extends ClientEvents_1.default {
|
|
|
125
129
|
if (this.config.disableAutoCommandForUnofficialMessage &&
|
|
126
130
|
message.isUnofficial)
|
|
127
131
|
return;
|
|
128
|
-
|
|
132
|
+
// QuickResponse em background - não bloqueia
|
|
133
|
+
this.quickResponseController.searchAndExecute(message).catch(() => {
|
|
134
|
+
// Ignora erros - não é crítico
|
|
135
|
+
});
|
|
129
136
|
const command = this.searchCommand(message.text);
|
|
130
137
|
if (command != null) {
|
|
131
|
-
|
|
138
|
+
// Executa comando - precisa aguardar para capturar erros
|
|
139
|
+
// Mas não bloqueia a emissão da mensagem (já foi emitida acima)
|
|
140
|
+
this.runCommand(command, message, CommandEnums_1.CMDRunType.Exec).catch((err) => {
|
|
141
|
+
console.error('[Client] Erro ao executar comando:', err);
|
|
142
|
+
});
|
|
132
143
|
}
|
|
133
144
|
}
|
|
134
145
|
catch (err) {
|
|
146
|
+
// Só emite ErrorMessage se for um erro crítico
|
|
147
|
+
// Erros em getUser/getChat não devem bloquear a mensagem
|
|
148
|
+
console.error('[Client] Erro crítico ao processar mensagem:', err);
|
|
135
149
|
this.emit('message', new ErrorMessage_1.default(message.chat, err));
|
|
136
150
|
}
|
|
137
151
|
});
|
|
@@ -163,6 +177,12 @@ class Client extends ClientEvents_1.default {
|
|
|
163
177
|
this.bot.on('close', async (update) => {
|
|
164
178
|
try {
|
|
165
179
|
this.emit('close', update);
|
|
180
|
+
// Não reconecta automaticamente apenas para erros 401, 421 (token expirado)
|
|
181
|
+
// 428 foi removido - é erro temporário que permite reconexão
|
|
182
|
+
// 402: Baileys gerencia reconexão automaticamente, não precisamos interferir
|
|
183
|
+
if (update.reason === 401 || update.reason === 421 || update.reason === 402) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
166
186
|
if (this.reconnectTimes < this.config.maxReconnectTimes) {
|
|
167
187
|
this.reconnectTimes++;
|
|
168
188
|
await (0, Generic_1.sleep)(this.config.reconnectTimeout);
|
|
@@ -245,6 +265,20 @@ class Client extends ClientEvents_1.default {
|
|
|
245
265
|
await this.bot.reconnect(alert);
|
|
246
266
|
}
|
|
247
267
|
async stop(reason) {
|
|
268
|
+
// Remove todos os listeners do bot para evitar vazamento de memória
|
|
269
|
+
// Os listeners são reconfigurados quando o bot é reconectado
|
|
270
|
+
this.bot.removeAllListeners('message');
|
|
271
|
+
this.bot.removeAllListeners('open');
|
|
272
|
+
this.bot.removeAllListeners('close');
|
|
273
|
+
this.bot.removeAllListeners('stop');
|
|
274
|
+
this.bot.removeAllListeners('connecting');
|
|
275
|
+
this.bot.removeAllListeners('reconnecting');
|
|
276
|
+
this.bot.removeAllListeners('qr');
|
|
277
|
+
this.bot.removeAllListeners('code');
|
|
278
|
+
this.bot.removeAllListeners('chat');
|
|
279
|
+
this.bot.removeAllListeners('user');
|
|
280
|
+
this.bot.removeAllListeners('call');
|
|
281
|
+
this.bot.removeAllListeners('error');
|
|
248
282
|
await this.bot.stop(reason);
|
|
249
283
|
}
|
|
250
284
|
async logout() {
|
|
@@ -269,9 +303,26 @@ class Client extends ClientEvents_1.default {
|
|
|
269
303
|
});
|
|
270
304
|
}
|
|
271
305
|
async awaitConnectionOpen() {
|
|
272
|
-
|
|
273
|
-
|
|
306
|
+
var _a;
|
|
307
|
+
// Verifica se já está conectado antes de aguardar
|
|
308
|
+
const sock = this.bot.sock;
|
|
309
|
+
const statusIsOnline = this.bot.status === BotStatus_1.BotStatus.Online;
|
|
310
|
+
const sockIsOpen = ((_a = sock === null || sock === void 0 ? void 0 : sock.ws) === null || _a === void 0 ? void 0 : _a.isOpen) === true;
|
|
311
|
+
// Determina se está conectado baseado no tipo de bot
|
|
312
|
+
// Telegram não tem sock, então verifica apenas status
|
|
313
|
+
// WhatsApp precisa de sock.ws.isOpen E status Online
|
|
314
|
+
const isTelegram = !sock; // Telegram não tem sock
|
|
315
|
+
const isAlreadyConnected = isTelegram
|
|
316
|
+
? statusIsOnline
|
|
317
|
+
: (statusIsOnline && sockIsOpen);
|
|
318
|
+
if (isAlreadyConnected) {
|
|
319
|
+
return;
|
|
274
320
|
}
|
|
321
|
+
// Para WhatsApp: Se o socket está aberto mas status não é Online, também não precisa aguardar
|
|
322
|
+
if (!isTelegram && sockIsOpen) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
await this.awaitEvent('open', this.config.maxTimeout);
|
|
275
326
|
}
|
|
276
327
|
getCommandController() {
|
|
277
328
|
if (this.commandController.clientId != this.id) {
|
|
@@ -370,7 +421,9 @@ class Client extends ClientEvents_1.default {
|
|
|
370
421
|
return this.funcHandler.exec('message', this.bot.removeMessage, message);
|
|
371
422
|
}
|
|
372
423
|
async readMessage(message) {
|
|
373
|
-
|
|
424
|
+
// Executa diretamente sem passar por funcHandler para evitar delay
|
|
425
|
+
// readMessage não precisa de validação de conexão - é apenas cache local
|
|
426
|
+
await this.bot.readMessage(message);
|
|
374
427
|
if (message.status == Message_1.MessageStatus.Sending ||
|
|
375
428
|
message.status == Message_1.MessageStatus.Sended ||
|
|
376
429
|
message.status == Message_1.MessageStatus.Received) {
|
|
@@ -426,15 +479,27 @@ class Client extends ClientEvents_1.default {
|
|
|
426
479
|
return stop;
|
|
427
480
|
}
|
|
428
481
|
async send(message) {
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
482
|
+
try {
|
|
483
|
+
message = Message_1.default.apply(message, { clientId: this.id, botId: this.bot.id });
|
|
484
|
+
// changeChatStatus não é crítico - executa em background sem bloquear
|
|
485
|
+
// Isso torna o envio de mensagens instantâneo
|
|
486
|
+
if (!this.config.disableAutoTyping) {
|
|
487
|
+
this.changeChatStatus(message.chat, message.type == 'audio' ? ChatStatus_1.default.Recording : ChatStatus_1.default.Typing).catch(() => {
|
|
488
|
+
// Ignora erros - não é crítico
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
let result;
|
|
492
|
+
if ('file' in message) {
|
|
493
|
+
result = Message_1.default.apply(await this.funcHandler.exec('sendMediaMessage', this.bot.send, message), { clientId: this.id, botId: this.bot.id });
|
|
494
|
+
}
|
|
495
|
+
else {
|
|
496
|
+
result = Message_1.default.apply(await this.funcHandler.exec('sendMessage', this.bot.send, message), { clientId: this.id, botId: this.bot.id });
|
|
497
|
+
}
|
|
498
|
+
return result;
|
|
435
499
|
}
|
|
436
|
-
|
|
437
|
-
|
|
500
|
+
catch (error) {
|
|
501
|
+
console.error('[Client.send] Erro ao enviar mensagem:', error);
|
|
502
|
+
throw error;
|
|
438
503
|
}
|
|
439
504
|
}
|
|
440
505
|
async sendMessage(chat, message, mention) {
|
package/lib/client/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/client/Client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/client/Client.ts"],"names":[],"mappings":"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"}
|