From e33035a8ccffa6fdd3d445c1816ee7267f67c47a Mon Sep 17 00:00:00 2001
From: theofficialomega <30985701+BellezaEmporium@users.noreply.github.com>
Date: Tue, 29 Jul 2025 01:00:37 +0200
Subject: [PATCH 1/3] [tvplus.com.tr] simplify & fix channel grab
---
.../tvplus.com.tr/tvplus.com.tr.channels.xml | 293 +++++++++---------
sites/tvplus.com.tr/tvplus.com.tr.config.js | 41 +--
sites/tvplus.com.tr/tvplus.com.tr.test.js | 2 +-
3 files changed, 173 insertions(+), 163 deletions(-)
diff --git a/sites/tvplus.com.tr/tvplus.com.tr.channels.xml b/sites/tvplus.com.tr/tvplus.com.tr.channels.xml
index bc078b68..f0fcc625 100644
--- a/sites/tvplus.com.tr/tvplus.com.tr.channels.xml
+++ b/sites/tvplus.com.tr/tvplus.com.tr.channels.xml
@@ -1,146 +1,153 @@
- BluTV Play 1
- BluTV Play 2
- EKOL TV
- GZT TV
- KIBRIS ADA TV
- tabii spor
- tabii TV
- TRT EBA
- TV 2020
- 24
- 360
- A2
- A HABER
- AKİT TV
- AL JAZEERA ARABIC
- AL JAZEERA ENGLISH
- A NEWS
- A PARA
- A SPOR
- ATV
- BABYTV
- BBC News
- BENGÜTÜRK
- BEYAZ TV
- BİZİM EV TV
- BLOOMBERG HT
- Bloomberg
- BRT 1
- BRT 2
- CARTOONITO
- CARTOON NETWORK
- ÇİFTÇİ TV
- CNBC-E
- CNN International
- CNN TÜRK
- DA VINCI
- DISCOVERY CHANNEL
- DISNEY JUNIOR
- DİYANET TV
- DMAX
- DREAM TÜRK
- DUCK TV
- DEUTSCHE WELLE ENGLISH
- EKOTÜRK
- ENGLISH CLUB TV
- EPIC DRAMA
- EURONEWS
- EUROSPORT 1
- EUROSPORT 2
- FB TV
- FLASH TV
- FM TV
- FRANCE 24 ARABIC
- FRANCE 24 ENGLISH
- FX
- HABER GLOBAL
- HABERTÜRK
- HALK TV
- HT SPOR
- KADIRGA TV
- KANAL 7
- KANAL 23
- KANAL 26
- KANAL 33
- KANAL D
- KANAL V
- KIBRIS GENC TV
- KANAL T
- KIBRIS TV
- KONTV
- KRT TV
- LOVE NATURE
- MELTEM TV
- MİNİKA ÇOCUK
- MİNİKA GO
- MOONBUG KIDS TV
- NATIONAL GEOGRAPHIC
- NATIONAL GEOGRAPHIC WILD
- NBA TV
- Nick JR
- NICKTOONS
- NOW
- NTV
- NR1 DAMAR
- NUMBER1 TURK
- NUMBER1 TV
- ON6
- POWER TURK
- POWER TV
- SEMERKAND
- SHOW TV
- SİNEMA TV 2
- SİNEMA TV 1001
- SİNEMA 1002
- SİNEMA AİLE 2
- SİNEMA AİLE
- SİNEMA AKSİYON 2
- SİNEMA TV AKSİYON
- SİNEMA KOMEDİ
- SİNEMA TV
- SİNEMA YERLİ 2
- SİNEMA YERLİ
- SKY NEWS ARABIA
- SÖZCÜ TV
- SPORTS TV
- S SPORT 2
- S SPORT
- STAR TV
- TARIH TV
- TARIM TV
- TELE1
- TEVE2
- TGRT HABER
- TLC
- TMB TV
- TRT1
- TRT 2
- TRT 3
- TRT ARABI
- TRT AVAZ
- TRT BELGESEL
- TRT ÇOCUK
- TRT DIYANET COCUK
- TRT HABER
- TRT KURDİ
- TRT MÜZİK
- TRT SPOR
- TRT SPOR YILDIZ
- TRT TÜRK
- TRT World
- TURKHABER
- TV 4
- TV5
- TV5 MONDE
- TV8
- TV8,5
- TV100
- TVNET
- ÜLKE TV
- ULUSAL KANAL
- VAV TV
- VIASAT EXPLORE
- VIASAT HISTORY
+ EKOL TV
+ ŞÖMİNE PLUS
+ tabii spor
+ tabii TV
+ TV 2020
+ TV+ Info
+ 24
+ 360
+ A2
+ KIBRIS ADA TV
+ A HABER
+ AKİT TV
+ AL JAZEERA ARABIC
+ AL JAZEERA ENGLISH
+ A NEWS
+ A PARA
+ A SPOR
+ AS TV
+ ATV
+ BABYTV
+ BBC News
+ BENGÜTÜRK
+ BEYAZ TV
+ BİZİM EV TV
+ BLOOMBERG HT
+ Bloomberg
+ BluTV Play 1
+ BluTV Play 2
+ BRT 1
+ BRT 2
+ CARTOONITO
+ CARTOON NETWORK
+ ÇİFTÇİ TV
+ CNBC-E
+ CNN International
+ CNN TÜRK
+ DA VINCI
+ DISCOVERY CHANNEL
+ DISNEY JUNIOR
+ DİYANET TV
+ DMAX
+ DREAM TÜRK
+ DUCK TV
+ DEUTSCHE WELLE ENGLISH
+ EKOTÜRK
+ ENGLISH CLUB TV
+ EPIC DRAMA
+ EURONEWS
+ EUROSPORT 1
+ EUROSPORT 2
+ FB TV
+ FLASH HABER
+ FM TV
+ FRANCE 24 ARABIC
+ FRANCE 24 ENGLISH
+ FX
+ GZT TV
+ HABER GLOBAL
+ HABERTÜRK
+ HALK TV
+ HT SPOR
+ KADIRGA TV
+ KANAL 7
+ KANAL 23
+ KANAL 26
+ KANAL 33
+ KANAL D
+ KANAL V
+ KIBRIS GENC TV
+ KANAL T
+ KIBRIS TV
+ KONTV
+ KRT TV
+ LOVE NATURE
+ MELTEM TV
+ MİNİKA ÇOCUK
+ MİNİKA GO
+ MOONBUG KIDS TV
+ NATIONAL GEOGRAPHIC
+ NATIONAL GEOGRAPHIC WILD
+ NBA TV
+ NICKELODEON
+ Nick JR
+ NICKTOONS
+ NOW
+ NTV
+ NR1 DAMAR
+ NUMBER1 TURK
+ NUMBER1 TV
+ ON6
+ POWER TURK
+ POWER TV
+ SEMERKAND
+ SHOW TV
+ SİNEMA TV 2
+ SİNEMA TV 1001
+ SİNEMA 1002
+ SİNEMA AİLE 2
+ SİNEMA AİLE
+ SİNEMA AKSİYON 2
+ SİNEMA TV AKSİYON
+ SİNEMA KOMEDİ
+ SİNEMA TV
+ SİNEMA YERLİ 2
+ SİNEMA YERLİ
+ SKY NEWS ARABIA
+ SÖZCÜ TV
+ SPACETOON
+ SPORTS TV
+ S SPORT 2
+ S SPORT
+ STAR TV
+ TARIH TV
+ TARIM TV
+ TELE1
+ TEVE2
+ TGRT HABER
+ TİVİ6
+ TLC
+ TMB TV
+ TRT1
+ TRT 2
+ TRT 3
+ TRT ARABI
+ TRT AVAZ
+ TRT BELGESEL
+ TRT ÇOCUK
+ TRT DIYANET COCUK
+ TRT EBA
+ TRT HABER
+ TRT KURDİ
+ TRT MÜZİK
+ TRT SPOR
+ TRT SPOR YILDIZ
+ TRT TÜRK
+ TRT World
+ TURKHABER
+ TV 4
+ TV5
+ TV5 MONDE
+ TV8
+ TV8,5
+ TV100
+ TVNET
+ TYT TÜRK
+ ÜLKE TV
+ ULUSAL KANAL
+ VAV TV
+ VIASAT EXPLORE
+ VIASAT HISTORY
diff --git a/sites/tvplus.com.tr/tvplus.com.tr.config.js b/sites/tvplus.com.tr/tvplus.com.tr.config.js
index 60ed9aa2..a25681ae 100644
--- a/sites/tvplus.com.tr/tvplus.com.tr.config.js
+++ b/sites/tvplus.com.tr/tvplus.com.tr.config.js
@@ -8,7 +8,7 @@ const debug = require('debug')('site:tvplus.com.tr')
dayjs.extend(utc)
dayjs.extend(customParseFormat)
-const channelsUrl = 'https://tvplus.com.tr/canli-tv/yayin-akisi'
+const baseUrl = 'https://tvplus.com.tr/canli-tv/yayin-akisi'
module.exports = {
site: 'tvplus.com.tr',
@@ -56,35 +56,38 @@ module.exports = {
return programs
},
async channels() {
+ if (module.exports.buildId === undefined) {
+ module.exports.buildId = await module.exports.fetchBuildId()
+ debug('Got build id', module.exports.buildId)
+ }
const channels = []
const data = await axios
- .get(channelsUrl)
+ .get(`https://tvplus.com.tr/_next/data/${module.exports.buildId}/canli-tv/yayin-akisi.json`)
.then(r => r.data)
.catch(console.error)
- const $ = cheerio.load(data)
- $('.channel-list-item a')
- .toArray()
- .forEach(el => {
- const a = $(el)
- channels.push({
- lang: 'tr',
- name: a
- .attr('title')
- .replace(/Yayın Akışı/, '')
- .trim(),
- site_id: a
- .attr('href')
- .replace(/\/canli-tv\/yayin-akisi\//, '')
- .replace('--', '/') // change -- to / as it used in xml comment
- })
+ const channels_json = data.pageProps.channelListSsr
+
+ channels_json.forEach(channel => {
+ channels.push({
+ lang: 'tr',
+ name: channel.name,
+ site_id: channel.name.normalize('NFD') // Decompose accented characters
+ .replace(/[\u0300-\u036f]/g, '') // Remove accent marks
+ .toLowerCase()
+ .replace(/\s+/g, '-') // Replace spaces with hyphens
+ .replace(/[^a-zA-Z0-9-]/g, '') // Remove special chars but keep hyphens
+ .replace(/^-+|-+$/g, '') // Remove leading/trailing hyphens
+ + '/' + channel.id,
+ logo: channel.channelLogo
})
+ })
return channels
},
async fetchBuildId() {
const data = await axios
- .get(channelsUrl)
+ .get(baseUrl)
.then(r => r.data)
.catch(console.error)
diff --git a/sites/tvplus.com.tr/tvplus.com.tr.test.js b/sites/tvplus.com.tr/tvplus.com.tr.test.js
index d7586cda..ec2033d3 100644
--- a/sites/tvplus.com.tr/tvplus.com.tr.test.js
+++ b/sites/tvplus.com.tr/tvplus.com.tr.test.js
@@ -14,7 +14,7 @@ jest.mock('axios')
const date = dayjs.utc('2024-12-15', 'YYYY-MM-DD').startOf('d')
const channel = {
lang: 'tr',
- site_id: 'nick-jr/4353',
+ site_id: 'nick-jr--4353',
xmltv_id: 'NickJr.tr'
}
From 754e2467a91a2f51fea323f4508d632a3f474680 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Isma=C3=ABl=20Moret?=
<30985701+BellezaEmporium@users.noreply.github.com>
Date: Tue, 29 Jul 2025 16:35:01 +0200
Subject: [PATCH 2/3] Update tvplus.com.tr.test.js
---
sites/tvplus.com.tr/tvplus.com.tr.test.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sites/tvplus.com.tr/tvplus.com.tr.test.js b/sites/tvplus.com.tr/tvplus.com.tr.test.js
index ec2033d3..d7586cda 100644
--- a/sites/tvplus.com.tr/tvplus.com.tr.test.js
+++ b/sites/tvplus.com.tr/tvplus.com.tr.test.js
@@ -14,7 +14,7 @@ jest.mock('axios')
const date = dayjs.utc('2024-12-15', 'YYYY-MM-DD').startOf('d')
const channel = {
lang: 'tr',
- site_id: 'nick-jr--4353',
+ site_id: 'nick-jr/4353',
xmltv_id: 'NickJr.tr'
}
From e2fc9c8151ecda310c1e5a5b372d71fe58f1fe36 Mon Sep 17 00:00:00 2001
From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com>
Date: Wed, 30 Jul 2025 01:13:00 +0000
Subject: [PATCH 3/3] [Bot] Update SITES.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/epg/actions/runs/16611027937) workflow.
---
SITES.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/SITES.md b/SITES.md
index 4fb9e1d9..7f2ac1c7 100644
--- a/SITES.md
+++ b/SITES.md
@@ -211,7 +211,7 @@
| tvmusor.hu | 99 | 67 | 🟢 | |
| tvmustra.hu | 188 | 0 | 🟢 | |
| tvpassport.com | 19287 | 2509 | 🟢 | |
- | tvplus.com.tr | 143 | 134 | 🟢 | https://github.com/iptv-org/epg/issues/2816 |
+ | tvplus.com.tr | 150 | 144 | 🟢 | |
| tvprofil.com | 5836 | 455 | 🟢 | |
| tvtv.us | 2299 | 2255 | 🟢 | |
| v3.myafn.dodmedia.osd.mil | 8 | 8 | 🟢 | |