trompot 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +195 -20
- package/lib/client/Client.js +93 -28
- package/lib/client/Client.js.map +1 -1
- package/lib/client/ClientFunctionHandler.js +39 -3
- package/lib/client/ClientFunctionHandler.js.map +1 -1
- package/lib/telegram/TelegramAuth.js +36 -1
- package/lib/telegram/TelegramAuth.js.map +1 -1
- package/lib/telegram/TelegramBot.d.ts +11 -0
- package/lib/telegram/TelegramBot.js +101 -15
- package/lib/telegram/TelegramBot.js.map +1 -1
- package/lib/telegram/TelegramEvents.d.ts +8 -1
- package/lib/telegram/TelegramEvents.js +67 -30
- package/lib/telegram/TelegramEvents.js.map +1 -1
- package/lib/telegram/TelegramSendingController.js +59 -17
- package/lib/telegram/TelegramSendingController.js.map +1 -1
- package/lib/telegram/TelegramToRompotConverter.js +44 -14
- package/lib/telegram/TelegramToRompotConverter.js.map +1 -1
- package/lib/wa/Auth.js +17 -5
- package/lib/wa/Auth.js.map +1 -1
- package/lib/wa/ConfigWAEvents.d.ts +6 -10
- package/lib/wa/ConfigWAEvents.js +216 -430
- package/lib/wa/ConfigWAEvents.js.map +1 -1
- package/lib/wa/ConvertWAMessage.js +28 -19
- package/lib/wa/ConvertWAMessage.js.map +1 -1
- package/lib/wa/ID.d.ts +10 -1
- package/lib/wa/ID.js +22 -2
- package/lib/wa/ID.js.map +1 -1
- package/lib/wa/WhatsAppBot.d.ts +58 -11
- package/lib/wa/WhatsAppBot.js +365 -666
- package/lib/wa/WhatsAppBot.js.map +1 -1
- package/lib/wa/constants/ConfigDefaults.d.ts +23 -0
- package/lib/wa/constants/ConfigDefaults.js +27 -0
- package/lib/wa/constants/ConfigDefaults.js.map +1 -0
- package/lib/wa/constants/DisconnectReasons.d.ts +24 -0
- package/lib/wa/constants/DisconnectReasons.js +36 -0
- package/lib/wa/constants/DisconnectReasons.js.map +1 -0
- package/lib/wa/constants/ErrorCodes.d.ts +28 -0
- package/lib/wa/constants/ErrorCodes.js +32 -0
- package/lib/wa/constants/ErrorCodes.js.map +1 -0
- package/lib/wa/constants/JIDPatterns.d.ts +23 -0
- package/lib/wa/constants/JIDPatterns.js +38 -0
- package/lib/wa/constants/JIDPatterns.js.map +1 -0
- package/lib/wa/constants/Timeouts.d.ts +11 -0
- package/lib/wa/constants/Timeouts.js +15 -0
- package/lib/wa/constants/Timeouts.js.map +1 -0
- package/lib/wa/core/ConnectionManager.d.ts +84 -0
- package/lib/wa/core/ConnectionManager.js +256 -0
- package/lib/wa/core/ConnectionManager.js.map +1 -0
- package/lib/wa/core/SessionManager.d.ts +29 -0
- package/lib/wa/core/SessionManager.js +155 -0
- package/lib/wa/core/SessionManager.js.map +1 -0
- package/lib/wa/core/StateManager.d.ts +49 -0
- package/lib/wa/core/StateManager.js +135 -0
- package/lib/wa/core/StateManager.js.map +1 -0
- package/lib/wa/events/CallEventHandler.d.ts +17 -0
- package/lib/wa/events/CallEventHandler.js +155 -0
- package/lib/wa/events/CallEventHandler.js.map +1 -0
- package/lib/wa/events/ChatEventHandler.d.ts +12 -0
- package/lib/wa/events/ChatEventHandler.js +74 -0
- package/lib/wa/events/ChatEventHandler.js.map +1 -0
- package/lib/wa/events/ConnectionEventHandler.d.ts +43 -0
- package/lib/wa/events/ConnectionEventHandler.js +305 -0
- package/lib/wa/events/ConnectionEventHandler.js.map +1 -0
- package/lib/wa/events/ContactEventHandler.d.ts +12 -0
- package/lib/wa/events/ContactEventHandler.js +55 -0
- package/lib/wa/events/ContactEventHandler.js.map +1 -0
- package/lib/wa/events/EventManager.d.ts +43 -0
- package/lib/wa/events/EventManager.js +198 -0
- package/lib/wa/events/EventManager.js.map +1 -0
- package/lib/wa/events/GroupEventHandler.d.ts +12 -0
- package/lib/wa/events/GroupEventHandler.js +74 -0
- package/lib/wa/events/GroupEventHandler.js.map +1 -0
- package/lib/wa/events/HistoryEventHandler.d.ts +16 -0
- package/lib/wa/events/HistoryEventHandler.js +101 -0
- package/lib/wa/events/HistoryEventHandler.js.map +1 -0
- package/lib/wa/events/LIDMappingEventHandler.d.ts +20 -0
- package/lib/wa/events/LIDMappingEventHandler.js +39 -0
- package/lib/wa/events/LIDMappingEventHandler.js.map +1 -0
- package/lib/wa/events/MessageEventHandler.d.ts +16 -0
- package/lib/wa/events/MessageEventHandler.js +218 -0
- package/lib/wa/events/MessageEventHandler.js.map +1 -0
- package/lib/wa/interfaces/ICacheService.d.ts +12 -0
- package/lib/wa/interfaces/ICacheService.js +3 -0
- package/lib/wa/interfaces/ICacheService.js.map +1 -0
- package/lib/wa/interfaces/IConnectionManager.d.ts +15 -0
- package/lib/wa/interfaces/IConnectionManager.js +3 -0
- package/lib/wa/interfaces/IConnectionManager.js.map +1 -0
- package/lib/wa/interfaces/IErrorHandler.d.ts +9 -0
- package/lib/wa/interfaces/IErrorHandler.js +3 -0
- package/lib/wa/interfaces/IErrorHandler.js.map +1 -0
- package/lib/wa/interfaces/ILoggerService.d.ts +13 -0
- package/lib/wa/interfaces/ILoggerService.js +3 -0
- package/lib/wa/interfaces/ILoggerService.js.map +1 -0
- package/lib/wa/interfaces/ISessionManager.d.ts +16 -0
- package/lib/wa/interfaces/ISessionManager.js +3 -0
- package/lib/wa/interfaces/ISessionManager.js.map +1 -0
- package/lib/wa/interfaces/IStateManager.d.ts +41 -0
- package/lib/wa/interfaces/IStateManager.js +3 -0
- package/lib/wa/interfaces/IStateManager.js.map +1 -0
- package/lib/wa/operations/ChatOperations.d.ts +117 -0
- package/lib/wa/operations/ChatOperations.js +349 -0
- package/lib/wa/operations/ChatOperations.js.map +1 -0
- package/lib/wa/operations/GroupOperations.d.ts +31 -0
- package/lib/wa/operations/GroupOperations.js +128 -0
- package/lib/wa/operations/GroupOperations.js.map +1 -0
- package/lib/wa/operations/MessageOperations.d.ts +69 -0
- package/lib/wa/operations/MessageOperations.js +335 -0
- package/lib/wa/operations/MessageOperations.js.map +1 -0
- package/lib/wa/operations/UserOperations.d.ts +100 -0
- package/lib/wa/operations/UserOperations.js +216 -0
- package/lib/wa/operations/UserOperations.js.map +1 -0
- package/lib/wa/services/CacheService.d.ts +45 -0
- package/lib/wa/services/CacheService.js +93 -0
- package/lib/wa/services/CacheService.js.map +1 -0
- package/lib/wa/services/ErrorHandler.d.ts +26 -0
- package/lib/wa/services/ErrorHandler.js +73 -0
- package/lib/wa/services/ErrorHandler.js.map +1 -0
- package/lib/wa/services/LIDMappingService.d.ts +42 -0
- package/lib/wa/services/LIDMappingService.js +132 -0
- package/lib/wa/services/LIDMappingService.js.map +1 -0
- package/lib/wa/services/LIDNormalizationService.d.ts +30 -0
- package/lib/wa/services/LIDNormalizationService.js +136 -0
- package/lib/wa/services/LIDNormalizationService.js.map +1 -0
- package/lib/wa/services/LoggerService.d.ts +44 -0
- package/lib/wa/services/LoggerService.js +85 -0
- package/lib/wa/services/LoggerService.js.map +1 -0
- package/lib/wa/services/PendingMessageQueue.d.ts +46 -0
- package/lib/wa/services/PendingMessageQueue.js +119 -0
- package/lib/wa/services/PendingMessageQueue.js.map +1 -0
- package/lib/wa/services/RetryService.d.ts +25 -0
- package/lib/wa/services/RetryService.js +59 -0
- package/lib/wa/services/RetryService.js.map +1 -0
- package/lib/wa/utils/ConfigValidator.d.ts +15 -0
- package/lib/wa/utils/ConfigValidator.js +66 -0
- package/lib/wa/utils/ConfigValidator.js.map +1 -0
- package/lib/wa/utils/ErrorUtils.d.ts +29 -0
- package/lib/wa/utils/ErrorUtils.js +66 -0
- package/lib/wa/utils/ErrorUtils.js.map +1 -0
- package/lib/wa/utils/Validation.d.ts +18 -0
- package/lib/wa/utils/Validation.js +40 -0
- package/lib/wa/utils/Validation.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,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
|
+
}
|