common-tg-service 1.3.122 → 1.3.124

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.
@@ -312,28 +312,49 @@ class TelegramManager {
312
312
  this.apiHash = tgCreds.apiHash;
313
313
  this.apiId = tgCreds.apiId;
314
314
  const tgConfiguration = await (0, generateTGConfig_1.generateTGConfig)(this.phoneNumber);
315
- await (0, withTimeout_1.withTimeout)(async () => {
316
- this.client = new telegram_1.TelegramClient(this.session, this.apiId, this.apiHash, tgConfiguration);
317
- this.client.setLogLevel(Logger_1.LogLevel.ERROR);
318
- this.client._errorHandler = this.errorHandler.bind(this);
319
- await this.client.connect();
320
- this.logger.info(this.phoneNumber, "Connected Client Succesfully");
321
- this.clearTimeoutErr();
322
- }, {
323
- timeout: 180000,
324
- errorMessage: `[Tg Manager]\n${this.phoneNumber}: Client Creation TimeOut\n`
325
- });
326
- if (handler && this.client) {
327
- if (handlerFn) {
328
- this.logger.info(this.phoneNumber, "Adding Custom Event Handler");
329
- this.client.addEventHandler(async (event) => { await handlerFn(event); }, new events_1.NewMessage());
315
+ try {
316
+ await (0, withTimeout_1.withTimeout)(async () => {
317
+ this.client = new telegram_1.TelegramClient(this.session, this.apiId, this.apiHash, tgConfiguration);
318
+ this.client.setLogLevel(Logger_1.LogLevel.ERROR);
319
+ this.client._errorHandler = this.errorHandler.bind(this);
320
+ await this.client.connect();
321
+ this.logger.info(this.phoneNumber, "Connected Client Succesfully");
322
+ this.clearTimeoutErr();
323
+ }, {
324
+ timeout: 180000,
325
+ errorMessage: `[Tg Manager]\n${this.phoneNumber}: Client Creation TimeOut\n`
326
+ });
327
+ if (!this.client) {
328
+ throw new Error(`Client is null after connection attempt for ${this.phoneNumber}`);
330
329
  }
331
- else {
332
- this.logger.info(this.phoneNumber, "Adding Default Event Handler");
333
- this.client.addEventHandler(async (event) => { await this.handleEvents(event); }, new events_1.NewMessage());
330
+ if (handler && this.client) {
331
+ if (handlerFn) {
332
+ this.logger.info(this.phoneNumber, "Adding Custom Event Handler");
333
+ this.client.addEventHandler(async (event) => { await handlerFn(event); }, new events_1.NewMessage());
334
+ }
335
+ else {
336
+ this.logger.info(this.phoneNumber, "Adding Default Event Handler");
337
+ this.client.addEventHandler(async (event) => { await this.handleEvents(event); }, new events_1.NewMessage());
338
+ }
339
+ if (!this.client.connected) {
340
+ throw new Error(`Client not connected after connection attempt for ${this.phoneNumber}`);
341
+ }
334
342
  }
343
+ return this.client;
344
+ }
345
+ catch (error) {
346
+ this.logger.error(this.phoneNumber, "Client creation failed", error);
347
+ if (this.client) {
348
+ try {
349
+ await this.client.destroy();
350
+ }
351
+ catch (destroyError) {
352
+ this.logger.error(this.phoneNumber, "Error destroying failed client", destroyError);
353
+ }
354
+ this.client = null;
355
+ }
356
+ throw error;
335
357
  }
336
- return this.client;
337
358
  }
338
359
  async getGrpMembers(entity) {
339
360
  try {