diff --git a/sites/singtel.com/singtel.com.channels.xml b/sites/singtel.com/singtel.com.channels.xml index 60f4da732..8611e7238 100644 --- a/sites/singtel.com/singtel.com.channels.xml +++ b/sites/singtel.com/singtel.com.channels.xml @@ -1,49 +1,31 @@ - Hub Premier 5 - Hub Premier 6 - KBS World (HD) - Russia Today (4K) mio Stadium OD mio Sports (HD) mio Sports 2 (HD) mio Sports 3 (HD) - (HD) Outdoor Channel Cricbuzz (HD) Cricbuzz 2 (HD) Cricket Plus MOLA Sport (HD) - FOX News Channel - Bloomberg Originals - HISTORY™ (HD) - HGTV (HD) - TLC (HD) - AFN (HD) - WAKUWAKU JAPAN (HD) (Mandarin / Malay) - HITS NOW (HD) - ROCK Action (HD) - MTV LIVE HD e-Le (HD) Jia Le Channel (HD) - China Movie Channel - ETTV Asia News (HD) Drama Channel - Zee Thirai - Sony YAY! maa movies Zoom TV - WION - Fight Sports (HD) - CBeebies (HD) CM+ - Cinema One Global - ABS-CBN News Channel ABC Australia Adithya TV + ABS-CBN News Channel Animal Planet (HD) Animax (HD) ANIPLUS HD + Arirang TV (HD) Asianet + Asianet Movies + AFN (HD) + Astro Prima HD + Astro Ria HD SAB TV AXN (HD) BBC Earth (HD) @@ -52,12 +34,22 @@ beIN SPORTS 2 (HD) beIN SPORTS 3 (HD) beIN SPORTS 1 (HD) + Bloomberg Originals Bloomberg Television (HD) - Cartoonito (HD) + BRTV International Cartoon Network (HD) + CBeebies (HD) + CCM + CCTV-4 (HD) + CCTV Entertainment + Celestial Movies (HD) CGTN CGTN-Documentary Ch 5 (HD) + Ch 8 (HD) + Ch U (HD) + China Movie Channel + Cinema One Global CINEMAX (HD) Citra Drama (HD) CNA (HD) @@ -66,39 +58,60 @@ Colors Colors Tamil HD Crime + Investigation™ (HD) - Discovery Asia (HD) + CTI Asia (HD) Discovery Channel (HD) + Dragon TV Intl Deutsche Welle (English) - EUROSPORT (HD) - Food Network (HD) + ETTV Asia (HD) + ETTV Asia News (HD) + Fight Sports (HD) + FOX News Channel France 24 (English) + France 24 (French) + Global Trekker (HD) GMA Life TV GMA News TV GMA Pinoy TV - HBO HD + HBO HD HBO Family (HD) HBO Hits (HD) HBO Signature (HD) + HGTV (HD) + HISTORY™ (HD) HITS (HD) HITS Movies HD + HITS NOW (HD) Hub Premier 1 Hub Premier 2 Hub Premier 3 Hub Premier 4 + Hub Premier 5 + Hub Premier 6 + Hunan International + TVB Jade (HD) + KBS World (HD) KTV HD Lifetime (HD) + Love Nature (HD) MTV India NHK World – Japan (HD) NHK World Premium Nickelodeon Asia HD Nick Jr. + now Jelli (HD) + ONE HD (Mandarin) ONE HD (Malay) + (HD) Outdoor Channel Pesona HD + Phoenix InfoNews Premier Sports + ROCK Action (HD) ROCK Entertainment (HD) + Russia Today Sky News HD SET (HINDI) SONY MAX + Sony YAY! SPOTV 2 (HD) SPOTV (HD) Star Bharat @@ -110,33 +123,18 @@ Suria (HD) The Filipino Channel Times Now + TLC (HD) TRACE Sports Stars HD + TVBS Asia + TVBS News + TVB Xing He (HD) + tvN HD (Mandarin) tvN HD (Malay) Vasantham (HD) Vijay TV + WAKUWAKU JAPAN (HD) (Mandarin) + WION Zee Tamil + Zee Thirai ZEE TV - France 24 (French) - Asianet Movies - Astro Prima HD - Astro Ria HD - ETTV Asia (HD) - BRTV International - CCM - CCTV-4 (HD) - CCTV Entertainment - Celestial Movies (HD) - Ch 8 (HD) - Ch U (HD) - CTI Asia (HD) - Dragon TV Intl - Hunan International - TVB Jade (HD) - now Jelli (HD) - ONE HD (Mandarin) - Phoenix InfoNews - TVBS Asia - TVBS News - TVB Xing He (HD) - tvN HD (Mandarin) diff --git a/sites/singtel.com/singtel.com.config.js b/sites/singtel.com/singtel.com.config.js index 07d3a33e0..c39e7b651 100644 --- a/sites/singtel.com/singtel.com.config.js +++ b/sites/singtel.com/singtel.com.config.js @@ -19,7 +19,7 @@ module.exports = { )}.json` }, parser({ content, channel }) { - let programs = [] + const programs = [] const items = parseItems(content, channel) items.forEach(item => { const start = dayjs.tz(item.startDateTime, 'Asia/Singapore') @@ -36,6 +36,7 @@ module.exports = { return programs }, async channels() { + const channels = {} const axios = require('axios') const cheerio = require('cheerio') @@ -45,16 +46,19 @@ module.exports = { .catch(console.log) const $ = cheerio.load(data) - let datamodel = $('ux-tv-channel-epg').attr('datamodel') - datamodel = JSON.parse(datamodel) + const datamodel = JSON.parse($('ux-tv-channel-epg').attr('datamodel')) - return datamodel.tvChannelLists.map(item => { - return { - lang: 'en', - site_id: item.epgChannelId, - name: item.title.trim() + datamodel?.tvChannelLists.forEach(item => { + if (channels[item.epgChannelId] === undefined) { + channels[item.epgChannelId] = { + lang: 'en', + site_id: item.epgChannelId, + name: item.title.trim() + } } }) + + return Object.values(channels) } }