diff --git a/src/now-playing/emg-now-playing.service.ts b/src/now-playing/emg-now-playing.service.ts index 4f2975e..054b054 100644 --- a/src/now-playing/emg-now-playing.service.ts +++ b/src/now-playing/emg-now-playing.service.ts @@ -103,13 +103,11 @@ export class EmgNowPlayingService { private extractSlug(streamUrl: string): string | null { const emg = streamUrl.match(/hls-\d+-([a-z0-9-]+)\.emgsound\.ru/i); if (emg) return emg[1].toLowerCase(); - const r7 = streamUrl.match(/radio7\.hostingradio\.ru[:0-9]*\/([a-z0-9_]+)/i); - if (r7) { - return r7[1] - .toLowerCase() - .replace(/\d+$/, '') - .replace(/_/g, '-'); - } + // Маунты radio7: radio7{br}, radio7_love{br}, radio7_happiness{br} (br=64/128/256). + // ВАЖНО: нельзя резать цифры с конца «\d+$» — у «radio7128» это съест «7» (→radio). + // Берём «radio7» + опциональный «_слово» (бренд), отбрасывая битрейт. + const r7 = streamUrl.match(/radio7\.hostingradio\.ru[:0-9]*\/(radio7(?:_[a-z]+)?)/i); + if (r7) return r7[1].toLowerCase().replace(/_/g, '-'); return null; }