Преглед изворни кода

优化 TestService 中的 TelegramClient 连接逻辑,移除不必要的变量声明,增强连接失败时的错误处理。同时,在 TgGroupService 中添加了群组的 publicLink 和 inviteLink 属性,以支持更灵活的群组管理。

wuyi пре 3 недеља
родитељ
комит
fa418f503a
2 измењених фајлова са 15 додато и 4 уклоњено
  1. 13 4
      src/services/test.service.ts
  2. 2 0
      src/services/tg-group.service.ts

+ 13 - 4
src/services/test.service.ts

@@ -564,8 +564,6 @@ export class TestService {
     authKey?: string,
     initMsg?: string
   ): Promise<any> {
-    let client: TelegramClient | null = null
-
     try {
       const sessionResult = await this.resolveSenderSession(senderId, session, dcId, authKey)
       if ('error' in sessionResult) {
@@ -577,6 +575,14 @@ export class TestService {
       await this.tgClientService.connect(sessionString)
       this.app.log.info('TelegramClient 连接完成')
 
+      const client = this.tgClientService.getClient()
+      if (!client) {
+        return {
+          success: false,
+          message: 'TelegramClient 未初始化或连接失败'
+        }
+      }
+
       const waitTime = Math.floor(Math.random() * 21) + 20
       this.app.log.info(`连接成功后等待 ${waitTime} 秒,避免新 Session 被限制`)
       await new Promise(resolve => setTimeout(resolve, waitTime * 1000))
@@ -750,8 +756,6 @@ export class TestService {
     message: string
     data?: { chatId: string; inviteResults: { total: number; success: number; failed: number; errors: string[] } }
   }> {
-    let client: TelegramClient | null = null
-
     try {
       if (!members || members.length === 0) {
         return { success: false, message: '成员列表不能为空' }
@@ -771,6 +775,11 @@ export class TestService {
       await this.tgClientService.connect(sessionString)
       this.app.log.info('TelegramClient 连接完成')
 
+      const client = this.tgClientService.getClient()
+      if (!client) {
+        return { success: false, message: 'TelegramClient 未初始化或连接失败' }
+      }
+
       const waitTime = Math.floor(Math.random() * 21) + 20
       this.app.log.info(`连接成功后等待 ${waitTime} 秒,避免新 Session 被限制`)
       await new Promise(resolve => setTimeout(resolve, waitTime * 1000))

+ 2 - 0
src/services/tg-group.service.ts

@@ -113,6 +113,8 @@ export class TgGroupService {
           accessHash: groupInfo.accessHash,
           name: groupName,
           groupType,
+          publicLink: publicLink || undefined,
+          inviteLink: inviteLink || undefined,
           senderId: sender.id
         }
       }