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
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContactEventHandler = void 0;
|
|
4
|
+
const baileys_1 = require("@whiskeysockets/baileys");
|
|
5
|
+
class ContactEventHandler {
|
|
6
|
+
constructor(bot, logger) {
|
|
7
|
+
this.bot = bot;
|
|
8
|
+
this.logger = logger;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Configura handlers para eventos de contatos
|
|
12
|
+
*/
|
|
13
|
+
setup(socket) {
|
|
14
|
+
// contacts.upsert - Novos contatos
|
|
15
|
+
socket.ev.on('contacts.upsert', async (updates) => {
|
|
16
|
+
if (!this.bot.config.autoLoadContactInfo)
|
|
17
|
+
return;
|
|
18
|
+
for (const update of updates) {
|
|
19
|
+
try {
|
|
20
|
+
if ((0, baileys_1.isJidGroup)(update.id)) {
|
|
21
|
+
await this.bot.readChat({ id: update.id }, update);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
await this.bot.readUser({ id: update.id }, update);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
this.logger.error('Erro ao processar contacts.upsert', error);
|
|
29
|
+
this.bot.emit('error', error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
// contacts.update - Atualizações de contatos
|
|
34
|
+
socket.ev.on('contacts.update', async (updates) => {
|
|
35
|
+
if (!this.bot.config.autoLoadContactInfo)
|
|
36
|
+
return;
|
|
37
|
+
for (const update of updates) {
|
|
38
|
+
try {
|
|
39
|
+
if ((0, baileys_1.isJidGroup)(update.id)) {
|
|
40
|
+
await this.bot.readChat({ id: update.id }, update);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
await this.bot.readUser({ id: update.id }, update);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
this.logger.error('Erro ao processar contacts.update', error);
|
|
48
|
+
this.bot.emit('error', error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.ContactEventHandler = ContactEventHandler;
|
|
55
|
+
//# sourceMappingURL=ContactEventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactEventHandler.js","sourceRoot":"","sources":["../../../src/wa/events/ContactEventHandler.ts"],"names":[],"mappings":";;;AAAA,qDAA+D;AAI/D,MAAa,mBAAmB;IAI9B,YAAY,GAAgB,EAAE,MAAsB;QAClD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAgB;QACpB,mCAAmC;QACnC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB;gBAAE,OAAO;YAEjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,IAAI,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;oBAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB;gBAAE,OAAO;YAEjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,IAAI,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;oBAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAjDD,kDAiDC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { WASocket, ConnectionState } from '@whiskeysockets/baileys';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
type EventHandler<T = any> = (data: T) => void | Promise<void>;
|
|
4
|
+
export declare class EventManager {
|
|
5
|
+
private socket;
|
|
6
|
+
private listeners;
|
|
7
|
+
private logger;
|
|
8
|
+
private cleanupFunctions;
|
|
9
|
+
constructor(logger: ILoggerService);
|
|
10
|
+
/**
|
|
11
|
+
* Configura o socket para gerenciar eventos
|
|
12
|
+
*/
|
|
13
|
+
setSocket(socket: WASocket): void;
|
|
14
|
+
/**
|
|
15
|
+
* Registra um listener para um evento
|
|
16
|
+
*/
|
|
17
|
+
on<T = any>(event: string, handler: EventHandler<T>): () => void;
|
|
18
|
+
/**
|
|
19
|
+
* Remove um listener
|
|
20
|
+
*/
|
|
21
|
+
off<T = any>(event: string, handler: EventHandler<T>): void;
|
|
22
|
+
/**
|
|
23
|
+
* Limpa todos os listeners
|
|
24
|
+
*/
|
|
25
|
+
cleanup(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Configura listeners core do Baileys
|
|
28
|
+
* NOTA: connection.update é gerenciado exclusivamente pelo ConfigWAEvents
|
|
29
|
+
* para evitar processamento duplicado. EventManager não escuta diretamente.
|
|
30
|
+
*/
|
|
31
|
+
private setupCoreListeners;
|
|
32
|
+
/**
|
|
33
|
+
* Emite um evento para todos os listeners registrados
|
|
34
|
+
*/
|
|
35
|
+
private emit;
|
|
36
|
+
onConnectionUpdate(handler: EventHandler<ConnectionState>): () => void;
|
|
37
|
+
onCredsUpdate(handler: EventHandler): () => void;
|
|
38
|
+
onMessagesUpsert(handler: EventHandler): () => void;
|
|
39
|
+
onMessagesUpdate(handler: EventHandler): () => void;
|
|
40
|
+
onHistorySet(handler: EventHandler): () => void;
|
|
41
|
+
onLIDMappingUpdate(handler: EventHandler): () => void;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventManager = void 0;
|
|
4
|
+
class EventManager {
|
|
5
|
+
constructor(logger) {
|
|
6
|
+
this.socket = null;
|
|
7
|
+
this.listeners = new Map();
|
|
8
|
+
this.cleanupFunctions = [];
|
|
9
|
+
this.logger = logger;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Configura o socket para gerenciar eventos
|
|
13
|
+
*/
|
|
14
|
+
setSocket(socket) {
|
|
15
|
+
this.socket = socket;
|
|
16
|
+
this.setupCoreListeners();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Registra um listener para um evento
|
|
20
|
+
*/
|
|
21
|
+
on(event, handler) {
|
|
22
|
+
if (!this.listeners.has(event)) {
|
|
23
|
+
this.listeners.set(event, new Set());
|
|
24
|
+
}
|
|
25
|
+
this.listeners.get(event).add(handler);
|
|
26
|
+
// Retorna função de cleanup
|
|
27
|
+
return () => {
|
|
28
|
+
this.off(event, handler);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Remove um listener
|
|
33
|
+
*/
|
|
34
|
+
off(event, handler) {
|
|
35
|
+
const handlers = this.listeners.get(event);
|
|
36
|
+
if (handlers) {
|
|
37
|
+
handlers.delete(handler);
|
|
38
|
+
if (handlers.size === 0) {
|
|
39
|
+
this.listeners.delete(event);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Limpa todos os listeners
|
|
45
|
+
*/
|
|
46
|
+
cleanup() {
|
|
47
|
+
// Remove listeners do Baileys
|
|
48
|
+
this.cleanupFunctions.forEach(cleanup => cleanup());
|
|
49
|
+
this.cleanupFunctions = [];
|
|
50
|
+
// Limpa listeners internos
|
|
51
|
+
this.listeners.clear();
|
|
52
|
+
// Log removido para reduzir verbosidade
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Configura listeners core do Baileys
|
|
56
|
+
* NOTA: connection.update é gerenciado exclusivamente pelo ConfigWAEvents
|
|
57
|
+
* para evitar processamento duplicado. EventManager não escuta diretamente.
|
|
58
|
+
*/
|
|
59
|
+
setupCoreListeners() {
|
|
60
|
+
var _a;
|
|
61
|
+
if (!((_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev))
|
|
62
|
+
return;
|
|
63
|
+
// REMOVIDO: Listener duplicado de connection.update
|
|
64
|
+
// O ConfigWAEvents é o único responsável por escutar connection.update
|
|
65
|
+
// EventManager não precisa escutar diretamente para evitar duplicação
|
|
66
|
+
// Creds update
|
|
67
|
+
const credsHandler = (creds) => {
|
|
68
|
+
this.emit('creds.update', creds);
|
|
69
|
+
};
|
|
70
|
+
this.socket.ev.on('creds.update', credsHandler);
|
|
71
|
+
this.cleanupFunctions.push(() => {
|
|
72
|
+
var _a;
|
|
73
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('creds.update', credsHandler);
|
|
74
|
+
});
|
|
75
|
+
// Messages
|
|
76
|
+
const messagesUpsertHandler = (data) => {
|
|
77
|
+
this.emit('messages.upsert', data);
|
|
78
|
+
};
|
|
79
|
+
this.socket.ev.on('messages.upsert', messagesUpsertHandler);
|
|
80
|
+
this.cleanupFunctions.push(() => {
|
|
81
|
+
var _a;
|
|
82
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('messages.upsert', messagesUpsertHandler);
|
|
83
|
+
});
|
|
84
|
+
const messagesUpdateHandler = (data) => {
|
|
85
|
+
this.emit('messages.update', data);
|
|
86
|
+
};
|
|
87
|
+
this.socket.ev.on('messages.update', messagesUpdateHandler);
|
|
88
|
+
this.cleanupFunctions.push(() => {
|
|
89
|
+
var _a;
|
|
90
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('messages.update', messagesUpdateHandler);
|
|
91
|
+
});
|
|
92
|
+
// Contacts
|
|
93
|
+
const contactsUpsertHandler = (data) => {
|
|
94
|
+
this.emit('contacts.upsert', data);
|
|
95
|
+
};
|
|
96
|
+
this.socket.ev.on('contacts.upsert', contactsUpsertHandler);
|
|
97
|
+
this.cleanupFunctions.push(() => {
|
|
98
|
+
var _a;
|
|
99
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('contacts.upsert', contactsUpsertHandler);
|
|
100
|
+
});
|
|
101
|
+
const contactsUpdateHandler = (data) => {
|
|
102
|
+
this.emit('contacts.update', data);
|
|
103
|
+
};
|
|
104
|
+
this.socket.ev.on('contacts.update', contactsUpdateHandler);
|
|
105
|
+
this.cleanupFunctions.push(() => {
|
|
106
|
+
var _a;
|
|
107
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('contacts.update', contactsUpdateHandler);
|
|
108
|
+
});
|
|
109
|
+
// Groups
|
|
110
|
+
const groupsUpdateHandler = (data) => {
|
|
111
|
+
this.emit('groups.update', data);
|
|
112
|
+
};
|
|
113
|
+
this.socket.ev.on('groups.update', groupsUpdateHandler);
|
|
114
|
+
this.cleanupFunctions.push(() => {
|
|
115
|
+
var _a;
|
|
116
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('groups.update', groupsUpdateHandler);
|
|
117
|
+
});
|
|
118
|
+
// Chats
|
|
119
|
+
const chatsDeleteHandler = (data) => {
|
|
120
|
+
this.emit('chats.delete', data);
|
|
121
|
+
};
|
|
122
|
+
this.socket.ev.on('chats.delete', chatsDeleteHandler);
|
|
123
|
+
this.cleanupFunctions.push(() => {
|
|
124
|
+
var _a;
|
|
125
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('chats.delete', chatsDeleteHandler);
|
|
126
|
+
});
|
|
127
|
+
// History (OBRIGATÓRIO no v7.0.0)
|
|
128
|
+
const historyHandler = (data) => {
|
|
129
|
+
this.emit('messaging-history.set', data);
|
|
130
|
+
};
|
|
131
|
+
this.socket.ev.on('messaging-history.set', historyHandler);
|
|
132
|
+
this.cleanupFunctions.push(() => {
|
|
133
|
+
var _a;
|
|
134
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('messaging-history.set', historyHandler);
|
|
135
|
+
});
|
|
136
|
+
// Calls
|
|
137
|
+
const callHandler = (data) => {
|
|
138
|
+
this.emit('call', data);
|
|
139
|
+
};
|
|
140
|
+
this.socket.ev.on('call', callHandler);
|
|
141
|
+
this.cleanupFunctions.push(() => {
|
|
142
|
+
var _a;
|
|
143
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('call', callHandler);
|
|
144
|
+
});
|
|
145
|
+
// LID Mapping (novo no v7.0.0)
|
|
146
|
+
const lidMappingHandler = (data) => {
|
|
147
|
+
this.emit('lid-mapping.update', data);
|
|
148
|
+
};
|
|
149
|
+
this.socket.ev.on('lid-mapping.update', lidMappingHandler);
|
|
150
|
+
this.cleanupFunctions.push(() => {
|
|
151
|
+
var _a;
|
|
152
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.ev.off('lid-mapping.update', lidMappingHandler);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Emite um evento para todos os listeners registrados
|
|
157
|
+
*/
|
|
158
|
+
emit(event, data) {
|
|
159
|
+
const handlers = this.listeners.get(event);
|
|
160
|
+
if (handlers) {
|
|
161
|
+
handlers.forEach(handler => {
|
|
162
|
+
try {
|
|
163
|
+
const result = handler(data);
|
|
164
|
+
// Se retornar uma Promise, trata erros
|
|
165
|
+
if (result instanceof Promise) {
|
|
166
|
+
result.catch(error => {
|
|
167
|
+
this.logger.error(`Erro no handler do evento ${event}`, error);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
this.logger.error(`Erro no handler do evento ${event}`, error);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Métodos de conveniência para eventos comuns
|
|
178
|
+
onConnectionUpdate(handler) {
|
|
179
|
+
return this.on('connection.update', handler);
|
|
180
|
+
}
|
|
181
|
+
onCredsUpdate(handler) {
|
|
182
|
+
return this.on('creds.update', handler);
|
|
183
|
+
}
|
|
184
|
+
onMessagesUpsert(handler) {
|
|
185
|
+
return this.on('messages.upsert', handler);
|
|
186
|
+
}
|
|
187
|
+
onMessagesUpdate(handler) {
|
|
188
|
+
return this.on('messages.update', handler);
|
|
189
|
+
}
|
|
190
|
+
onHistorySet(handler) {
|
|
191
|
+
return this.on('messaging-history.set', handler);
|
|
192
|
+
}
|
|
193
|
+
onLIDMappingUpdate(handler) {
|
|
194
|
+
return this.on('lid-mapping.update', handler);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.EventManager = EventManager;
|
|
198
|
+
//# sourceMappingURL=EventManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../../src/wa/events/EventManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { WASocket } from '@whiskeysockets/baileys';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
import WhatsAppBot from '../WhatsAppBot';
|
|
4
|
+
export declare class GroupEventHandler {
|
|
5
|
+
private bot;
|
|
6
|
+
private logger;
|
|
7
|
+
constructor(bot: WhatsAppBot, logger: ILoggerService);
|
|
8
|
+
/**
|
|
9
|
+
* Configura handlers para eventos de grupos
|
|
10
|
+
*/
|
|
11
|
+
setup(socket: WASocket): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GroupEventHandler = void 0;
|
|
7
|
+
const Chat_1 = __importDefault(require("../../modules/chat/Chat"));
|
|
8
|
+
class GroupEventHandler {
|
|
9
|
+
constructor(bot, logger) {
|
|
10
|
+
this.bot = bot;
|
|
11
|
+
this.logger = logger;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Configura handlers para eventos de grupos
|
|
15
|
+
*/
|
|
16
|
+
setup(socket) {
|
|
17
|
+
// groups.update - Atualizações de grupos
|
|
18
|
+
socket.ev.on('groups.update', async (updates) => {
|
|
19
|
+
if (!this.bot.config.autoLoadGroupInfo)
|
|
20
|
+
return;
|
|
21
|
+
for (const update of updates) {
|
|
22
|
+
try {
|
|
23
|
+
if (!(update === null || update === void 0 ? void 0 : update.id))
|
|
24
|
+
continue;
|
|
25
|
+
const chat = await this.bot.getChat(new Chat_1.default(update.id));
|
|
26
|
+
if (chat == null) {
|
|
27
|
+
await this.bot.readChat({ id: update.id }, update, true);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
await this.bot.readChat({ id: update.id }, update, false);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
this.logger.error('Erro ao processar groups.update', error);
|
|
35
|
+
this.bot.emit('error', error);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
// group-participants.update - Atualizações de participantes
|
|
40
|
+
socket.ev.on('group-participants.update', async (update) => {
|
|
41
|
+
try {
|
|
42
|
+
const { id, participants, action } = update;
|
|
43
|
+
if (!id || !participants || !action)
|
|
44
|
+
return;
|
|
45
|
+
// Mapeia ParticipantAction para UserAction
|
|
46
|
+
// Ignora 'modify' pois não é um UserAction válido
|
|
47
|
+
if (action === 'modify')
|
|
48
|
+
return;
|
|
49
|
+
// UserAction pode ser: "join" | "leave" | UserEvent ("add" | "remove" | "promote" | "demote")
|
|
50
|
+
let userAction = 'add';
|
|
51
|
+
if (action === 'add')
|
|
52
|
+
userAction = 'add';
|
|
53
|
+
else if (action === 'remove')
|
|
54
|
+
userAction = 'remove';
|
|
55
|
+
else if (action === 'promote')
|
|
56
|
+
userAction = 'promote';
|
|
57
|
+
else if (action === 'demote')
|
|
58
|
+
userAction = 'demote';
|
|
59
|
+
for (const participant of participants) {
|
|
60
|
+
const participantId = typeof participant === 'string'
|
|
61
|
+
? participant
|
|
62
|
+
: participant.id || participant;
|
|
63
|
+
await this.bot.groupParticipantsUpdate(userAction, id, participantId, update.author || participantId);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
this.logger.error('Erro ao processar group-participants.update', error);
|
|
68
|
+
this.bot.emit('error', error);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.GroupEventHandler = GroupEventHandler;
|
|
74
|
+
//# sourceMappingURL=GroupEventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupEventHandler.js","sourceRoot":"","sources":["../../../src/wa/events/GroupEventHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WASocket } from '@whiskeysockets/baileys';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
import WhatsAppBot from '../WhatsAppBot';
|
|
4
|
+
/**
|
|
5
|
+
* Handler para messaging-history.set (OBRIGATÓRIO no v7.0.0)
|
|
6
|
+
* Este handler é crítico para armazenar mensagens para getMessage funcionar
|
|
7
|
+
*/
|
|
8
|
+
export declare class HistoryEventHandler {
|
|
9
|
+
private bot;
|
|
10
|
+
private logger;
|
|
11
|
+
constructor(bot: WhatsAppBot, logger: ILoggerService);
|
|
12
|
+
/**
|
|
13
|
+
* Configura handler para messaging-history.set (OBRIGATÓRIO no v7.0.0)
|
|
14
|
+
*/
|
|
15
|
+
setup(socket: WASocket): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.HistoryEventHandler = void 0;
|
|
7
|
+
const ConvertWAMessage_1 = __importDefault(require("../ConvertWAMessage"));
|
|
8
|
+
const ErrorMessage_1 = __importDefault(require("../../messages/ErrorMessage"));
|
|
9
|
+
const ID_1 = require("../ID");
|
|
10
|
+
/**
|
|
11
|
+
* Handler para messaging-history.set (OBRIGATÓRIO no v7.0.0)
|
|
12
|
+
* Este handler é crítico para armazenar mensagens para getMessage funcionar
|
|
13
|
+
*/
|
|
14
|
+
class HistoryEventHandler {
|
|
15
|
+
constructor(bot, logger) {
|
|
16
|
+
this.bot = bot;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Configura handler para messaging-history.set (OBRIGATÓRIO no v7.0.0)
|
|
21
|
+
*/
|
|
22
|
+
setup(socket) {
|
|
23
|
+
socket.ev.on('messaging-history.set', async (update) => {
|
|
24
|
+
var _a;
|
|
25
|
+
if (!this.bot.config.autoSyncHistory)
|
|
26
|
+
return;
|
|
27
|
+
try {
|
|
28
|
+
const { chats, contacts, messages, syncType } = update;
|
|
29
|
+
// Log removido para reduzir verbosidade
|
|
30
|
+
// Processa chats
|
|
31
|
+
if (chats && Array.isArray(chats)) {
|
|
32
|
+
for (const chat of chats) {
|
|
33
|
+
try {
|
|
34
|
+
if (!chat.id)
|
|
35
|
+
continue; // v7: id pode ser null/undefined
|
|
36
|
+
// Armazena chat
|
|
37
|
+
await this.bot.updateChat({
|
|
38
|
+
id: chat.id,
|
|
39
|
+
name: chat.name || undefined,
|
|
40
|
+
timestamp: chat.conversationTimestamp
|
|
41
|
+
? Number(chat.conversationTimestamp) * 1000
|
|
42
|
+
: undefined,
|
|
43
|
+
unreadCount: chat.unreadCount || 0,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
this.logger.error('Erro ao processar chat do history sync', error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Processa contatos
|
|
52
|
+
if (contacts && Array.isArray(contacts)) {
|
|
53
|
+
for (const contact of contacts) {
|
|
54
|
+
try {
|
|
55
|
+
if (!contact.id)
|
|
56
|
+
continue; // v7: id pode ser null/undefined
|
|
57
|
+
// Armazena contato
|
|
58
|
+
await this.bot.updateUser({
|
|
59
|
+
id: contact.id,
|
|
60
|
+
name: contact.notify || contact.verifiedName || contact.name,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
this.logger.error('Erro ao processar contato do history sync', error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Processa mensagens (CRÍTICO: armazenar para getMessage)
|
|
69
|
+
if (messages && Array.isArray(messages)) {
|
|
70
|
+
for (const message of messages) {
|
|
71
|
+
try {
|
|
72
|
+
if (!message.key || !message.key.remoteJid || !message.key.id)
|
|
73
|
+
continue;
|
|
74
|
+
if (message.key.remoteJid === 'status@broadcast')
|
|
75
|
+
continue;
|
|
76
|
+
// CRÍTICO: Armazena mensagem para getMessage funcionar
|
|
77
|
+
await this.bot.store.saveMessage(message.key.remoteJid, message, false);
|
|
78
|
+
// Processa mensagem (opcional, se quiser emitir eventos)
|
|
79
|
+
if (this.bot.config.autoSyncHistory) {
|
|
80
|
+
const msg = await new ConvertWAMessage_1.default(this.bot, message).get();
|
|
81
|
+
msg.isOld = true;
|
|
82
|
+
this.bot.emit('message', msg);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
this.logger.error('Erro ao processar mensagem do history sync', error);
|
|
87
|
+
this.bot.emit('message', new ErrorMessage_1.default((0, ID_1.fixID)(((_a = message === null || message === void 0 ? void 0 : message.key) === null || _a === void 0 ? void 0 : _a.remoteJid) || ''), error instanceof Error ? error : new Error(JSON.stringify(error))));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Log removido para reduzir verbosidade
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
this.logger.error('Erro no history sync', error);
|
|
95
|
+
this.bot.emit('error', error);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.HistoryEventHandler = HistoryEventHandler;
|
|
101
|
+
//# sourceMappingURL=HistoryEventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HistoryEventHandler.js","sourceRoot":"","sources":["../../../src/wa/events/HistoryEventHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { WASocket } from '@whiskeysockets/baileys';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
import { LIDMappingService } from '../services/LIDMappingService';
|
|
4
|
+
import { PendingMessageQueue } from '../services/PendingMessageQueue';
|
|
5
|
+
import WhatsAppBot from '../WhatsAppBot';
|
|
6
|
+
/**
|
|
7
|
+
* Handler para eventos de LID mapping (novo no v7.0.0)
|
|
8
|
+
* Processa mensagens pendentes quando o mapeamento ficar disponível
|
|
9
|
+
*/
|
|
10
|
+
export declare class LIDMappingEventHandler {
|
|
11
|
+
private bot;
|
|
12
|
+
private logger;
|
|
13
|
+
private lidMappingService;
|
|
14
|
+
private pendingMessageQueue;
|
|
15
|
+
constructor(bot: WhatsAppBot, logger: ILoggerService, lidMappingService: LIDMappingService, pendingMessageQueue: PendingMessageQueue);
|
|
16
|
+
/**
|
|
17
|
+
* Configura handler para lid-mapping.update (novo no v7.0.0)
|
|
18
|
+
*/
|
|
19
|
+
setup(socket: WASocket): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LIDMappingEventHandler = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Handler para eventos de LID mapping (novo no v7.0.0)
|
|
6
|
+
* Processa mensagens pendentes quando o mapeamento ficar disponível
|
|
7
|
+
*/
|
|
8
|
+
class LIDMappingEventHandler {
|
|
9
|
+
constructor(bot, logger, lidMappingService, pendingMessageQueue) {
|
|
10
|
+
this.bot = bot;
|
|
11
|
+
this.logger = logger;
|
|
12
|
+
this.lidMappingService = lidMappingService;
|
|
13
|
+
this.pendingMessageQueue = pendingMessageQueue;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Configura handler para lid-mapping.update (novo no v7.0.0)
|
|
17
|
+
*/
|
|
18
|
+
setup(socket) {
|
|
19
|
+
socket.ev.on('lid-mapping.update', async (mapping) => {
|
|
20
|
+
try {
|
|
21
|
+
this.logger.info(`🔄 Evento lid-mapping.update recebido: LID ${mapping.lid} -> PN ${mapping.pn}`);
|
|
22
|
+
// Atualiza o mapeamento no serviço
|
|
23
|
+
await this.lidMappingService.handleLIDMappingUpdate(mapping);
|
|
24
|
+
// Processa mensagens pendentes para este LID
|
|
25
|
+
const pendingCount = this.pendingMessageQueue.getPendingCount(mapping.lid);
|
|
26
|
+
if (pendingCount > 0) {
|
|
27
|
+
this.logger.info(`📤 Processando ${pendingCount} mensagem(ns) pendente(s) para LID ${mapping.lid}`);
|
|
28
|
+
}
|
|
29
|
+
await this.pendingMessageQueue.processPendingMessages(mapping.lid, mapping.pn);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
this.logger.error('Erro ao processar lid-mapping.update', error);
|
|
33
|
+
this.bot.emit('error', error);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.LIDMappingEventHandler = LIDMappingEventHandler;
|
|
39
|
+
//# sourceMappingURL=LIDMappingEventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LIDMappingEventHandler.js","sourceRoot":"","sources":["../../../src/wa/events/LIDMappingEventHandler.ts"],"names":[],"mappings":";;;AAMA;;;GAGG;AACH,MAAa,sBAAsB;IAMjC,YACE,GAAgB,EAChB,MAAsB,EACtB,iBAAoC,EACpC,mBAAwC;QAExC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAgB;QACpB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAmB,EAAE,EAAE;YAC/D,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,OAAO,CAAC,GAAG,UAAU,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBAElG,mCAAmC;gBACnC,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBAE7D,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3E,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,YAAY,sCAAsC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtG,CAAC;gBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAzCD,wDAyCC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WASocket, MessageUpsertType, proto } from '@whiskeysockets/baileys';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
import WhatsAppBot from '../WhatsAppBot';
|
|
4
|
+
export declare class MessageEventHandler {
|
|
5
|
+
private bot;
|
|
6
|
+
private logger;
|
|
7
|
+
constructor(bot: WhatsAppBot, logger: ILoggerService);
|
|
8
|
+
/**
|
|
9
|
+
* Configura handlers para eventos de mensagens
|
|
10
|
+
*/
|
|
11
|
+
setup(socket: WASocket): void;
|
|
12
|
+
/**
|
|
13
|
+
* Lê e processa mensagens (v7.0.0: processa TODAS as mensagens do array)
|
|
14
|
+
*/
|
|
15
|
+
readMessages(messages: proto.IWebMessageInfo[], type?: MessageUpsertType): Promise<void>;
|
|
16
|
+
}
|