trompot 1.5.0 → 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.
Files changed (144) hide show
  1. package/README.md +195 -20
  2. package/lib/bot/BotEvents.d.ts +2 -0
  3. package/lib/bot/BotEvents.js.map +1 -1
  4. package/lib/client/Client.js +93 -28
  5. package/lib/client/Client.js.map +1 -1
  6. package/lib/client/ClientFunctionHandler.js +39 -3
  7. package/lib/client/ClientFunctionHandler.js.map +1 -1
  8. package/lib/telegram/TelegramAuth.js +36 -1
  9. package/lib/telegram/TelegramAuth.js.map +1 -1
  10. package/lib/telegram/TelegramBot.d.ts +11 -0
  11. package/lib/telegram/TelegramBot.js +101 -15
  12. package/lib/telegram/TelegramBot.js.map +1 -1
  13. package/lib/telegram/TelegramEvents.d.ts +8 -1
  14. package/lib/telegram/TelegramEvents.js +67 -30
  15. package/lib/telegram/TelegramEvents.js.map +1 -1
  16. package/lib/telegram/TelegramSendingController.js +59 -17
  17. package/lib/telegram/TelegramSendingController.js.map +1 -1
  18. package/lib/telegram/TelegramToRompotConverter.js +44 -14
  19. package/lib/telegram/TelegramToRompotConverter.js.map +1 -1
  20. package/lib/wa/Auth.js +17 -5
  21. package/lib/wa/Auth.js.map +1 -1
  22. package/lib/wa/ConfigWAEvents.d.ts +6 -10
  23. package/lib/wa/ConfigWAEvents.js +220 -426
  24. package/lib/wa/ConfigWAEvents.js.map +1 -1
  25. package/lib/wa/ConvertWAMessage.js +28 -19
  26. package/lib/wa/ConvertWAMessage.js.map +1 -1
  27. package/lib/wa/ID.d.ts +10 -1
  28. package/lib/wa/ID.js +22 -2
  29. package/lib/wa/ID.js.map +1 -1
  30. package/lib/wa/WhatsAppBot.d.ts +58 -11
  31. package/lib/wa/WhatsAppBot.js +365 -648
  32. package/lib/wa/WhatsAppBot.js.map +1 -1
  33. package/lib/wa/constants/ConfigDefaults.d.ts +23 -0
  34. package/lib/wa/constants/ConfigDefaults.js +27 -0
  35. package/lib/wa/constants/ConfigDefaults.js.map +1 -0
  36. package/lib/wa/constants/DisconnectReasons.d.ts +24 -0
  37. package/lib/wa/constants/DisconnectReasons.js +36 -0
  38. package/lib/wa/constants/DisconnectReasons.js.map +1 -0
  39. package/lib/wa/constants/ErrorCodes.d.ts +28 -0
  40. package/lib/wa/constants/ErrorCodes.js +32 -0
  41. package/lib/wa/constants/ErrorCodes.js.map +1 -0
  42. package/lib/wa/constants/JIDPatterns.d.ts +23 -0
  43. package/lib/wa/constants/JIDPatterns.js +38 -0
  44. package/lib/wa/constants/JIDPatterns.js.map +1 -0
  45. package/lib/wa/constants/Timeouts.d.ts +11 -0
  46. package/lib/wa/constants/Timeouts.js +15 -0
  47. package/lib/wa/constants/Timeouts.js.map +1 -0
  48. package/lib/wa/core/ConnectionManager.d.ts +84 -0
  49. package/lib/wa/core/ConnectionManager.js +256 -0
  50. package/lib/wa/core/ConnectionManager.js.map +1 -0
  51. package/lib/wa/core/SessionManager.d.ts +29 -0
  52. package/lib/wa/core/SessionManager.js +155 -0
  53. package/lib/wa/core/SessionManager.js.map +1 -0
  54. package/lib/wa/core/StateManager.d.ts +49 -0
  55. package/lib/wa/core/StateManager.js +135 -0
  56. package/lib/wa/core/StateManager.js.map +1 -0
  57. package/lib/wa/events/CallEventHandler.d.ts +17 -0
  58. package/lib/wa/events/CallEventHandler.js +155 -0
  59. package/lib/wa/events/CallEventHandler.js.map +1 -0
  60. package/lib/wa/events/ChatEventHandler.d.ts +12 -0
  61. package/lib/wa/events/ChatEventHandler.js +74 -0
  62. package/lib/wa/events/ChatEventHandler.js.map +1 -0
  63. package/lib/wa/events/ConnectionEventHandler.d.ts +43 -0
  64. package/lib/wa/events/ConnectionEventHandler.js +305 -0
  65. package/lib/wa/events/ConnectionEventHandler.js.map +1 -0
  66. package/lib/wa/events/ContactEventHandler.d.ts +12 -0
  67. package/lib/wa/events/ContactEventHandler.js +55 -0
  68. package/lib/wa/events/ContactEventHandler.js.map +1 -0
  69. package/lib/wa/events/EventManager.d.ts +43 -0
  70. package/lib/wa/events/EventManager.js +198 -0
  71. package/lib/wa/events/EventManager.js.map +1 -0
  72. package/lib/wa/events/GroupEventHandler.d.ts +12 -0
  73. package/lib/wa/events/GroupEventHandler.js +74 -0
  74. package/lib/wa/events/GroupEventHandler.js.map +1 -0
  75. package/lib/wa/events/HistoryEventHandler.d.ts +16 -0
  76. package/lib/wa/events/HistoryEventHandler.js +101 -0
  77. package/lib/wa/events/HistoryEventHandler.js.map +1 -0
  78. package/lib/wa/events/LIDMappingEventHandler.d.ts +20 -0
  79. package/lib/wa/events/LIDMappingEventHandler.js +39 -0
  80. package/lib/wa/events/LIDMappingEventHandler.js.map +1 -0
  81. package/lib/wa/events/MessageEventHandler.d.ts +16 -0
  82. package/lib/wa/events/MessageEventHandler.js +218 -0
  83. package/lib/wa/events/MessageEventHandler.js.map +1 -0
  84. package/lib/wa/interfaces/ICacheService.d.ts +12 -0
  85. package/lib/wa/interfaces/ICacheService.js +3 -0
  86. package/lib/wa/interfaces/ICacheService.js.map +1 -0
  87. package/lib/wa/interfaces/IConnectionManager.d.ts +15 -0
  88. package/lib/wa/interfaces/IConnectionManager.js +3 -0
  89. package/lib/wa/interfaces/IConnectionManager.js.map +1 -0
  90. package/lib/wa/interfaces/IErrorHandler.d.ts +9 -0
  91. package/lib/wa/interfaces/IErrorHandler.js +3 -0
  92. package/lib/wa/interfaces/IErrorHandler.js.map +1 -0
  93. package/lib/wa/interfaces/ILoggerService.d.ts +13 -0
  94. package/lib/wa/interfaces/ILoggerService.js +3 -0
  95. package/lib/wa/interfaces/ILoggerService.js.map +1 -0
  96. package/lib/wa/interfaces/ISessionManager.d.ts +16 -0
  97. package/lib/wa/interfaces/ISessionManager.js +3 -0
  98. package/lib/wa/interfaces/ISessionManager.js.map +1 -0
  99. package/lib/wa/interfaces/IStateManager.d.ts +41 -0
  100. package/lib/wa/interfaces/IStateManager.js +3 -0
  101. package/lib/wa/interfaces/IStateManager.js.map +1 -0
  102. package/lib/wa/operations/ChatOperations.d.ts +117 -0
  103. package/lib/wa/operations/ChatOperations.js +349 -0
  104. package/lib/wa/operations/ChatOperations.js.map +1 -0
  105. package/lib/wa/operations/GroupOperations.d.ts +31 -0
  106. package/lib/wa/operations/GroupOperations.js +128 -0
  107. package/lib/wa/operations/GroupOperations.js.map +1 -0
  108. package/lib/wa/operations/MessageOperations.d.ts +69 -0
  109. package/lib/wa/operations/MessageOperations.js +335 -0
  110. package/lib/wa/operations/MessageOperations.js.map +1 -0
  111. package/lib/wa/operations/UserOperations.d.ts +100 -0
  112. package/lib/wa/operations/UserOperations.js +216 -0
  113. package/lib/wa/operations/UserOperations.js.map +1 -0
  114. package/lib/wa/services/CacheService.d.ts +45 -0
  115. package/lib/wa/services/CacheService.js +93 -0
  116. package/lib/wa/services/CacheService.js.map +1 -0
  117. package/lib/wa/services/ErrorHandler.d.ts +26 -0
  118. package/lib/wa/services/ErrorHandler.js +73 -0
  119. package/lib/wa/services/ErrorHandler.js.map +1 -0
  120. package/lib/wa/services/LIDMappingService.d.ts +42 -0
  121. package/lib/wa/services/LIDMappingService.js +132 -0
  122. package/lib/wa/services/LIDMappingService.js.map +1 -0
  123. package/lib/wa/services/LIDNormalizationService.d.ts +30 -0
  124. package/lib/wa/services/LIDNormalizationService.js +136 -0
  125. package/lib/wa/services/LIDNormalizationService.js.map +1 -0
  126. package/lib/wa/services/LoggerService.d.ts +44 -0
  127. package/lib/wa/services/LoggerService.js +85 -0
  128. package/lib/wa/services/LoggerService.js.map +1 -0
  129. package/lib/wa/services/PendingMessageQueue.d.ts +46 -0
  130. package/lib/wa/services/PendingMessageQueue.js +119 -0
  131. package/lib/wa/services/PendingMessageQueue.js.map +1 -0
  132. package/lib/wa/services/RetryService.d.ts +25 -0
  133. package/lib/wa/services/RetryService.js +59 -0
  134. package/lib/wa/services/RetryService.js.map +1 -0
  135. package/lib/wa/utils/ConfigValidator.d.ts +15 -0
  136. package/lib/wa/utils/ConfigValidator.js +66 -0
  137. package/lib/wa/utils/ConfigValidator.js.map +1 -0
  138. package/lib/wa/utils/ErrorUtils.d.ts +29 -0
  139. package/lib/wa/utils/ErrorUtils.js +66 -0
  140. package/lib/wa/utils/ErrorUtils.js.map +1 -0
  141. package/lib/wa/utils/Validation.d.ts +18 -0
  142. package/lib/wa/utils/Validation.js +40 -0
  143. package/lib/wa/utils/Validation.js.map +1 -0
  144. package/package.json +4 -3
