feat(pl24): PL24 girişi 1 saat başarısızsa Telegram uyarısı
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
İki hesap banı da günler sonra, DB satır sayılarından fark edildi (tr 07-24 → 08-18'de, de 09-04 → 09-16'da). Üçüncüsünde bir saat içinde haber olsun. - Yeni global `TelegramService` (aynı bot: TELEGRAM_BOT_TOKEN/TELEGRAM_CHAT_ID; yapılandırılmamışsa sessizce devre dışı, istek yolunu asla etkilemez). - `PL24AuthService` kesinti saatini Redis'te tutuyor (`pl24:auth:fail-since:<hesap>`), böylece api+worker ve yeniden başlatmalar aynı başlangıcı görür — crash-loop saati sıfırlayamaz. Başarılı login saati siler. - Kesinti 60 dakikayı geçince tek sefer uyarı (`pl24:auth:alerted:<hesap>` NX, 6 saat) — hesap kodu, süre, son hata ve "banlanmış olabilir" notu ile. Düzelince sessiz "🟢 düzeldi" mesajı. - Devre kesici açıkken de saat işler: kesici login denemesini bastırdığı için aksi halde hesap en ölü olduğu anda saat duruyordu. - compose'a eksik env referansları: TELEGRAM_*, PL24_HTTP_DAILY_MAX, PL24_HTTP_USER_RESERVE, PREFETCH_PL24_FAST_DEPTH, PREFETCH_PL24_DELAY_MS (Coolify env'i ancak compose'da referanslıysa container'a ulaşıyor). Test: 3 yeni test (1 saat dolmadan susar, dolunca tek sefer uyarır, düzelince kurtarma mesajı + saat sıfırlanır). Redis stub'ı gerçek SET NX semantiğine çekildi (alarm tekrarının bastırılması buna dayanıyor). 80 PL24 testi geçti. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
10
apps/api/src/common/telegram.module.ts
Normal file
10
apps/api/src/common/telegram.module.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Global, Module } from "@nestjs/common";
|
||||
import { TelegramService } from "./telegram.service";
|
||||
|
||||
/** Global so any module can raise an operational alert without extra wiring. */
|
||||
@Global()
|
||||
@Module({
|
||||
providers: [TelegramService],
|
||||
exports: [TelegramService],
|
||||
})
|
||||
export class TelegramModule {}
|
||||
Reference in New Issue
Block a user