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.
Files changed (142) hide show
  1. package/README.md +195 -20
  2. package/lib/client/Client.js +93 -28
  3. package/lib/client/Client.js.map +1 -1
  4. package/lib/client/ClientFunctionHandler.js +39 -3
  5. package/lib/client/ClientFunctionHandler.js.map +1 -1
  6. package/lib/telegram/TelegramAuth.js +36 -1
  7. package/lib/telegram/TelegramAuth.js.map +1 -1
  8. package/lib/telegram/TelegramBot.d.ts +11 -0
  9. package/lib/telegram/TelegramBot.js +101 -15
  10. package/lib/telegram/TelegramBot.js.map +1 -1
  11. package/lib/telegram/TelegramEvents.d.ts +8 -1
  12. package/lib/telegram/TelegramEvents.js +67 -30
  13. package/lib/telegram/TelegramEvents.js.map +1 -1
  14. package/lib/telegram/TelegramSendingController.js +59 -17
  15. package/lib/telegram/TelegramSendingController.js.map +1 -1
  16. package/lib/telegram/TelegramToRompotConverter.js +44 -14
  17. package/lib/telegram/TelegramToRompotConverter.js.map +1 -1
  18. package/lib/wa/Auth.js +17 -5
  19. package/lib/wa/Auth.js.map +1 -1
  20. package/lib/wa/ConfigWAEvents.d.ts +6 -10
  21. package/lib/wa/ConfigWAEvents.js +216 -430
  22. package/lib/wa/ConfigWAEvents.js.map +1 -1
  23. package/lib/wa/ConvertWAMessage.js +28 -19
  24. package/lib/wa/ConvertWAMessage.js.map +1 -1
  25. package/lib/wa/ID.d.ts +10 -1
  26. package/lib/wa/ID.js +22 -2
  27. package/lib/wa/ID.js.map +1 -1
  28. package/lib/wa/WhatsAppBot.d.ts +58 -11
  29. package/lib/wa/WhatsAppBot.js +365 -666
  30. package/lib/wa/WhatsAppBot.js.map +1 -1
  31. package/lib/wa/constants/ConfigDefaults.d.ts +23 -0
  32. package/lib/wa/constants/ConfigDefaults.js +27 -0
  33. package/lib/wa/constants/ConfigDefaults.js.map +1 -0
  34. package/lib/wa/constants/DisconnectReasons.d.ts +24 -0
  35. package/lib/wa/constants/DisconnectReasons.js +36 -0
  36. package/lib/wa/constants/DisconnectReasons.js.map +1 -0
  37. package/lib/wa/constants/ErrorCodes.d.ts +28 -0
  38. package/lib/wa/constants/ErrorCodes.js +32 -0
  39. package/lib/wa/constants/ErrorCodes.js.map +1 -0
  40. package/lib/wa/constants/JIDPatterns.d.ts +23 -0
  41. package/lib/wa/constants/JIDPatterns.js +38 -0
  42. package/lib/wa/constants/JIDPatterns.js.map +1 -0
  43. package/lib/wa/constants/Timeouts.d.ts +11 -0
  44. package/lib/wa/constants/Timeouts.js +15 -0
  45. package/lib/wa/constants/Timeouts.js.map +1 -0
  46. package/lib/wa/core/ConnectionManager.d.ts +84 -0
  47. package/lib/wa/core/ConnectionManager.js +256 -0
  48. package/lib/wa/core/ConnectionManager.js.map +1 -0
  49. package/lib/wa/core/SessionManager.d.ts +29 -0
  50. package/lib/wa/core/SessionManager.js +155 -0
  51. package/lib/wa/core/SessionManager.js.map +1 -0
  52. package/lib/wa/core/StateManager.d.ts +49 -0
  53. package/lib/wa/core/StateManager.js +135 -0
  54. package/lib/wa/core/StateManager.js.map +1 -0
  55. package/lib/wa/events/CallEventHandler.d.ts +17 -0
  56. package/lib/wa/events/CallEventHandler.js +155 -0
  57. package/lib/wa/events/CallEventHandler.js.map +1 -0
  58. package/lib/wa/events/ChatEventHandler.d.ts +12 -0
  59. package/lib/wa/events/ChatEventHandler.js +74 -0
  60. package/lib/wa/events/ChatEventHandler.js.map +1 -0
  61. package/lib/wa/events/ConnectionEventHandler.d.ts +43 -0
  62. package/lib/wa/events/ConnectionEventHandler.js +305 -0
  63. package/lib/wa/events/ConnectionEventHandler.js.map +1 -0
  64. package/lib/wa/events/ContactEventHandler.d.ts +12 -0
  65. package/lib/wa/events/ContactEventHandler.js +55 -0
  66. package/lib/wa/events/ContactEventHandler.js.map +1 -0
  67. package/lib/wa/events/EventManager.d.ts +43 -0
  68. package/lib/wa/events/EventManager.js +198 -0
  69. package/lib/wa/events/EventManager.js.map +1 -0
  70. package/lib/wa/events/GroupEventHandler.d.ts +12 -0
  71. package/lib/wa/events/GroupEventHandler.js +74 -0
  72. package/lib/wa/events/GroupEventHandler.js.map +1 -0
  73. package/lib/wa/events/HistoryEventHandler.d.ts +16 -0
  74. package/lib/wa/events/HistoryEventHandler.js +101 -0
  75. package/lib/wa/events/HistoryEventHandler.js.map +1 -0
  76. package/lib/wa/events/LIDMappingEventHandler.d.ts +20 -0
  77. package/lib/wa/events/LIDMappingEventHandler.js +39 -0
  78. package/lib/wa/events/LIDMappingEventHandler.js.map +1 -0
  79. package/lib/wa/events/MessageEventHandler.d.ts +16 -0
  80. package/lib/wa/events/MessageEventHandler.js +218 -0
  81. package/lib/wa/events/MessageEventHandler.js.map +1 -0
  82. package/lib/wa/interfaces/ICacheService.d.ts +12 -0
  83. package/lib/wa/interfaces/ICacheService.js +3 -0
  84. package/lib/wa/interfaces/ICacheService.js.map +1 -0
  85. package/lib/wa/interfaces/IConnectionManager.d.ts +15 -0
  86. package/lib/wa/interfaces/IConnectionManager.js +3 -0
  87. package/lib/wa/interfaces/IConnectionManager.js.map +1 -0
  88. package/lib/wa/interfaces/IErrorHandler.d.ts +9 -0
  89. package/lib/wa/interfaces/IErrorHandler.js +3 -0
  90. package/lib/wa/interfaces/IErrorHandler.js.map +1 -0
  91. package/lib/wa/interfaces/ILoggerService.d.ts +13 -0
  92. package/lib/wa/interfaces/ILoggerService.js +3 -0
  93. package/lib/wa/interfaces/ILoggerService.js.map +1 -0
  94. package/lib/wa/interfaces/ISessionManager.d.ts +16 -0
  95. package/lib/wa/interfaces/ISessionManager.js +3 -0
  96. package/lib/wa/interfaces/ISessionManager.js.map +1 -0
  97. package/lib/wa/interfaces/IStateManager.d.ts +41 -0
  98. package/lib/wa/interfaces/IStateManager.js +3 -0
  99. package/lib/wa/interfaces/IStateManager.js.map +1 -0
  100. package/lib/wa/operations/ChatOperations.d.ts +117 -0
  101. package/lib/wa/operations/ChatOperations.js +349 -0
  102. package/lib/wa/operations/ChatOperations.js.map +1 -0
  103. package/lib/wa/operations/GroupOperations.d.ts +31 -0
  104. package/lib/wa/operations/GroupOperations.js +128 -0
  105. package/lib/wa/operations/GroupOperations.js.map +1 -0
  106. package/lib/wa/operations/MessageOperations.d.ts +69 -0
  107. package/lib/wa/operations/MessageOperations.js +335 -0
  108. package/lib/wa/operations/MessageOperations.js.map +1 -0
  109. package/lib/wa/operations/UserOperations.d.ts +100 -0
  110. package/lib/wa/operations/UserOperations.js +216 -0
  111. package/lib/wa/operations/UserOperations.js.map +1 -0
  112. package/lib/wa/services/CacheService.d.ts +45 -0
  113. package/lib/wa/services/CacheService.js +93 -0
  114. package/lib/wa/services/CacheService.js.map +1 -0
  115. package/lib/wa/services/ErrorHandler.d.ts +26 -0
  116. package/lib/wa/services/ErrorHandler.js +73 -0
  117. package/lib/wa/services/ErrorHandler.js.map +1 -0
  118. package/lib/wa/services/LIDMappingService.d.ts +42 -0
  119. package/lib/wa/services/LIDMappingService.js +132 -0
  120. package/lib/wa/services/LIDMappingService.js.map +1 -0
  121. package/lib/wa/services/LIDNormalizationService.d.ts +30 -0
  122. package/lib/wa/services/LIDNormalizationService.js +136 -0
  123. package/lib/wa/services/LIDNormalizationService.js.map +1 -0
  124. package/lib/wa/services/LoggerService.d.ts +44 -0
  125. package/lib/wa/services/LoggerService.js +85 -0
  126. package/lib/wa/services/LoggerService.js.map +1 -0
  127. package/lib/wa/services/PendingMessageQueue.d.ts +46 -0
  128. package/lib/wa/services/PendingMessageQueue.js +119 -0
  129. package/lib/wa/services/PendingMessageQueue.js.map +1 -0
  130. package/lib/wa/services/RetryService.d.ts +25 -0
  131. package/lib/wa/services/RetryService.js +59 -0
  132. package/lib/wa/services/RetryService.js.map +1 -0
  133. package/lib/wa/utils/ConfigValidator.d.ts +15 -0
  134. package/lib/wa/utils/ConfigValidator.js +66 -0
  135. package/lib/wa/utils/ConfigValidator.js.map +1 -0
  136. package/lib/wa/utils/ErrorUtils.d.ts +29 -0
  137. package/lib/wa/utils/ErrorUtils.js +66 -0
  138. package/lib/wa/utils/ErrorUtils.js.map +1 -0
  139. package/lib/wa/utils/Validation.d.ts +18 -0
  140. package/lib/wa/utils/Validation.js +40 -0
  141. package/lib/wa/utils/Validation.js.map +1 -0
  142. package/package.json +4 -3
