common-tg-service 1.0.16 → 1.0.18
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.
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import TelegramManager from '../TelegramManager';
|
|
3
3
|
import { UsersService } from 'src/components/users/users.service';
|
|
4
|
+
interface GetClientOptions {
|
|
5
|
+
autoDisconnect?: boolean;
|
|
6
|
+
handler?: boolean;
|
|
7
|
+
}
|
|
4
8
|
declare class ConnectionManager {
|
|
5
9
|
private static instance;
|
|
6
10
|
private clients;
|
|
@@ -12,11 +16,7 @@ declare class ConnectionManager {
|
|
|
12
16
|
static getInstance(): ConnectionManager;
|
|
13
17
|
private cleanupInactiveConnections;
|
|
14
18
|
private updateLastUsed;
|
|
15
|
-
getClient(mobile: string, options?:
|
|
16
|
-
autoDisconnect?: boolean;
|
|
17
|
-
handler?: boolean;
|
|
18
|
-
excludeFromCleanup?: boolean;
|
|
19
|
-
}): Promise<TelegramManager | undefined>;
|
|
19
|
+
getClient(mobile: string, options?: GetClientOptions): Promise<TelegramManager | undefined>;
|
|
20
20
|
hasClient(number: string): boolean;
|
|
21
21
|
disconnectAll(): Promise<void>;
|
|
22
22
|
registerClient(mobile: string, telegramManager: TelegramManager, options?: {
|
|
@@ -30,7 +30,7 @@ class ConnectionManager {
|
|
|
30
30
|
continue;
|
|
31
31
|
}
|
|
32
32
|
if (now - connection.lastUsed > maxIdleTime) {
|
|
33
|
-
|
|
33
|
+
this.logger.logOperation(mobile, 'Releasing inactive connection');
|
|
34
34
|
await this.unregisterClient(mobile);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -47,7 +47,7 @@ class ConnectionManager {
|
|
|
47
47
|
this.logger.logDebug('system', 'getClient called with empty mobile number');
|
|
48
48
|
return undefined;
|
|
49
49
|
}
|
|
50
|
-
const { autoDisconnect = true, handler = true } = options;
|
|
50
|
+
const { autoDisconnect = true, handler = true, } = options;
|
|
51
51
|
this.logger.logOperation(mobile, 'Getting/Creating client', { autoDisconnect, handler });
|
|
52
52
|
const clientInfo = this.clients.get(mobile);
|
|
53
53
|
if (clientInfo?.client) {
|
|
@@ -64,6 +64,7 @@ class ConnectionManager {
|
|
|
64
64
|
}
|
|
65
65
|
catch (error) {
|
|
66
66
|
this.logger.logError(mobile, 'Failed to reconnect client', error);
|
|
67
|
+
await this.unregisterClient(mobile);
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -80,7 +81,7 @@ class ConnectionManager {
|
|
|
80
81
|
client = await telegramManager.createClient(handler);
|
|
81
82
|
await client.getMe();
|
|
82
83
|
if (client) {
|
|
83
|
-
await this.registerClient(mobile, telegramManager, { autoDisconnect
|
|
84
|
+
await this.registerClient(mobile, telegramManager, { autoDisconnect });
|
|
84
85
|
this.logger.logOperation(mobile, 'Client created successfully');
|
|
85
86
|
return telegramManager;
|
|
86
87
|
}
|
|
@@ -90,11 +91,11 @@ class ConnectionManager {
|
|
|
90
91
|
}
|
|
91
92
|
catch (error) {
|
|
92
93
|
this.logger.logError(mobile, 'Client creation failed', error);
|
|
93
|
-
|
|
94
|
+
this.logger.logDebug(mobile, 'Parsing error details...');
|
|
94
95
|
await this.unregisterClient(mobile);
|
|
95
96
|
const errorDetails = (0, parseError_1.parseError)(error, mobile);
|
|
96
97
|
if ((0, utils_1.contains)(errorDetails.message.toLowerCase(), ['expired', 'unregistered', 'deactivated', "revoked", "user_deactivated_ban"])) {
|
|
97
|
-
|
|
98
|
+
this.logger.logOperation(mobile, 'Marking user as expired');
|
|
98
99
|
await this.usersService.updateByFilter({ $or: [{ tgId: user.tgId }, { mobile: mobile }] }, { expired: true });
|
|
99
100
|
}
|
|
100
101
|
throw new common_1.BadRequestException(errorDetails.message);
|
|
@@ -119,7 +120,7 @@ class ConnectionManager {
|
|
|
119
120
|
lastUsed: Date.now(),
|
|
120
121
|
autoDisconnect: options.autoDisconnect
|
|
121
122
|
});
|
|
122
|
-
this.logger.logOperation(mobile, `Client registered successfully${options.autoDisconnect ? ' (excluded from auto-cleanup)' : ''}`);
|
|
123
|
+
this.logger.logOperation(mobile, `Client registered successfully${!options.autoDisconnect ? ' (excluded from auto-cleanup)' : ''}`);
|
|
123
124
|
}
|
|
124
125
|
async unregisterClient(mobile) {
|
|
125
126
|
try {
|
|
@@ -129,11 +130,11 @@ class ConnectionManager {
|
|
|
129
130
|
this.logger.logOperation(mobile, 'Client unregistered successfully');
|
|
130
131
|
}
|
|
131
132
|
else {
|
|
132
|
-
|
|
133
|
+
this.logger.logError(mobile, 'Client not found for unregistration', new Error('Client not found'));
|
|
133
134
|
}
|
|
134
135
|
}
|
|
135
136
|
catch (error) {
|
|
136
|
-
|
|
137
|
+
this.logger.logError(mobile, 'Error in unregisterClient', error);
|
|
137
138
|
}
|
|
138
139
|
finally {
|
|
139
140
|
this.clients.delete(mobile);
|
|
@@ -145,7 +146,7 @@ class ConnectionManager {
|
|
|
145
146
|
startCleanupInterval(intervalMs = 300000) {
|
|
146
147
|
this.cleanupInterval = setInterval(() => {
|
|
147
148
|
this.cleanupInactiveConnections().catch(err => {
|
|
148
|
-
|
|
149
|
+
this.logger.logError('system', 'Error in cleanup interval', err);
|
|
149
150
|
});
|
|
150
151
|
}, intervalMs);
|
|
151
152
|
return this.cleanupInterval;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../../src/components/Telegram/utils/connection-manager.ts"],"names":[],"mappings":";;;;;AAAA,yEAAiD;AACjD,0DAAuD;AACvD,uDAAmD;AACnD,2CAAqD;AAGrD,0CAA0C;
|
|
1
|
+
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../../src/components/Telegram/utils/connection-manager.ts"],"names":[],"mappings":"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"}
|