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.
- package/README.md +195 -20
- package/lib/bot/BotEvents.d.ts +2 -0
- package/lib/bot/BotEvents.js.map +1 -1
- 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 +220 -426
- 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 -648
- 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,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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
+
}
|