@@ -0,0 +1,218 @@
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.MessageEventHandler = void 0;
7
+ const baileys_1 = require("@whiskeysockets/baileys");
8
+ const ConvertWAMessage_1 = __importDefault(require("../ConvertWAMessage"));
9
+ const ID_1 = require("../ID");
10
+ const ChatType_1 = __importDefault(require("../../modules/chat/ChatType"));
11
+ const long_1 = __importDefault(require("long"));
12
+ const ErrorUtils_1 = require("../utils/ErrorUtils");
13
+ const JIDPatterns_1 = require("../constants/JIDPatterns");
14
+ const ConfigDefaults_1 = require("../constants/ConfigDefaults");
15
+ class MessageEventHandler {
16
+ constructor(bot, logger) {
17
+ this.bot = bot;
18
+ this.logger = logger;
19
+ }
20
+ /**
21
+ * Configura handlers para eventos de mensagens
22
+ */
23
+ setup(socket) {
24
+ // messages.upsert - Novas mensagens (CRÍTICO: processar TODAS as mensagens do array)
25
+ socket.ev.on('messages.upsert', async (m) => {
26
+ await ErrorUtils_1.ErrorUtils.safeExecute(() => this.readMessages((m === null || m === void 0 ? void 0 : m.messages) || [], m.type), 'MessageEventHandler.messages.upsert', this.logger, this.bot);
27
+ });
28
+ // messages.update - Atualizações de mensagens
29
+ socket.ev.on('messages.update', async (messages) => {
30
+ await ErrorUtils_1.ErrorUtils.safeExecute(async () => {
31
+ var _a, _b;
32
+ for (const message of messages || []) {
33
+ try {
34
+ if (!message.key || message.key.remoteJid === JIDPatterns_1.JID_PATTERNS.BROADCAST)
35
+ return;
36
+ await this.readMessages([{ key: message.key, ...message.update }]);
37
+ if (!((_a = message === null || message === void 0 ? void 0 : message.update) === null || _a === void 0 ? void 0 : _a.status))
38
+ return;
39
+ const msg = await new ConvertWAMessage_1.default(this.bot, message).get();
40
+ msg.isUpdate = true;
41
+ this.bot.emit('message', msg);
42
+ }
43
+ catch (err) {
44
+ // Erro individual em mensagem não deve parar o processamento
45
+ const errorMsg = ErrorUtils_1.ErrorUtils.handleMessageError(err, (_b = message === null || message === void 0 ? void 0 : message.key) === null || _b === void 0 ? void 0 : _b.remoteJid, this.logger);
46
+ this.bot.emit('message', errorMsg);
47
+ }
48
+ }
49
+ }, 'MessageEventHandler.messages.update', this.logger, this.bot);
50
+ });
51
+ }
52
+ /**
53
+ * Lê e processa mensagens (v7.0.0: processa TODAS as mensagens do array)
54
+ */
55
+ async readMessages(messages, type = 'notify') {
56
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
57
+ try {
58
+ // CRÍTICO v7.0.0: Processar TODAS as mensagens do array, não apenas a primeira
59
+ for (const message of messages || []) {
60
+ try {
61
+ if (!message)
62
+ continue;
63
+ const key = message.key;
64
+ if (!key)
65
+ continue;
66
+ if (key.remoteJid === JIDPatterns_1.JID_PATTERNS.BROADCAST)
67
+ continue;
68
+ if (!message.message) {
69
+ if (!(message.messageStubType === baileys_1.proto.WebMessageInfo.StubType.CIPHERTEXT)) {
70
+ continue; // Not read other null messages - CORRIGIDO: usar continue em vez de return
71
+ }
72
+ const msgRetryCount = (_a = this.bot.config.msgRetryCounterCache) === null || _a === void 0 ? void 0 : _a.get(key.id);
73
+ if (msgRetryCount !== this.bot.config.maxMsgRetryCount) {
74
+ const time = this.bot.config.retryRequestDelayMs || ConfigDefaults_1.ConfigDefaults.DEFAULT_RETRY_DELAY;
75
+ await new Promise((res) => setTimeout(res, time * ConfigDefaults_1.ConfigDefaults.RETRY_DELAY_MULTIPLIER));
76
+ const newMsgRetryCount = (_b = this.bot.config.msgRetryCounterCache) === null || _b === void 0 ? void 0 : _b.get(key.id);
77
+ if (!this.bot.config.readAllFailedMessages) {
78
+ if (msgRetryCount &&
79
+ newMsgRetryCount &&
80
+ msgRetryCount !== newMsgRetryCount) {
81
+ return; // Not read duplicated failed message
82
+ }
83
+ }
84
+ }
85
+ }
86
+ // Ignora mensagens de protocolo
87
+ if (((_d = (_c = message.message) === null || _c === void 0 ? void 0 : _c.protocolMessage) === null || _d === void 0 ? void 0 : _d.type) ===
88
+ baileys_1.proto.Message.ProtocolMessage.Type.EPHEMERAL_SYNC_RESPONSE ||
89
+ ((_f = (_e = message.message) === null || _e === void 0 ? void 0 : _e.protocolMessage) === null || _f === void 0 ? void 0 : _f.type) ===
90
+ baileys_1.proto.Message.ProtocolMessage.Type.APP_STATE_SYNC_KEY_SHARE ||
91
+ ((_h = (_g = message.message) === null || _g === void 0 ? void 0 : _g.protocolMessage) === null || _h === void 0 ? void 0 : _h.type) ===
92
+ baileys_1.proto.Message.ProtocolMessage.Type.APP_STATE_SYNC_KEY_REQUEST ||
93
+ ((_k = (_j = message.message) === null || _j === void 0 ? void 0 : _j.protocolMessage) === null || _k === void 0 ? void 0 : _k.type) ===
94
+ baileys_1.proto.Message.ProtocolMessage.Type
95
+ .APP_STATE_FATAL_EXCEPTION_NOTIFICATION ||
96
+ ((_m = (_l = message.message) === null || _l === void 0 ? void 0 : _l.protocolMessage) === null || _m === void 0 ? void 0 : _m.type) ===
97
+ baileys_1.proto.Message.ProtocolMessage.Type.EPHEMERAL_SETTING ||
98
+ ((_p = (_o = message.message) === null || _o === void 0 ? void 0 : _o.protocolMessage) === null || _p === void 0 ? void 0 : _p.type) ===
99
+ baileys_1.proto.Message.ProtocolMessage.Type.HISTORY_SYNC_NOTIFICATION ||
100
+ ((_r = (_q = message.message) === null || _q === void 0 ? void 0 : _q.protocolMessage) === null || _r === void 0 ? void 0 : _r.type) ===
101
+ baileys_1.proto.Message.ProtocolMessage.Type
102
+ .INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC) {
103
+ continue; // Not read empty messages - CORRIGIDO: usar continue em vez de return
104
+ }
105
+ if (this.bot.messagesCached.includes(key.id))
106
+ continue; // CORRIGIDO: usar continue em vez de return
107
+ this.bot.addMessageCache(key.id);
108
+ const chatId = (0, ID_1.fixID)(key.remoteJid || this.bot.id);
109
+ // Calcula timestamp sem bloquear
110
+ let timestamp;
111
+ if (message.messageTimestamp) {
112
+ if (long_1.default.isLong(message.messageTimestamp)) {
113
+ timestamp = message.messageTimestamp.toNumber() * ConfigDefaults_1.TIMESTAMP_MULTIPLIER;
114
+ }
115
+ else {
116
+ timestamp = message.messageTimestamp * ConfigDefaults_1.TIMESTAMP_MULTIPLIER;
117
+ }
118
+ }
119
+ // Converte mensagem PRIMEIRO - isso é o mais importante
120
+ const msg = await new ConvertWAMessage_1.default(this.bot, message, type).get();
121
+ // Emite a mensagem IMEDIATAMENTE - sem bloqueios
122
+ this.bot.emit('message', msg);
123
+ // Atualiza cache em background (opcional - não bloqueia)
124
+ // Esses dados são apenas para cache, não são necessários para processar a mensagem
125
+ const userId = (0, ID_1.fixID)(key.fromMe
126
+ ? this.bot.id
127
+ : key.participant ||
128
+ message.participant ||
129
+ key.remoteJid ||
130
+ '');
131
+ // Atualiza cache diretamente sem passar por getChat/getUser
132
+ // Isso evita chamadas bloqueantes ao funcHandler
133
+ // Esses dados são apenas para cache - não são necessários para processar a mensagem
134
+ Promise.allSettled([
135
+ // Atualiza chat diretamente no cache sem buscar primeiro
136
+ this.bot.auth.get(`chats-${chatId}`)
137
+ .then((chatData) => {
138
+ var _a;
139
+ const currentUnreadCount = (chatData === null || chatData === void 0 ? void 0 : chatData.unreadCount) || 0;
140
+ const newChat = {
141
+ ...(chatData || {}),
142
+ id: chatId,
143
+ unreadCount: currentUnreadCount + 1,
144
+ timestamp: timestamp || (chatData === null || chatData === void 0 ? void 0 : chatData.timestamp),
145
+ name: (chatData === null || chatData === void 0 ? void 0 : chatData.name) || (((_a = key.id) === null || _a === void 0 ? void 0 : _a.includes(JIDPatterns_1.JID_PATTERNS.USER)) && !key.fromMe
146
+ ? message.pushName || message.verifiedBizName || undefined
147
+ : undefined),
148
+ type: (0, baileys_1.isJidGroup)(chatId) ? ChatType_1.default.Group : ChatType_1.default.PV,
149
+ };
150
+ return this.bot.auth.set(`chats-${chatId}`, newChat);
151
+ })
152
+ .catch(() => {
153
+ var _a;
154
+ // Se não existir, cria novo
155
+ const newChat = {
156
+ id: chatId,
157
+ unreadCount: 1,
158
+ timestamp,
159
+ name: ((_a = key.id) === null || _a === void 0 ? void 0 : _a.includes(JIDPatterns_1.JID_PATTERNS.USER)) && !key.fromMe
160
+ ? message.pushName || message.verifiedBizName || undefined
161
+ : undefined,
162
+ type: (0, baileys_1.isJidGroup)(chatId) ? ChatType_1.default.Group : ChatType_1.default.PV,
163
+ };
164
+ return this.bot.auth.set(`chats-${chatId}`, newChat);
165
+ }),
166
+ // Atualiza user diretamente no cache sem buscar primeiro
167
+ this.bot.auth.get(`users-${userId}`)
168
+ .then((userData) => {
169
+ const newUser = {
170
+ ...(userData || {}),
171
+ id: userId,
172
+ name: (userData === null || userData === void 0 ? void 0 : userData.name) || message.pushName || message.verifiedBizName || undefined,
173
+ };
174
+ return this.bot.auth.set(`users-${userId}`, newUser);
175
+ })
176
+ .catch(() => {
177
+ // Se não existir, cria novo
178
+ const newUser = {
179
+ id: userId,
180
+ name: message.pushName || message.verifiedBizName || undefined,
181
+ };
182
+ return this.bot.auth.set(`users-${userId}`, newUser);
183
+ }),
184
+ ]).catch(() => {
185
+ // Ignora erros - não é crítico
186
+ });
187
+ if (msg.fromMe && msg.isUnofficial) {
188
+ // Também em background
189
+ this.bot.updateChat({ id: msg.chat.id, unreadCount: 0 }).catch(() => {
190
+ // Ignora erros
191
+ });
192
+ }
193
+ // Continua para processar próxima mensagem (já foi emitida acima)
194
+ continue;
195
+ // Log de debug para verificar se mensagens estão sendo emitidas
196
+ this.logger.debug({
197
+ chatId: msg.chat.id,
198
+ messageId: msg.id,
199
+ type: msg.type,
200
+ fromMe: msg.fromMe,
201
+ isOld: msg.isOld,
202
+ }, 'Emitindo mensagem do WhatsAppBot');
203
+ // Mensagem já foi emitida acima - não emitir novamente
204
+ }
205
+ catch (err) {
206
+ // Erro individual em mensagem não deve parar o processamento
207
+ const errorMsg = ErrorUtils_1.ErrorUtils.handleMessageError(err, (_s = message === null || message === void 0 ? void 0 : message.key) === null || _s === void 0 ? void 0 : _s.remoteJid, this.logger);
208
+ this.bot.emit('message', errorMsg);
209
+ }
210
+ }
211
+ }
212
+ catch (err) {
213
+ ErrorUtils_1.ErrorUtils.handleHandlerError(err, 'MessageEventHandler.readMessages', this.logger, this.bot);
214
+ }
215
+ }
216
+ }
217
+ exports.MessageEventHandler = MessageEventHandler;
218
+ //# sourceMappingURL=MessageEventHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageEventHandler.js","sourceRoot":"","sources":["../../../src/wa/events/MessageEventHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import NodeCache from 'node-cache';
2
+ /**
3
+ * Interface para serviços de cache
4
+ */
5
+ export interface ICacheService {
6
+ getMessageRetryCache(): NodeCache;
7
+ getGroupMetadataCache(): NodeCache;
8
+ getSignalKeyCache(): NodeCache;
9
+ getLIDMappingCache(): NodeCache;
10
+ clearCache(name: string): void;
11
+ clearAll(): void;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICacheService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICacheService.js","sourceRoot":"","sources":["../../../src/wa/interfaces/ICacheService.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { WASocket, SocketConfig } from '@whiskeysockets/baileys';
2
+ import { ConnectionStatus } from './IStateManager';
3
+ /**
4
+ * Interface para gerenciamento de conexão
5
+ */
6
+ export interface IConnectionManager {
7
+ connect(config: SocketConfig): Promise<WASocket>;
8
+ disconnect(reason?: number): Promise<void>;
9
+ reconnect(force?: boolean): Promise<void>;
10
+ getSocket(): WASocket | null;
11
+ getStatus(): ConnectionStatus;
12
+ getReconnectAttempts(): number;
13
+ resetReconnectAttempts(): void;
14
+ connectionConfig: SocketConfig | null;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IConnectionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IConnectionManager.js","sourceRoot":"","sources":["../../../src/wa/interfaces/IConnectionManager.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Interface para tratamento de erros
3
+ */
4
+ export interface IErrorHandler {
5
+ handle(error: unknown, context?: string): void;
6
+ handleAndGetMessage(error: unknown, context?: string): string;
7
+ isErrorOfType(error: unknown, type: string): boolean;
8
+ createError(message: string, context?: string, originalError?: unknown): Error;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IErrorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IErrorHandler.js","sourceRoot":"","sources":["../../../src/wa/interfaces/IErrorHandler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Interface para serviços de logging
3
+ */
4
+ export interface ILoggerService {
5
+ fatal(obj: any, msg?: string): void;
6
+ error(obj: any, msg?: string): void;
7
+ warn(obj: any, msg?: string): void;
8
+ info(obj: any, msg?: string): void;
9
+ debug(obj: any, msg?: string): void;
10
+ trace(obj: any, msg?: string): void;
11
+ setLevel(level: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent'): void;
12
+ getLevel(): 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent';
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ILoggerService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ILoggerService.js","sourceRoot":"","sources":["../../../src/wa/interfaces/ILoggerService.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import IAuth from '../../client/IAuth';
2
+ import { AuthenticationCreds } from '@whiskeysockets/baileys';
3
+ export interface SessionValidationResult {
4
+ isValid: boolean;
5
+ shouldGenerateQR: boolean;
6
+ reason?: string;
7
+ }
8
+ /**
9
+ * Interface para gerenciamento de sessão
10
+ */
11
+ export interface ISessionManager {
12
+ validateSession(auth: IAuth): Promise<SessionValidationResult>;
13
+ clearInvalidSession(auth: IAuth): Promise<void>;
14
+ saveCredentials(auth: IAuth, creds: Partial<AuthenticationCreds>): Promise<void>;
15
+ loadCredentials(auth: IAuth): Promise<AuthenticationCreds | null>;
16
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISessionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISessionManager.js","sourceRoot":"","sources":["../../../src/wa/interfaces/ISessionManager.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { BotStatus } from '../../bot/BotStatus';
2
+ import { ConnectionState } from '@whiskeysockets/baileys';
3
+ export type ConnectionStatus = 'disconnected' | 'connecting' | 'authenticating' | 'connected' | 'reconnecting';
4
+ export interface BotState {
5
+ id: string;
6
+ status: BotStatus;
7
+ phoneNumber: string;
8
+ name: string;
9
+ profileUrl: string;
10
+ connectionStatus: ConnectionStatus;
11
+ lastConnectionUpdateDate: number;
12
+ lastDisconnectError?: number;
13
+ connectionState?: Partial<ConnectionState>;
14
+ }
15
+ /**
16
+ * Interface para gerenciamento de estado
17
+ */
18
+ export interface IStateManager {
19
+ readonly id: string;
20
+ readonly status: BotStatus;
21
+ readonly phoneNumber: string;
22
+ readonly name: string;
23
+ readonly profileUrl: string;
24
+ readonly connectionStatus: ConnectionStatus;
25
+ readonly lastConnectionUpdateDate: number;
26
+ readonly lastDisconnectError: number | undefined;
27
+ readonly connectionState: Partial<ConnectionState> | undefined;
28
+ readonly fullState: BotState;
29
+ setId(id: string): void;
30
+ setStatus(status: BotStatus): void;
31
+ setPhoneNumber(phoneNumber: string): void;
32
+ setName(name: string): void;
33
+ setProfileUrl(profileUrl: string): void;
34
+ setConnectionStatus(status: ConnectionStatus): void;
35
+ setLastConnectionUpdateDate(date: number): void;
36
+ setLastDisconnectError(error?: number): void;
37
+ updateConnectionState(state: Partial<ConnectionState>): void;
38
+ observe(observer: (state: BotState) => void): () => void;
39
+ clearObservers(): void;
40
+ reset(): void;
41
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IStateManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStateManager.js","sourceRoot":"","sources":["../../../src/wa/interfaces/IStateManager.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ import { GroupMetadata, Chat as BaileysChat } from '@whiskeysockets/baileys';
2
+ import Chat from '../../modules/chat/Chat';
3
+ import ChatStatus from '../../modules/chat/ChatStatus';
4
+ import WhatsAppBot from '../WhatsAppBot';
5
+ /**
6
+ * Operações relacionadas a chats
7
+ */
8
+ export declare class ChatOperations {
9
+ private bot;
10
+ constructor(bot: WhatsAppBot);
11
+ /**
12
+ * Obtém o nome de um chat
13
+ */
14
+ getChatName(chat: Chat): Promise<string>;
15
+ /**
16
+ * Define o nome de um chat (apenas grupos)
17
+ */
18
+ setChatName(chat: Chat, name: string): Promise<void>;
19
+ /**
20
+ * Obtém a descrição de um chat
21
+ */
22
+ getChatDescription(chat: Chat): Promise<string>;
23
+ /**
24
+ * Define a descrição de um chat (apenas grupos, apenas admins)
25
+ */
26
+ setChatDescription(chat: Chat, description: string): Promise<void>;
27
+ /**
28
+ * Obtém a foto de perfil de um chat
29
+ */
30
+ getChatProfile(chat: Chat, lowQuality?: boolean): Promise<Buffer>;
31
+ /**
32
+ * Obtém a URL da foto de perfil de um chat
33
+ */
34
+ getChatProfileUrl(chat: Chat, lowQuality?: boolean): Promise<string>;
35
+ /**
36
+ * Define a foto de perfil de um chat (apenas grupos, apenas admins)
37
+ */
38
+ setChatProfile(chat: Chat, image: Buffer): Promise<void>;
39
+ /**
40
+ * Atualiza informações de um chat
41
+ */
42
+ updateChat(chat: {
43
+ id: string;
44
+ } & Partial<Chat>): Promise<void>;
45
+ /**
46
+ * Remove um chat
47
+ */
48
+ removeChat(chat: Chat): Promise<void>;
49
+ /**
50
+ * Obtém um chat
51
+ */
52
+ getChat(chat: Chat): Promise<Chat | null>;
53
+ /**
54
+ * Obtém lista de IDs de chats
55
+ */
56
+ getChats(): Promise<string[]>;
57
+ /**
58
+ * Define múltiplos chats
59
+ */
60
+ setChats(chats: Chat[]): Promise<void>;
61
+ /**
62
+ * Obtém lista de usuários de um chat
63
+ */
64
+ getChatUsers(chat: Chat): Promise<string[]>;
65
+ /**
66
+ * Obtém lista de administradores de um chat
67
+ */
68
+ getChatAdmins(chat: Chat): Promise<string[]>;
69
+ /**
70
+ * Obtém o líder de um chat
71
+ */
72
+ getChatLeader(chat: Chat): Promise<string>;
73
+ /**
74
+ * Altera o status de um chat
75
+ */
76
+ changeChatStatus(chat: Chat, status: ChatStatus): Promise<void>;
77
+ /**
78
+ * Cria um novo chat (grupo)
79
+ */
80
+ createChat(chat: Chat): Promise<void>;
81
+ /**
82
+ * Sai de um chat
83
+ */
84
+ leaveChat(chat: Chat): Promise<void>;
85
+ /**
86
+ * Entra em um chat através de código de convite
87
+ */
88
+ joinChat(code: string): Promise<void>;
89
+ /**
90
+ * Obtém código de convite de um chat
91
+ */
92
+ getChatInvite(chat: Chat): Promise<string>;
93
+ /**
94
+ * Revoga código de convite de um chat
95
+ */
96
+ revokeChatInvite(chat: Chat): Promise<string>;
97
+ /**
98
+ * Arquiva ou desarquiva um chat
99
+ */
100
+ archiveChat(chat: Chat | string, archive: boolean | undefined, lastMessages: any[]): Promise<void>;
101
+ /**
102
+ * Silencia ou dessilencia um chat
103
+ */
104
+ muteChat(chat: Chat | string, mute: number | null, lastMessages: any[]): Promise<void>;
105
+ /**
106
+ * Marca um chat como lido
107
+ */
108
+ markChatRead(chat: Chat | string, read: boolean | undefined, lastMessages: any[]): Promise<void>;
109
+ /**
110
+ * Define o modo de mensagens temporárias em um chat
111
+ */
112
+ setDisappearingMessages(chat: Chat | string, duration: number): Promise<void>;
113
+ /**
114
+ * Lê o chat e atualiza suas informações
115
+ */
116
+ readChat(chat: Partial<Chat>, metadata?: Partial<GroupMetadata> & Partial<BaileysChat>, updateMetadata?: boolean): Promise<void>;
117
+ }