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
- console.log(`Releasing inactive connection for ${mobile}`);
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: 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
- console.log("Parsing Error");
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
- console.log("Deleting User: ", user.mobile);
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
- console.error(`Client ${mobile} not found`);
133
+ this.logger.logError(mobile, 'Client not found for unregistration', new Error('Client not found'));
133
134
  }
134
135
  }
135
136
  catch (error) {
136
- console.error('Error in unregisterClient:', error);
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
- console.error('Error in cleanup interval:', err);
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;AAE1C,MAAM,iBAAiB;IAWnB;QAHQ,oBAAe,GAA0B,IAAI,CAAC;QAIlD,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC;IAEM,eAAe,CAAC,YAA0B;QAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAC9B,iBAAiB,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,cAAsB,MAAM;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAExD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC7B,SAAS;YACb,CAAC;YACD,IAAI,GAAG,GAAG,UAAU,CAAC,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,MAAc;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACb,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,UAAyF,EAAE;QAC9H,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,yBAAyB,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;gBACtE,OAAO,UAAU,CAAC,MAAM,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;oBACjE,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAClC,OAAO,UAAU,CAAC,MAAM,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;gBACtE,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,MAAsB,CAAC;QAE3B,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YAErB,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,IAAI,CAAC,cAAc,CACrB,MAAM,EACN,eAAe,EACf,EAAE,cAAc,EAAE,cAAc,EAAE,CACrC,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;gBAChE,OAAO,eAAe,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,YAAY,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,IAAA,gBAAQ,EAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC;gBAC9H,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClH,CAAC;YACD,MAAM,IAAI,4BAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAEM,SAAS,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,GAAG,CACb,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CACL,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,cAAc,CACvB,MAAc,EACd,eAAgC,EAChC,UAAuC,EAAE,cAAc,EAAE,IAAI,EAAE;QAE/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;YACrB,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;YACpB,cAAc,EAAE,OAAO,CAAC,cAAc;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,iCAAiC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC;IAEM,KAAK,CAAC,gBAAgB,CACzB,MAAc;QAEd,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,YAAY,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAEM,wBAAwB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAEM,oBAAoB,CAAC,aAAqB,MAAM;QACnD,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,0BAA0B,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC1C,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,UAAU,CAAC,CAAC;QACf,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,mBAAmB;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAChC,CAAC;IACL,CAAC;CACJ;AAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;AAC1D,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../../src/components/Telegram/utils/connection-manager.ts"],"names":[],"mappings":"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"}