@@ -0,0 +1,349 @@
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.ChatOperations = void 0;
7
+ const baileys_1 = require("@whiskeysockets/baileys");
8
+ const Chat_1 = __importDefault(require("../../modules/chat/Chat"));
9
+ const ChatType_1 = __importDefault(require("../../modules/chat/ChatType"));
10
+ const User_1 = __importDefault(require("../../modules/user/User"));
11
+ const WAStatus_1 = require("../WAStatus");
12
+ const Generic_1 = require("../../utils/Generic");
13
+ const ID_1 = require("../ID");
14
+ const Validation_1 = require("../utils/Validation");
15
+ const JIDPatterns_1 = require("../constants/JIDPatterns");
16
+ const ConfigDefaults_1 = require("../constants/ConfigDefaults");
17
+ const long_1 = __importDefault(require("long"));
18
+ /**
19
+ * Operações relacionadas a chats
20
+ */
21
+ class ChatOperations {
22
+ constructor(bot) {
23
+ this.bot = bot;
24
+ }
25
+ /**
26
+ * Obtém o nome de um chat
27
+ */
28
+ async getChatName(chat) {
29
+ var _a;
30
+ return ((_a = (await this.bot.getChat(chat))) === null || _a === void 0 ? void 0 : _a.name) || '';
31
+ }
32
+ /**
33
+ * Define o nome de um chat (apenas grupos)
34
+ */
35
+ async setChatName(chat, name) {
36
+ if (!(0, baileys_1.isJidGroup)(chat.id))
37
+ return;
38
+ const admins = await this.bot.getChatAdmins(chat);
39
+ if (admins.length && !admins.includes(this.bot.id))
40
+ return;
41
+ await this.bot.sock.groupUpdateSubject(chat.id, name);
42
+ }
43
+ /**
44
+ * Obtém a descrição de um chat
45
+ */
46
+ async getChatDescription(chat) {
47
+ var _a;
48
+ return ((_a = (await this.bot.getChat(chat))) === null || _a === void 0 ? void 0 : _a.description) || '';
49
+ }
50
+ /**
51
+ * Define a descrição de um chat (apenas grupos, apenas admins)
52
+ */
53
+ async setChatDescription(chat, description) {
54
+ // Validações
55
+ Validation_1.Validation.ensureConnected(this.bot.status, this.bot.sock);
56
+ Validation_1.Validation.ensureValidJID(chat.id, 'chat.id');
57
+ if (!(0, baileys_1.isJidGroup)(chat.id)) {
58
+ throw new Error('setChatDescription só pode ser usado em grupos');
59
+ }
60
+ const admins = await this.bot.getChatAdmins(chat);
61
+ if (admins.length && !admins.includes(this.bot.id)) {
62
+ throw new Error('Apenas administradores podem alterar a descrição do grupo');
63
+ }
64
+ await this.bot.sock.groupUpdateDescription(chat.id, description);
65
+ }
66
+ /**
67
+ * Obtém a foto de perfil de um chat
68
+ */
69
+ async getChatProfile(chat, lowQuality) {
70
+ const uri = await this.getChatProfileUrl(chat, lowQuality);
71
+ return await (0, Generic_1.getImageURL)(uri);
72
+ }
73
+ /**
74
+ * Obtém a URL da foto de perfil de um chat
75
+ */
76
+ async getChatProfileUrl(chat, lowQuality) {
77
+ try {
78
+ return ((await this.bot.sock.profilePictureUrl(chat.id, lowQuality ? 'preview' : 'image')) || '');
79
+ }
80
+ catch (_a) {
81
+ return '';
82
+ }
83
+ }
84
+ /**
85
+ * Define a foto de perfil de um chat (apenas grupos, apenas admins)
86
+ */
87
+ async setChatProfile(chat, image) {
88
+ if (!(0, baileys_1.isJidGroup)(chat.id))
89
+ return;
90
+ const admins = await this.bot.getChatAdmins(chat);
91
+ if (admins.length && !admins.includes(this.bot.id))
92
+ return;
93
+ await this.bot.sock.updateProfilePicture(chat.id, image);
94
+ }
95
+ /**
96
+ * Atualiza informações de um chat
97
+ */
98
+ async updateChat(chat) {
99
+ const chatData = await this.bot.getChat(new Chat_1.default(chat.id));
100
+ if (chatData != null) {
101
+ chat = Object.keys(chat).reduce((data, key) => {
102
+ if (chat[key] == undefined || chat[key] == null)
103
+ return data;
104
+ if ((0, Generic_1.verifyIsEquals)(chat[key], chatData[key]))
105
+ return data;
106
+ return { ...data, [key]: chat[key] };
107
+ }, { id: chat.id });
108
+ if (Object.keys(chat).length < 2)
109
+ return;
110
+ }
111
+ const newChat = Chat_1.default.fromJSON({ ...(chatData || {}), ...chat });
112
+ newChat.type = (0, baileys_1.isJidGroup)(chat.id) ? ChatType_1.default.Group : ChatType_1.default.PV;
113
+ newChat.phoneNumber = newChat.phoneNumber || (0, ID_1.getPhoneNumber)(chat.id);
114
+ await this.bot.auth.set(`chats-${chat.id}`, newChat.toJSON());
115
+ this.bot.ev.emit('chat', { action: chatData != null ? 'update' : 'add', chat });
116
+ }
117
+ /**
118
+ * Remove um chat
119
+ */
120
+ async removeChat(chat) {
121
+ await this.bot.auth.remove(`chats-${chat.id}`);
122
+ this.bot.ev.emit('chat', { action: 'remove', chat });
123
+ }
124
+ /**
125
+ * Obtém um chat
126
+ */
127
+ async getChat(chat) {
128
+ const chatData = await this.bot.auth.get(`chats-${chat.id}`);
129
+ if (!chatData)
130
+ return null;
131
+ if (!chat.name || !chat.profileUrl) {
132
+ const user = await this.bot.getUser(new User_1.default(chat.id));
133
+ if (user != null) {
134
+ return Chat_1.default.fromJSON({ ...chat, ...user });
135
+ }
136
+ }
137
+ return Chat_1.default.fromJSON(chatData);
138
+ }
139
+ /**
140
+ * Obtém lista de IDs de chats
141
+ */
142
+ async getChats() {
143
+ return (await this.bot.auth.listAll('chats-')).map((id) => id.replace('chats-', ''));
144
+ }
145
+ /**
146
+ * Define múltiplos chats
147
+ */
148
+ async setChats(chats) {
149
+ await Promise.all(chats.map(async (chat) => await this.updateChat(chat)));
150
+ }
151
+ /**
152
+ * Obtém lista de usuários de um chat
153
+ */
154
+ async getChatUsers(chat) {
155
+ var _a;
156
+ return ((_a = (await this.bot.getChat(chat))) === null || _a === void 0 ? void 0 : _a.users) || [];
157
+ }
158
+ /**
159
+ * Obtém lista de administradores de um chat
160
+ */
161
+ async getChatAdmins(chat) {
162
+ var _a, _b;
163
+ const chatReaded = await this.bot.getChat(chat);
164
+ if (!chatReaded)
165
+ return [];
166
+ if ((_a = chatReaded.admins) === null || _a === void 0 ? void 0 : _a.length) {
167
+ return chatReaded.admins || [];
168
+ }
169
+ if (chatReaded.type !== ChatType_1.default.Group)
170
+ return [];
171
+ await this.readChat(chat);
172
+ return ((_b = (await this.bot.getChat(chat))) === null || _b === void 0 ? void 0 : _b.admins) || [];
173
+ }
174
+ /**
175
+ * Obtém o líder de um chat
176
+ */
177
+ async getChatLeader(chat) {
178
+ var _a;
179
+ return ((_a = (await this.bot.getChat(chat))) === null || _a === void 0 ? void 0 : _a.leader) || '';
180
+ }
181
+ /**
182
+ * Altera o status de um chat
183
+ */
184
+ async changeChatStatus(chat, status) {
185
+ await this.bot.sock.sendPresenceUpdate(WAStatus_1.WAStatus[status] || 'available', chat.id);
186
+ }
187
+ /**
188
+ * Cria um novo chat (grupo)
189
+ */
190
+ async createChat(chat) {
191
+ await this.bot.sock.groupCreate(chat.name || '', [this.bot.id]);
192
+ }
193
+ /**
194
+ * Sai de um chat
195
+ */
196
+ async leaveChat(chat) {
197
+ if (!(0, baileys_1.isJidGroup)(chat.id))
198
+ return;
199
+ if ((await this.bot.getChat(chat)) == null)
200
+ return;
201
+ await this.bot.sock.groupLeave(chat.id);
202
+ await this.removeChat(chat);
203
+ }
204
+ /**
205
+ * Entra em um chat através de código de convite
206
+ */
207
+ async joinChat(code) {
208
+ await this.bot.sock.groupAcceptInvite(code.replace('https://chat.whatsapp.com/', ''));
209
+ }
210
+ /**
211
+ * Obtém código de convite de um chat
212
+ */
213
+ async getChatInvite(chat) {
214
+ if (!(0, baileys_1.isJidGroup)(chat.id))
215
+ return '';
216
+ const admins = await this.getChatAdmins(chat);
217
+ if (admins.length && !admins.includes(this.bot.id))
218
+ return '';
219
+ return (await this.bot.sock.groupInviteCode(chat.id)) || '';
220
+ }
221
+ /**
222
+ * Revoga código de convite de um chat
223
+ */
224
+ async revokeChatInvite(chat) {
225
+ if (!(0, baileys_1.isJidGroup)(chat.id))
226
+ return '';
227
+ const admins = await this.getChatAdmins(chat);
228
+ if (admins.length && !admins.includes(this.bot.id))
229
+ return '';
230
+ return (await this.bot.sock.groupRevokeInvite(chat.id)) || '';
231
+ }
232
+ /**
233
+ * Arquiva ou desarquiva um chat
234
+ */
235
+ async archiveChat(chat, archive = true, lastMessages) {
236
+ const chatId = typeof chat === 'string' ? chat : chat.id;
237
+ await this.bot.sock.chatModify({ archive, lastMessages }, chatId);
238
+ }
239
+ /**
240
+ * Silencia ou dessilencia um chat
241
+ */
242
+ async muteChat(chat, mute, lastMessages) {
243
+ const chatId = typeof chat === 'string' ? chat : chat.id;
244
+ await this.bot.sock.chatModify({ mute, lastMessages }, chatId);
245
+ }
246
+ /**
247
+ * Marca um chat como lido
248
+ */
249
+ async markChatRead(chat, read = true, lastMessages) {
250
+ const chatId = typeof chat === 'string' ? chat : chat.id;
251
+ await this.bot.sock.chatModify({ markRead: read, lastMessages }, chatId);
252
+ }
253
+ /**
254
+ * Define o modo de mensagens temporárias em um chat
255
+ */
256
+ async setDisappearingMessages(chat, duration) {
257
+ const chatId = typeof chat === 'string' ? chat : chat.id;
258
+ await this.bot.sock.sendMessage(chatId, { disappearingMessagesInChat: duration });
259
+ }
260
+ /**
261
+ * Lê o chat e atualiza suas informações
262
+ */
263
+ async readChat(chat, metadata, updateMetadata = true) {
264
+ try {
265
+ // Valida JID usando utilitário
266
+ if (!chat.id || !(0, JIDPatterns_1.isValidJID)(chat.id)) {
267
+ return;
268
+ }
269
+ // Valida se socket está disponível (mas não exige conexão completa para leitura)
270
+ if (!this.bot.sock) {
271
+ return;
272
+ }
273
+ chat.type = (0, baileys_1.isJidGroup)(chat.id) ? ChatType_1.default.Group : ChatType_1.default.PV;
274
+ if (chat.type == ChatType_1.default.Group) {
275
+ if (updateMetadata) {
276
+ chat.profileUrl =
277
+ (await this.getChatProfileUrl(new Chat_1.default(chat.id))) || undefined;
278
+ if (!metadata) {
279
+ try {
280
+ metadata = await this.bot.sock.groupMetadata(chat.id);
281
+ }
282
+ catch (_a) { }
283
+ }
284
+ else if (!metadata.participants) {
285
+ try {
286
+ metadata = {
287
+ ...metadata,
288
+ ...(await this.bot.sock.groupMetadata(chat.id)),
289
+ };
290
+ }
291
+ catch (_b) { }
292
+ if (metadata.participant) {
293
+ metadata.participants = [
294
+ ...(metadata.participants || []),
295
+ ...metadata.participant.map((p) => {
296
+ return {
297
+ id: p.userJid,
298
+ isSuperAdmin: p.rank == baileys_1.proto.GroupParticipant.Rank.SUPERADMIN,
299
+ isAdmin: p.rank == baileys_1.proto.GroupParticipant.Rank.ADMIN,
300
+ };
301
+ }),
302
+ ];
303
+ }
304
+ }
305
+ }
306
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.participants) {
307
+ chat.users = [];
308
+ chat.admins = [];
309
+ for (const p of metadata.participants) {
310
+ chat.users.push(p.id);
311
+ if (p.admin == 'admin' || p.isAdmin) {
312
+ chat.admins.push(`${p.id}`);
313
+ }
314
+ else if (p.isSuperAdmin) {
315
+ chat.leader = p.id;
316
+ chat.admins.push(`${p.id}`);
317
+ }
318
+ }
319
+ }
320
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.subjectOwner) {
321
+ chat.leader = metadata.subjectOwner;
322
+ }
323
+ }
324
+ if ((metadata === null || metadata === void 0 ? void 0 : metadata.subject) || (metadata === null || metadata === void 0 ? void 0 : metadata.name)) {
325
+ chat.name = metadata.subject || metadata.name || undefined;
326
+ }
327
+ if ((metadata === null || metadata === void 0 ? void 0 : metadata.desc) || (metadata === null || metadata === void 0 ? void 0 : metadata.description)) {
328
+ chat.description = metadata.desc || metadata.description || undefined;
329
+ }
330
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.unreadCount) {
331
+ chat.unreadCount = metadata.unreadCount || undefined;
332
+ }
333
+ if (metadata === null || metadata === void 0 ? void 0 : metadata.conversationTimestamp) {
334
+ if (long_1.default.isLong(metadata.conversationTimestamp)) {
335
+ chat.timestamp = metadata.conversationTimestamp.toNumber() * ConfigDefaults_1.TIMESTAMP_MULTIPLIER;
336
+ }
337
+ else {
338
+ chat.timestamp = Number(metadata.conversationTimestamp) * ConfigDefaults_1.TIMESTAMP_MULTIPLIER;
339
+ }
340
+ }
341
+ if (chat.id) {
342
+ await this.updateChat({ id: chat.id, ...chat });
343
+ }
344
+ }
345
+ catch (_c) { }
346
+ }
347
+ }
348
+ exports.ChatOperations = ChatOperations;
349
+ //# sourceMappingURL=ChatOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatOperations.js","sourceRoot":"","sources":["../../../src/wa/operations/ChatOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import Chat from '../../modules/chat/Chat';
2
+ import User from '../../modules/user/User';
3
+ import { UserAction } from '../../modules/user';
4
+ import WhatsAppBot from '../WhatsAppBot';
5
+ /**
6
+ * Operações relacionadas a grupos
7
+ */
8
+ export declare class GroupOperations {
9
+ private bot;
10
+ constructor(bot: WhatsAppBot);
11
+ /**
12
+ * Adiciona um usuário a um grupo
13
+ */
14
+ addUserInChat(chat: Chat, user: User): Promise<void>;
15
+ /**
16
+ * Remove um usuário de um grupo
17
+ */
18
+ removeUserInChat(chat: Chat, user: User): Promise<void>;
19
+ /**
20
+ * Promove um usuário a administrador
21
+ */
22
+ promoteUserInChat(chat: Chat, user: User): Promise<void>;
23
+ /**
24
+ * Remove privilégios de administrador de um usuário
25
+ */
26
+ demoteUserInChat(chat: Chat, user: User): Promise<void>;
27
+ /**
28
+ * Trata atualizações de participantes do grupo
29
+ */
30
+ groupParticipantsUpdate(action: UserAction, chatId: string, userId: string, fromId: string): Promise<void>;
31
+ }
@@ -0,0 +1,128 @@
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.GroupOperations = void 0;
7
+ const baileys_1 = require("@whiskeysockets/baileys");
8
+ const Chat_1 = __importDefault(require("../../modules/chat/Chat"));
9
+ const User_1 = __importDefault(require("../../modules/user/User"));
10
+ const ID_1 = require("../ID");
11
+ const Validation_1 = require("../utils/Validation");
12
+ const ChatType_1 = __importDefault(require("../../modules/chat/ChatType"));
13
+ /**
14
+ * Operações relacionadas a grupos
15
+ */
16
+ class GroupOperations {
17
+ constructor(bot) {
18
+ this.bot = bot;
19
+ }
20
+ /**
21
+ * Adiciona um usuário a um grupo
22
+ */
23
+ async addUserInChat(chat, user) {
24
+ if (!(0, baileys_1.isJidGroup)(chat.id))
25
+ return;
26
+ const admins = await this.bot.getChatAdmins(chat);
27
+ if (admins.length && !admins.includes(this.bot.id))
28
+ return;
29
+ await this.bot.sock.groupParticipantsUpdate(chat.id, [user.id], 'add');
30
+ }
31
+ /**
32
+ * Remove um usuário de um grupo
33
+ */
34
+ async removeUserInChat(chat, user) {
35
+ // Validações
36
+ Validation_1.Validation.ensureConnected(this.bot.status, this.bot.sock);
37
+ Validation_1.Validation.ensureValidJID(chat.id, 'chat.id');
38
+ Validation_1.Validation.ensureValidJID(user.id, 'user.id');
39
+ if (!(0, baileys_1.isJidGroup)(chat.id)) {
40
+ throw new Error('removeUserInChat só pode ser usado em grupos');
41
+ }
42
+ const admins = await this.bot.getChatAdmins(chat);
43
+ if (admins.length && !admins.includes(this.bot.id)) {
44
+ throw new Error('Apenas administradores podem remover usuários do grupo');
45
+ }
46
+ await this.bot.sock.groupParticipantsUpdate(chat.id, [user.id], 'remove');
47
+ }
48
+ /**
49
+ * Promove um usuário a administrador
50
+ */
51
+ async promoteUserInChat(chat, user) {
52
+ // Validações
53
+ Validation_1.Validation.ensureConnected(this.bot.status, this.bot.sock);
54
+ Validation_1.Validation.ensureValidJID(chat.id, 'chat.id');
55
+ Validation_1.Validation.ensureValidJID(user.id, 'user.id');
56
+ if (!(0, baileys_1.isJidGroup)(chat.id)) {
57
+ throw new Error('promoteUserInChat só pode ser usado em grupos');
58
+ }
59
+ const admins = await this.bot.getChatAdmins(chat);
60
+ if (admins.length && !admins.includes(this.bot.id)) {
61
+ throw new Error('Apenas administradores podem promover usuários');
62
+ }
63
+ await this.bot.sock.groupParticipantsUpdate(chat.id, [user.id], 'promote');
64
+ }
65
+ /**
66
+ * Remove privilégios de administrador de um usuário
67
+ */
68
+ async demoteUserInChat(chat, user) {
69
+ // Validações
70
+ Validation_1.Validation.ensureConnected(this.bot.status, this.bot.sock);
71
+ Validation_1.Validation.ensureValidJID(chat.id, 'chat.id');
72
+ Validation_1.Validation.ensureValidJID(user.id, 'user.id');
73
+ if (!(0, baileys_1.isJidGroup)(chat.id)) {
74
+ throw new Error('demoteUserInChat só pode ser usado em grupos');
75
+ }
76
+ const admins = await this.bot.getChatAdmins(chat);
77
+ if (admins.length && !admins.includes(this.bot.id)) {
78
+ throw new Error('Apenas administradores podem rebaixar usuários');
79
+ }
80
+ await this.bot.sock.groupParticipantsUpdate(chat.id, [user.id], 'demote');
81
+ }
82
+ /**
83
+ * Trata atualizações de participantes do grupo
84
+ */
85
+ async groupParticipantsUpdate(action, chatId, userId, fromId) {
86
+ if (!chatId.includes('@g'))
87
+ return;
88
+ const event = action === 'join' ? 'add' : action === 'leave' ? 'remove' : action;
89
+ let chat = await this.bot.getChat(new Chat_1.default(chatId));
90
+ if (!chat) {
91
+ if (!this.bot.config.autoLoadGroupInfo)
92
+ return;
93
+ chat = Chat_1.default.fromJSON({
94
+ id: chatId,
95
+ phoneNumber: (0, ID_1.getPhoneNumber)(chatId),
96
+ type: ChatType_1.default.Group,
97
+ });
98
+ }
99
+ const fromUser = (await this.bot.getUser(new User_1.default(fromId))) ||
100
+ User_1.default.fromJSON({ id: fromId, phoneNumber: (0, ID_1.getPhoneNumber)(fromId) });
101
+ const user = (await this.bot.getUser(new User_1.default(userId))) ||
102
+ User_1.default.fromJSON({ id: userId, phoneNumber: (0, ID_1.getPhoneNumber)(userId) });
103
+ let users = chat.users || [];
104
+ const admins = chat.admins || [];
105
+ if (event === 'add')
106
+ users.push(user.id);
107
+ if (event === 'remove')
108
+ users = users.filter((u) => u !== user.id);
109
+ if (event === 'demote')
110
+ chat.admins = admins.filter((admin) => admin !== user.id);
111
+ if (event === 'promote')
112
+ admins.push(user.id);
113
+ chat.users = users;
114
+ chat.admins = admins;
115
+ if (user.id === this.bot.id) {
116
+ if (event === 'remove')
117
+ await this.bot.removeChat(chat);
118
+ if (event === 'add')
119
+ await this.bot.updateChat(chat);
120
+ }
121
+ else {
122
+ await this.bot.updateChat(chat);
123
+ }
124
+ this.bot.ev.emit('user', { action, event, user, fromUser, chat });
125
+ }
126
+ }
127
+ exports.GroupOperations = GroupOperations;
128
+ //# sourceMappingURL=GroupOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupOperations.js","sourceRoot":"","sources":["../../../src/wa/operations/GroupOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import Message from '../../messages/Message';
2
+ import MediaMessage from '../../messages/MediaMessage';
3
+ import ReactionMessage from '../../messages/ReactionMessage';
4
+ import { PollMessage, PollUpdateMessage } from '../../messages';
5
+ import { ErrorHandler } from '../services/ErrorHandler';
6
+ import { PendingMessageQueue } from '../services/PendingMessageQueue';
7
+ import WhatsAppBot from '../WhatsAppBot';
8
+ /**
9
+ * Operações relacionadas a mensagens
10
+ */
11
+ export declare class MessageOperations {
12
+ private bot;
13
+ private errorHandler;
14
+ private pendingMessageQueue;
15
+ constructor(bot: WhatsAppBot, errorHandler: ErrorHandler, pendingMessageQueue: PendingMessageQueue);
16
+ /**
17
+ * Normaliza JID LID para JID válido (baseado em práticas do Rompot)
18
+ * Tenta normalizar apenas quando necessário (antes de enviar mensagem)
19
+ * Usa LIDMappingService do bot (que tem cache) primeiro
20
+ * Tenta múltiplas vezes com delays crescentes antes de desistir
21
+ */
22
+ private normalizeJIDForSend;
23
+ /**
24
+ * Envia uma mensagem
25
+ * Baseado no Rompot: normaliza JID apenas quando necessário (antes de enviar)
26
+ * Usa fila de mensagens pendentes se o mapeamento LID/PN não estiver disponível
27
+ */
28
+ send(message: Message): Promise<Message>;
29
+ /**
30
+ * Envia a mensagem internamente (JID já deve estar normalizado)
31
+ */
32
+ private sendMessageInternal;
33
+ /**
34
+ * Lê uma mensagem (marca como lida localmente)
35
+ */
36
+ readMessage(message: Message): Promise<void>;
37
+ /**
38
+ * Remove uma mensagem (marca como removida para todos)
39
+ */
40
+ removeMessage(message: Message): Promise<void>;
41
+ /**
42
+ * Deleta uma mensagem (remove do histórico)
43
+ */
44
+ deleteMessage(message: Message): Promise<void>;
45
+ /**
46
+ * Edita o texto de uma mensagem enviada
47
+ */
48
+ editMessage(message: Message): Promise<void>;
49
+ /**
50
+ * Adiciona uma reação a uma mensagem
51
+ */
52
+ addReaction(message: ReactionMessage): Promise<void>;
53
+ /**
54
+ * Remove uma reação de uma mensagem
55
+ */
56
+ removeReaction(message: ReactionMessage): Promise<void>;
57
+ /**
58
+ * Baixa a stream de mídia de uma mensagem
59
+ */
60
+ downloadStreamMessage(media: MediaMessage): Promise<Buffer>;
61
+ /**
62
+ * Obtém uma mensagem de enquete
63
+ */
64
+ getPollMessage(pollMessageId: string): Promise<PollMessage | PollUpdateMessage>;
65
+ /**
66
+ * Salva uma mensagem de enquete
67
+ */
68
+ savePollMessage(pollMessage: PollMessage | PollUpdateMessage): Promise<void>;
69
+ }