trompot 1.6.8 → 1.7.0

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 (77) hide show
  1. package/README.md +0 -7
  2. package/lib/messages/MediaMessage.js +0 -15
  3. package/lib/messages/MediaMessage.js.map +1 -1
  4. package/lib/telegram/TelegramBot.d.ts +3 -6
  5. package/lib/telegram/TelegramBot.js +7 -29
  6. package/lib/telegram/TelegramBot.js.map +1 -1
  7. package/lib/telegram/TelegramEvents.js.map +1 -1
  8. package/lib/telegram/TelegramSendingController.d.ts +17 -12
  9. package/lib/telegram/TelegramSendingController.js +12 -45
  10. package/lib/telegram/TelegramSendingController.js.map +1 -1
  11. package/lib/telegram/TelegramToRompotConverter.d.ts +3 -3
  12. package/lib/telegram/TelegramToRompotConverter.js.map +1 -1
  13. package/lib/telegram/TelegramUtils.d.ts +10 -10
  14. package/lib/telegram/TelegramUtils.js +20 -20
  15. package/lib/telegram/TelegramUtils.js.map +1 -1
  16. package/lib/telegram/telegramTypes.d.ts +5 -0
  17. package/lib/telegram/telegramTypes.js +3 -0
  18. package/lib/telegram/telegramTypes.js.map +1 -0
  19. package/lib/wa/ConfigWAEvents.js +14 -11
  20. package/lib/wa/ConfigWAEvents.js.map +1 -1
  21. package/lib/wa/ConvertWAMessage.js +49 -60
  22. package/lib/wa/ConvertWAMessage.js.map +1 -1
  23. package/lib/wa/ID.d.ts +13 -1
  24. package/lib/wa/ID.js +43 -1
  25. package/lib/wa/ID.js.map +1 -1
  26. package/lib/wa/WhatsAppBot.d.ts +0 -4
  27. package/lib/wa/WhatsAppBot.js +8 -18
  28. package/lib/wa/WhatsAppBot.js.map +1 -1
  29. package/lib/wa/constants/DisconnectReasons.d.ts +1 -1
  30. package/lib/wa/constants/DisconnectReasons.js +1 -0
  31. package/lib/wa/constants/DisconnectReasons.js.map +1 -1
  32. package/lib/wa/constants/ErrorCodes.d.ts +4 -0
  33. package/lib/wa/constants/ErrorCodes.js +4 -0
  34. package/lib/wa/constants/ErrorCodes.js.map +1 -1
  35. package/lib/wa/constants/JIDPatterns.d.ts +8 -1
  36. package/lib/wa/constants/JIDPatterns.js +12 -2
  37. package/lib/wa/constants/JIDPatterns.js.map +1 -1
  38. package/lib/wa/core/ConnectionManager.js +1 -0
  39. package/lib/wa/core/ConnectionManager.js.map +1 -1
  40. package/lib/wa/events/CallEventHandler.js +15 -11
  41. package/lib/wa/events/CallEventHandler.js.map +1 -1
  42. package/lib/wa/events/ConnectionEventHandler.js +30 -24
  43. package/lib/wa/events/ConnectionEventHandler.js.map +1 -1
  44. package/lib/wa/events/ContactEventHandler.js +30 -40
  45. package/lib/wa/events/ContactEventHandler.js.map +1 -1
  46. package/lib/wa/events/GroupEventHandler.js +2 -2
  47. package/lib/wa/events/GroupEventHandler.js.map +1 -1
  48. package/lib/wa/events/HistoryEventHandler.js +13 -23
  49. package/lib/wa/events/HistoryEventHandler.js.map +1 -1
  50. package/lib/wa/events/LIDMappingEventHandler.d.ts +4 -13
  51. package/lib/wa/events/LIDMappingEventHandler.js +12 -42
  52. package/lib/wa/events/LIDMappingEventHandler.js.map +1 -1
  53. package/lib/wa/events/MessageEventHandler.d.ts +2 -2
  54. package/lib/wa/events/MessageEventHandler.js +6 -45
  55. package/lib/wa/events/MessageEventHandler.js.map +1 -1
  56. package/lib/wa/makeInMemoryStore.js +0 -21
  57. package/lib/wa/makeInMemoryStore.js.map +1 -1
  58. package/lib/wa/operations/ChatOperations.d.ts +0 -8
  59. package/lib/wa/operations/ChatOperations.js +7 -61
  60. package/lib/wa/operations/ChatOperations.js.map +1 -1
  61. package/lib/wa/operations/MessageOperations.js +3 -6
  62. package/lib/wa/operations/MessageOperations.js.map +1 -1
  63. package/lib/wa/services/LIDMappingService.d.ts +4 -0
  64. package/lib/wa/services/LIDMappingService.js +30 -43
  65. package/lib/wa/services/LIDMappingService.js.map +1 -1
  66. package/lib/wa/services/LIDNormalizationService.d.ts +3 -2
  67. package/lib/wa/services/LIDNormalizationService.js +15 -30
  68. package/lib/wa/services/LIDNormalizationService.js.map +1 -1
  69. package/lib/wa/services/PendingMessageQueue.js +6 -4
  70. package/lib/wa/services/PendingMessageQueue.js.map +1 -1
  71. package/package.json +89 -98
  72. package/lib/wa/services/ContactService.d.ts +0 -122
  73. package/lib/wa/services/ContactService.js +0 -442
  74. package/lib/wa/services/ContactService.js.map +0 -1
  75. package/lib/wa/utils/ContactIdHelper.d.ts +0 -112
  76. package/lib/wa/utils/ContactIdHelper.js +0 -216
  77. package/lib/wa/utils/ContactIdHelper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LIDNormalizationService.js","sourceRoot":"","sources":["../../../src/wa/services/LIDNormalizationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LIDNormalizationService.js","sourceRoot":"","sources":["../../../src/wa/services/LIDNormalizationService.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ class PendingMessageQueue {
18
18
  * Adiciona uma mensagem à fila de pendentes
19
19
  */
20
20
  add(message, resolve, reject) {
21
- const lid = message.chat.id.replace('@lid', '');
21
+ const lid = (0, ID_1.jidUser)(message.chat.id);
22
22
  if (!this.queue.has(lid)) {
23
23
  this.queue.set(lid, []);
24
24
  }
@@ -37,13 +37,15 @@ class PendingMessageQueue {
37
37
  * Processa mensagens pendentes para um LID quando o mapeamento ficar disponível
38
38
  */
39
39
  async processPendingMessages(lid, pn) {
40
- const pendingMessages = this.queue.get(lid);
40
+ const lidKey = (0, ID_1.jidUser)(lid);
41
+ const pendingMessages = this.queue.get(lidKey) || this.queue.get(lid);
41
42
  if (!pendingMessages || pendingMessages.length === 0) {
42
43
  return;
43
44
  }
44
45
  const normalizedJID = (0, ID_1.getID)(pn);
45
46
  this.logger.info(`✅ Mapeamento LID/PN disponível! Processando ${pendingMessages.length} mensagem(ns) pendente(s) para LID ${lid} -> ${normalizedJID}`);
46
47
  // Remove da fila ANTES de processar (evita processamento duplicado)
48
+ this.queue.delete(lidKey);
47
49
  this.queue.delete(lid);
48
50
  // Processa todas as mensagens pendentes para este LID
49
51
  // A promise resolve já chama sendMessageInternal automaticamente
@@ -89,8 +91,8 @@ class PendingMessageQueue {
89
91
  * Retorna o número de mensagens pendentes para um LID
90
92
  */
91
93
  getPendingCount(lid) {
92
- var _a;
93
- return ((_a = this.queue.get(lid)) === null || _a === void 0 ? void 0 : _a.length) || 0;
94
+ var _a, _b;
95
+ return ((_a = this.queue.get((0, ID_1.jidUser)(lid))) === null || _a === void 0 ? void 0 : _a.length) || ((_b = this.queue.get(lid)) === null || _b === void 0 ? void 0 : _b.length) || 0;
94
96
  }
95
97
  /**
96
98
  * Retorna o número total de mensagens pendentes
@@ -1 +1 @@
1
- {"version":3,"file":"PendingMessageQueue.js","sourceRoot":"","sources":["../../../src/wa/services/PendingMessageQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PendingMessageQueue.js","sourceRoot":"","sources":["../../../src/wa/services/PendingMessageQueue.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,98 +1,89 @@
1
- {
2
- "name": "trompot",
3
- "version": "1.6.8",
4
- "description": "Chatbot API multi-plataforma em TypeScript. Fork do Trompot.",
5
- "main": "lib/index.js",
6
- "types": "lib/index.d.ts",
7
- "scripts": {
8
- "example": "ts-node-dev example/index.ts",
9
- "cluster": "ts-node-dev example/cluster.ts",
10
- "telegram": "ts-node-dev example/telegram.ts",
11
- "test": "ts-node example/test-refactoring.ts",
12
- "test:proactive": "ts-node example/test-send-proactive-whatsapp.ts",
13
- "test:bulk": "ts-node example/test-bulk-notifications-whatsapp.ts",
14
- "test:convert-lid": "ts-node example/test-convert-lid-to-jid.ts",
15
- "test:stable-id": "ts-node example/test-stable-user-id.ts",
16
- "test:perfect": "ts-node example/test-perfect-contact-system.ts",
17
- "test:force-contact": "ts-node example/test-force-contact-verification.ts",
18
- "test:complete": "ts-node example/test-complete-whatsapp-methods.ts",
19
- "test:connection": "ts-node example/test-connection-debug.ts",
20
- "build": "npm i && npm run clean && tsc",
21
- "clean": "rimraf lib",
22
- "lint": "eslint ."
23
- },
24
- "repository": {
25
- "type": "git",
26
- "url": "git+https://github.com/TelksBr/trompot.git"
27
- },
28
- "keywords": [
29
- "whatsapp",
30
- "bot",
31
- "chatbot",
32
- "baileys",
33
- "typescript",
34
- "telegram",
35
- "api",
36
- "messaging",
37
- "automation",
38
- "nodejs"
39
- ],
40
- "author": "TelksBr",
41
- "license": "MIT",
42
- "bugs": {
43
- "url": "https://github.com/TelksBr/trompot/issues"
44
- },
45
- "homepage": "https://github.com/TelksBr/trompot#readme",
46
- "dependencies": {
47
- "@adiwajshing/keyed-db": "0.2.4",
48
- "@hapi/boom": "9.1.3",
49
- "@whiskeysockets/baileys": "7.0.0-rc.9",
50
- "axios": "1.13.2",
51
- "body-parser": "1.20.2",
52
- "cluster": "0.7.7",
53
- "crypto-digest-sync": "1.0.0",
54
- "express": "5.2.1",
55
- "long": "5.2.3",
56
- "node-cache": "5.1.2",
57
- "node-telegram-bot-api": "0.67.0",
58
- "pino": "9.7.0"
59
- },
60
- "files": [
61
- "lib/**/*"
62
- ],
63
- "devDependencies": {
64
- "@eslint/js": "^9.14.0",
65
- "@laxeder/wa-sticker": "4.4.5",
66
- "@types/body-parser": "1.19.5",
67
- "@types/express": "5.0.2",
68
- "@types/node": "^22.15.29",
69
- "@types/node-telegram-bot-api": "0.64.8",
70
- "@types/qrcode": "^1.5.6",
71
- "@types/ws": "8.18.1",
72
- "dotenv": "16.5.0",
73
- "eslint": "^9.14.0",
74
- "eslint-config-prettier": "10.1.5",
75
- "eslint-plugin-prettier": "^5.2.1",
76
- "globals": "16.2.0",
77
- "jimp": "^1.6.0",
78
- "prettier": "^3.3.3",
79
- "qrcode": "^1.5.4",
80
- "rimraf": "^6.0.1",
81
- "sharp": "0.32.6",
82
- "ts-node-dev": "2.0.0",
83
- "typescript": "5.8.3",
84
- "typescript-eslint": "^8.12.2"
85
- },
86
- "peerDependencies": {
87
- "@laxeder/wa-sticker": "4.4.5",
88
- "sharp": "0.34.2"
89
- },
90
- "peerDependenciesMeta": {
91
- "@laxeder/wa-sticker": {
92
- "optional": true
93
- },
94
- "sharp": {
95
- "optional": true
96
- }
97
- }
98
- }
1
+ {
2
+ "name": "trompot",
3
+ "version": "1.7.0",
4
+ "description": "Chatbot API multi-plataforma em TypeScript. Fork do Trompot.",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
+ "scripts": {
8
+ "example": "ts-node-dev example/index.ts",
9
+ "cluster": "ts-node-dev example/cluster.ts",
10
+ "telegram": "ts-node-dev example/telegram.ts",
11
+ "test": "ts-node example/test-refactoring.ts",
12
+ "build": "npm i && npm run clean && tsc",
13
+ "clean": "rimraf lib",
14
+ "lint": "eslint ."
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/TelksBr/trompot.git"
19
+ },
20
+ "keywords": [
21
+ "whatsapp",
22
+ "bot",
23
+ "chatbot",
24
+ "baileys",
25
+ "typescript",
26
+ "telegram",
27
+ "api",
28
+ "messaging",
29
+ "automation",
30
+ "nodejs"
31
+ ],
32
+ "author": "TelksBr",
33
+ "license": "MIT",
34
+ "bugs": {
35
+ "url": "https://github.com/TelksBr/trompot/issues"
36
+ },
37
+ "homepage": "https://github.com/TelksBr/trompot#readme",
38
+ "dependencies": {
39
+ "@adiwajshing/keyed-db": "0.2.4",
40
+ "@hapi/boom": "9.1.3",
41
+ "@whiskeysockets/baileys": "7.0.0-rc14",
42
+ "axios": "1.13.2",
43
+ "body-parser": "1.20.2",
44
+ "cluster": "0.7.7",
45
+ "crypto-digest-sync": "1.0.0",
46
+ "express": "5.2.1",
47
+ "long": "5.2.3",
48
+ "node-cache": "5.1.2",
49
+ "node-telegram-bot-api": "1.2.0",
50
+ "pino": "9.7.0"
51
+ },
52
+ "files": [
53
+ "lib/**/*"
54
+ ],
55
+ "devDependencies": {
56
+ "@eslint/js": "^9.14.0",
57
+ "@laxeder/wa-sticker": "4.4.5",
58
+ "@types/body-parser": "1.19.5",
59
+ "@types/express": "5.0.2",
60
+ "@types/node": "^22.15.29",
61
+ "@types/qrcode": "^1.5.6",
62
+ "@types/ws": "8.18.1",
63
+ "dotenv": "16.5.0",
64
+ "eslint": "^9.14.0",
65
+ "eslint-config-prettier": "10.1.5",
66
+ "eslint-plugin-prettier": "^5.2.1",
67
+ "globals": "16.2.0",
68
+ "jimp": "^1.6.0",
69
+ "prettier": "^3.3.3",
70
+ "qrcode": "^1.5.4",
71
+ "rimraf": "^6.0.1",
72
+ "sharp": "0.32.6",
73
+ "ts-node-dev": "2.0.0",
74
+ "typescript": "5.8.3",
75
+ "typescript-eslint": "^8.12.2"
76
+ },
77
+ "peerDependencies": {
78
+ "@laxeder/wa-sticker": "4.4.5",
79
+ "sharp": "0.34.2"
80
+ },
81
+ "peerDependenciesMeta": {
82
+ "@laxeder/wa-sticker": {
83
+ "optional": true
84
+ },
85
+ "sharp": {
86
+ "optional": true
87
+ }
88
+ }
89
+ }
@@ -1,122 +0,0 @@
1
- import { Contact as BaileysContact } from '@whiskeysockets/baileys';
2
- import { ILoggerService } from '../interfaces/ILoggerService';
3
- import { ICacheService } from '../interfaces/ICacheService';
4
- import WhatsAppBot from '../WhatsAppBot';
5
- /**
6
- * 🎯 ESTRUTURA ENRIQUECIDA DE CONTATO (Baileys v7)
7
- *
8
- * Segue a estrutura oficial do Baileys v7:
9
- * - `id`: Identificador principal (pode ser LID ou PN)
10
- * - `phoneNumber`: Presente quando `id` é LID
11
- * - `lid`: Presente quando `id` é PN
12
- *
13
- * @see https://whiskey.so/migrate-latest
14
- */
15
- export interface EnrichedContact extends BaileysContact {
16
- /** ID principal (LID ou PN) - PREFERIDO pelo WhatsApp */
17
- id: string;
18
- /** phoneNumber presente quando id é LID */
19
- phoneNumber?: string;
20
- /** LID presente quando id é PN */
21
- lid?: string;
22
- /** Metadados de persistência */
23
- firstSeenAt?: Date;
24
- lastSeenAt?: Date;
25
- lastUpdatedAt?: Date;
26
- /** Identificadores alternativos (de remoteJidAlt/participantAlt) */
27
- alternateIds?: string[];
28
- }
29
- /**
30
- * 🎯 SERVIÇO DE GERENCIAMENTO DE CONTATOS (Baileys v7)
31
- *
32
- * FILOSOFIA:
33
- * - LID é o identificador PRINCIPAL e MAIS CONFIÁVEL
34
- * - PN (phoneNumber) é OPCIONAL e informativo
35
- * - Aceita LID como identificador válido (não tenta "descobrir" PN a todo custo)
36
- * - Usa signalRepository.lidMapping oficial para conversões
37
- *
38
- * MUDANÇAS do Baileys v7:
39
- * - "PNs are WAY LESS RELIABLE. MIGRATE TO LIDs"
40
- * - Contact.id pode ser LID ou PN
41
- * - Se id é LID → phoneNumber pode estar presente
42
- * - Se id é PN → lid pode estar presente
43
- *
44
- * @since Baileys v7
45
- */
46
- export declare class ContactService {
47
- private bot;
48
- private logger;
49
- private cache;
50
- private contactsMap;
51
- private phoneToIdIndex;
52
- private lidToIdIndex;
53
- constructor(bot: WhatsAppBot, logger: ILoggerService, cache: ICacheService);
54
- /**
55
- * 🔄 Sincroniza contatos do evento contacts.upsert
56
- */
57
- syncContactsUpsert(contacts: BaileysContact[]): Promise<void>;
58
- /**
59
- * 🔄 Sincroniza contatos do evento contacts.update
60
- */
61
- syncContactsUpdate(contacts: Partial<BaileysContact>[]): Promise<void>;
62
- /**
63
- * ✨ Insere ou atualiza um contato (CORE DO SISTEMA)
64
- *
65
- * ✅ Baileys v7: Usa signalRepository.lidMapping oficial
66
- * ✅ Aceita LID como identificador válido
67
- * ✅ Enriquece com phoneNumber/lid quando disponível
68
- */
69
- private upsertContact;
70
- /**
71
- * 📞 Obtém phoneNumber de um JID/LID
72
- *
73
- * ✅ Baileys v7: Usa signalRepository.lidMapping oficial
74
- * ✅ Aceita que phoneNumber pode não estar disponível
75
- */
76
- getPhoneNumber(jid: string): Promise<string | null>;
77
- /**
78
- * 🔍 Busca JID/LID de um phoneNumber
79
- */
80
- getIdByPhoneNumber(phoneNumber: string): Promise<string | null>;
81
- /**
82
- * 📋 Obtém contato completo
83
- */
84
- getContact(jid: string): Promise<EnrichedContact | null>;
85
- /**
86
- * 📋 Lista todos os contatos
87
- */
88
- getAllContacts(): EnrichedContact[];
89
- /**
90
- * 💾 Salva contatos em arquivo persistente
91
- */
92
- private saveContactsToPersistence;
93
- /**
94
- * 📂 Carrega contatos do arquivo persistente
95
- */
96
- private loadContactsFromPersistence;
97
- /**
98
- * 🔄 Sincroniza com o store do Baileys (chamado após bind)
99
- */
100
- syncWithBaileysStore(): Promise<void>;
101
- /**
102
- * 🧹 Limpa cache (útil para testes)
103
- */
104
- clear(): void;
105
- /**
106
- * 🔄 Enriquece contato com mapeamento LID ↔ PN (NOVO - Baileys v7)
107
- *
108
- * Se o contato tem apenas LID, tenta obter PN.
109
- * Se o contato tem apenas PN, tenta obter LID.
110
- *
111
- * @param contactId - ID do contato (LID ou PN)
112
- * @returns true se conseguiu enriquecer, false caso contrário
113
- */
114
- enrichContactWithMapping(contactId: string): Promise<boolean>;
115
- /**
116
- * 🔄 Enriquece contato com mapeamento direto LID ↔ PN
117
- *
118
- * @param lid - LID do usuário (com ou sem @lid)
119
- * @param pn - PN do usuário (com ou sem @s.whatsapp.net)
120
- */
121
- enrichContactWithDirectMapping(lid: string, pn: string): Promise<void>;
122
- }