diff --git a/sites/tataplay.com/readme.md b/sites/tataplay.com/readme.md new file mode 100644 index 00000000..803e078f --- /dev/null +++ b/sites/tataplay.com/readme.md @@ -0,0 +1,21 @@ +# tataplay.com + +https://tataplay.com + +### Download the guide + +```sh +npm run grab --- --site=tataplay.com +``` + +### Update channel list + +```sh +npm run channels:parse --- --config=./sites/tataplay.com/tataplay.com.config.js --output=./sites/tataplay.com/tataplay.com.channels.xml +``` + +### Test + +```sh +npm test --- tataplay.com +``` diff --git a/sites/tataplay.com/tataplay.com.channels.xml b/sites/tataplay.com/tataplay.com.channels.xml new file mode 100644 index 00000000..f088b0bf --- /dev/null +++ b/sites/tataplay.com/tataplay.com.channels.xml @@ -0,0 +1,788 @@ + + + INDIA TODAY + Ruposhi Bangla + B4U Movies + B4U Music + Flowers + TV9 Telugu + Zee Anmol Cinema 2 + India News Haryana + India News Rajasthan + Mastiii + Zee Bihar Jharkhand + Kairali TV + IBC 24 + Alankar + Assam Talks + India News UP UK + Mazhavil Manorama + Public TV + News Nation + Mega TV + Aastha + &tv HD + Sanskar + Seithigal TV + Jonack TV + T News + Tarang Music + Dangal + The Q + Travelxp + DW + Zee TV HD + Zee Anmol Cinema + TV5 Monde Asie + Tata Play English in Hindi + REPUBLIC TV + ABP Asmita + Udaya TV + Star Sports 1 Tamil + Kochu TV + ETV Telangana + Star Bharat + Manorama News + ET NOW + TIMES NOW + PTC News + PTC Chak De + NDTV Profit Prime + Tata Play Javed Akhtar + Zoom + TV9 Marathi + Russia Today + D Tamil + Action Cinema + Rang + ABP Ananda + India TV + News18 India + Tata Play Smart Manager + Discovery Science + Food Food + Discovery Kids + Tata Play Fitness + PTC Punjabi + Zee Cinema + EPIC + ETV Cinema + Aakaash Aath + Animal Planet + France 24 + TLC + GOOD TiMES + National Geographic + 9XM + Star Sports Select 1 + ETV Telugu + ETV Andhra Pradesh + KTV + &pictures + TV9 Kannada + Aaj Tak + ABP Majha + Channel News Asia + NTV Telugu + Channel WIN + Gemini Movies + Star Gold 2 + STAR Gold + Sun TV + Tata Play Vedic Maths + History TV18 + Movies Now + Romedy Now + Zee Bollywood + ABP News + Amrita TV + NDTV India + Anjan TV + Bhojpuri Cinema + India News + Nat Geo Wild + BBC World News + NewsX + Al Jazeera + DD National + Fakt Marathi + Chardikla Time TV + Dangal 2 + Gemini TV + Jaya Plus + Jaya Max + Kalaignar TV + J Movies + News Time Bangla + NDTV 24x7 + News 24 + MN+ HD + Kairali News + Sansad TV 2 + Sansad TV 1 + Rengoni TV + Sangeet Bangla + Sangeet Marathi + SVBC + Discovery Channel + Puthiya Thalaimurai + Protidin Time + India News MP CG + DD Sports + E24 + ABN Andhra Jyothy + NEWS LIVE + Fashion TV + Discovery Turbo + Surya Movies + Surya TV + Udaya Movies + Jai Maharashtra + MNX + Tarang TV + Cartoon Network + Pogo + CNN International + Zee YUVA + Zee Talkies + Zee Telugu + Zee Marathi + Zee Cinemalu + Zee Bangla + Zee Bangla Cinema + WION + Zee Kannada + Zee Tamil + Zee 24 Ghanta + Zee News + Zee Business + Zee 24 Taas + Zee Delhi NCR Haryana + Disney International HD + 10 TV + &pictures HD + ETV Life + Goodness + Janam TV + Polimer TV + STAR Movies + V6 Telugu + Vijay Super + WoW Cinema One + Star Maa Movies + Good News Today + Angel TV + Aastha Bhajan + Adithya TV + Aradana TV + APN News + Animal Planet HD + Dharma Sandesh + Asianet + Bhakti TV + Bharat Samachar + Asianet Movies + Big Magic + Chutti TV + CNBC TV18 Prime HD + CTVN AKD Plus + DD Bangla + DD Bharati + DD Bihar + Tata Play Bollywood Premiere HD + TV5 News + DD Chandana + DD News + DD Girnar + DD India + DD Kashir + DD Kisan + DD Malayalam + DD Manipur + DD Madhya Pradesh + DD North East + DD Rajasthan + DD Odia + DD Tamil + DD Punjabi + DD Sahyadri + DD Saptagiri + DD Urdu + DD Uttar Pradesh + Discovery HD World + R Kannada + Hindi Khabar + Hungama + Harvest TV 24x7 + HM TV + Swara Sagar + ETV Plus + DY 365 + Gemini TV HD + ETV Abhiruchi + ETV HD + Gemini Comedy + Gemini Life + Gemini Movies HD + Gemini Music + Gulistan News + India News Punjab + News Live Bangla + Jaihind TV + Janta TV + Jeevan TV + Jinvani Channel + Kalinga TV + Kanak News + Kappa TV + Kaumudy TV + Khushboo Bangla + KTV HD + Kolkata TV + Zee Zest HD + Kushi TV + Khabarain Abhi Tak + Sharnam TV + Star Maa Movies HD + Star Maa Music + Madha TV + MalaiMurasu Seithigal + Makkal TV + Manoranjan Movies + Mathrubhumi News + Mazhavil Manorama HD + Mega 24 + MH One Shraddha + MH One + Mega Musiq + MH One News + Nambikkai TV + Murasu TV + News 1 India + News 11 Bharat + North East Live + OTV + Peace of Mind + Peppers TV + Prag News + Public Music + Raj Musix + Raj Digital Plus + Raj Musix Kannada + Raj News Malayalam + Raj Musix Telugu + Raj News Telugu + Oscar Movies Bhojpuri + Jothi TV + Safari TV + Raj TV + Udaya Music + Sun News + Travelxp Tamil + Shubhavaarta TV + Paras Gold One + Sadhna TV + News7 + Ramdhenu + SVBC Telugu + Sathiyam TV + Satsang TV + Shalom TV + Shubh TV + Star Gold Select + STAR Jalsha + STAR Pravah + Star Pravah HD + STAR Utsav Movies + Sun Life + Sudarshan News + Sri Sankara TV + Surya HD + TLC HD + Surya Comedy + Surya Music + Travelxp HD + TOTAL TV + Tata Play Bollywood Premiere + TV9 Gujarati + SVBC 2 + Udaya Comedy + Udaya TV HD + Star Gold Romance + Star Gold Thrills + VTV News + Vasanth TV + Vedic + Zee Marathi HD + Zee Cafe HD + Zee Cinema HD + Zee Zest + &Flix HD + Zee 24 Kalak + STAR PLUS HD +1 + Polimer News + Raj News Kannada + Sun Music + Zee Madhya Pradesh Chattisgarh + Colors HD +1 + Zee Bharat + Zee Talkies HD + Zing + Salaam TV + Sun Music HD + Sun TV HD + Zee Bangla HD + Zee Anmol + Thanthi TV + Raj News Tamil. + STAR Vijay + &Prive HD + Asianet News + Jalsha Movies HD + STAR Maa + Star Suvarna Plus + Raj Musix Malayalam + Saam TV + Times Now World + DD Yadagiri + STAR Plus + Gujarat Samachar TV + We TV + Asianet Suvarna News + Zee TV + STAR Movies HD + Chintu TV + Movies Now HD + Kannada Naaptol + Nepal 1 + Prarthana Life + SVBC Kannada + Tata Play Punjab De Rang + Jalsha Movies + Zee Cinema HD +1 + Media One + Swaraj Express SMBC + &TV + Star Suvarna + Zee Punjab Haryana Himachal Pradesh + STAR GOLD HD +1 + Zee Rajasthan News + Zee TV HD +1 + Vissa TV + Sandesh News + Telugu Naaptol + Mirror Now + &flix + STAR Movies Select HD + Ishwar TV + Star Gold Select HD + Sakshi TV + Zee Sarthak + MNX HD + STAR Sports 1 + Star Sports 1 Hindi + Zee Cafe + Star Sports Select 2 + National Geographic HD + Zee Tamil HD + STAR Sports 2 + SONY SPORTS TEN 5 + Sirippoli + News State UP Uttarakhand + Tata Play Bangla Cinema + Tata Play Beauty + Tata Play Marathi Cinema + Pitaara Movies + Tata Play Fun Learn Preschool + Tata Play Fun Learn Junior + TV5 Kannada + Hindu Dharmam + Investigation Discovery + Zee Telugu HD + Zee Cinemalu HD + Zee Uttar Pradesh Uttarakhand + Tata Play Cooking + News State MP CG + Tata Play English in Telugu + DD Gyan Darshan + Isaiaruvi + Calcutta News + First India Rajasthan + Bansal News + India News Gujarat + Tata Play Telugu Cinema + Vendhar TV + Ayush TV + Public Movies + Tata Play Tamil Cinema + Tata Play Theatre HD + Zee Kannada HD + Tata Play ShortsTV + Cartoon Network HD+ + Star Sports 2 Kannada + Zee Keralam + India Voice + Star Sports 1 Telugu + Aaj Tak HD + Star Sports 1 Kannada + DD News HD + Eurosport + Zee Keralam HD + R Bharat + Sun Bangla + INH 24X7 + Jantantra TV + News J + TV9 Bharatvarsh + Jaya TV HD + Tamil Naaptol + Zee Classic + Subharti TV + B4U Bhojpuri + B4U Kadak + Manoranjan TV + Showbox + Tata Play Ibaadat + Tata Play Music + Tata Play Classic Cinema + Tata Play Aradhana + Tata Play Comedy + DD Arunprabha + Tata Play Gujarati Cinema + PTC Simran + 4tv News + DIVYA + Prudent + Namma TV + Tata Play Seniors + Tata Play Kannada Cinema + ANB NEWS + Enterr10 Bangla + Tata Play Hollywood Local + Fateh TV + Living India News + PTC Punjabi Gold + Zee Punjabi + Zee Thirai + Twenty Four + Shemaroo MarathiBana + Studio One + + Nandighosha TV + In Goa 24x7 + Zee Picchar + Tata Play Adbhut Kahaniyan + Eurosport HD + Zee Biskope + CBeeBies + Shemaroo TV + RDX Goa + Goldmines + Power TV + Lokshahi Marathi + Sadhna Plus News + Sadhna News MP CG + Filamchi Bhojpuri + News India 24x7 + DD Port Blair + Kashish News + Shirdi Sai Baba + Mahakaleshwar Temple, Ujjain + Somnath Temple + Network 10 + Kashi Vishwanath Temple, Varanasi + Bangla Bhakti + Tara News + Gubbare + Tata Play Malayalam Cinema + Jan TV + Tata Play Astro Duniya + TV9 Bangla + Swar Shree + Garv Gurbani + Ishara + Republic Bangla + Samara News + Tata Play Valam TV + NKTV PLUS + Hornbill TV + Pasand + News 24 Madhyapradesh Chattisgarh + ETV Bal Bharat + Vijay Takkar + Argus News + Nimbark TV + C News Bharat + Santwani + Haryana Beats + News 1st Kannada + SONY SPORTS TEN 4 + PTC Music + Tata Play NEET Prep + Tata Play JEE Prep + Buletin India + Green Chillies TV + Times Now Navbharat HD + Awakening + Anaadi TV + SIRIKANNADA Alltime + Tata Play K-Dramas + Live Patna Sahib Patna + ET Now Swadesh + Sun Marathi + Tata Play Romance + Atmadarshan + ANN News + Tata Play Classic TV + Manoranjan Grand + Times Now Navbharat + News Tamil 24x7 + Aadinath TV + MH One Dil Se + SVBC 3 + Khabar Fast + 1st Gujarat + NHK World Japan + Sidharth TV + STAR Pravah Picture + Tata Play Zindagi + Star Kiran + STV Haryana News + DD Meghalaya + Tata Play Toons+ + Tata Play Toons+ + Tata Play Toons+ + Tata Play Toons+ + Tata Play Toons+ + Tata Play Toons+ + Saileela TV + Tata Play South Talkies + Shri Ganga Aarti, Varanasi + Shri Ashtavinayak Mahaganpati, Ranjangaon + Shri ISKCON Girgaon, Mumbai + TV27 News + Bharat 24 + Real News Kerala + Daiji World TV + Colors Cineplex Superhits + Sidharth UTSAV + Swatantra TV + Foodxp + Sansad TV 2 HD + Nakshatra Digital + Shemaroo UMANG + SPONDON + Goldmines Bollywood + Bharat Express + Asian News + Tata Play Har Ghar Startup + Aaj Ki Khabar + Indian News + Live Punjabi + Disney Channel HD + Star Sports 1 Tamil HD + Star Sports 1 Telugu HD + Star Movies Select + MEDIA 9 + Star Gold 2 HD + Tata Play Telugu Classics + TV 24 + Sach Bedhadak + NB News + Daily Post Punjab Haryana Himachal + TTN 24 + U Bangla TV + Tata Play Asomiya Monoronjan + India Daily 24x7 + Test Service 4101 + Aastha Gujarati + Prime9 Plus + BIG TV Telugu + Pudhari News + Pratham Khabar 24x7 + Reporter TV + Tata Play Bollywood Masala + Rongeen TV + Vanitha + Bloomberg Television + MAHAA NEWS + NDTV Rajasthan + NDTV MPCG + Unique TV + Raapchik + CHITHIRAM + Jay Jagannath. + Sidharth GOLD + Shree Ichchhapuran Balaji Mandir + Asianet Movies HD + Star Pravah Pictures HD + Vijay Super HD + Zee Picchar HD + Zee Thirai HD + &Xplor HD + NAZARA + DD Jharkhand + DD Sports HD + Sony Sports Ten 4 HD + BRK News + Ekamra Bharat Odia + Ekamra Nilachakra + Ekamra Cynema + Ekamra Music + Ekamra Jatra + Ekamra Paramatma + Ekamra One paschima + India 24x7 + Kalinga Bharat + Omm + Ekamra Baiscope + Ekamra Manoranjan + News 8 odia + Samrat News + DD Tripura + DD Mizoram + DD Haryana + DD Uttarakhand + DD Nagaland + DD Goa + DD Chhattisgarh + DD Himachal + DD National HD + DD India HD + Sun Marathi HD + Sun Bangla HD + In24 News + National Today 24x7 + Vande Bharat News + 35 MM + Haryana Buzz + Jeewan Bhakti + National News Live + Update India + Oye Music + Sangam TV + Tata Play Tamil Classics + HNN News + NE NEWS + Chumbak TV + Swadesh News + Investigation Discovery HD + Nav Tej TV + Prime TV + Samachar 24 News + Sana Plus TV + Sana TV + News Capital + Zee Kannada News + Zee Telugu News + TVRI World + Tata Play 4K + Decode - Data + SS1 HD Hindi Geo + SS 1 HD Geo + SS 1 Hindi Geo + SS 1 Geo + SHEKINAH + Vistaar News + Tamil Janam + Calvary TV + ALL Time MOVIES + Thanthi One + Raj Nagaichuvai + Raj Pariwar + AB STAR News + ABC News + KBC News + Shiksha TV + Shresthbharat TV + Sristi TV + TV 45 News + TNP News + ETV Bal Bharat HD + ETV Cinema HD + ETV Plus HD + NDTV MARATHI + Naxatra News + Tata Play Kartavya TV + Tata Play Lakshya TV + Tata Play Kalyan TV + Pear TV + DA News Plus + Tata Play Anime Local + Powervision + News Malayalam 24x7 + Sansad TV 1 HD + Sun Neo + Sun Neo HD + BVG + Bhaktisagar + BS TV + Nireekshana TV + Bharat Times News + News 21 + ANANDHAM TV + DHARSAN TV + NIJAM TV + SURIYAN TV + SUBIN TV + NTV + R TV + UTV + Mahaa Max + Tata Play Superhits Serials + Bhakthi Siri + Sadvidya + In24 Live News + Live Times + Sadhna Prime News + India TV Speed News HD + News State Punjab Haryana Himachal + TV 100 + Tata Play Marathi Classics + Tar TV + Sanmarg TV + Garvi Gujarat Gujarati + 24Hrs TV + OSD Binge 1 + OSD Binge 2 + OSD Binge 3 + OSD Binge 4 + OSD Binge 5 + News 9 + Tata Play Deiveegam + BHI Channel + News Ground 24x7 + 22 Scope + Express News Bharat + ABC Australia + NAVSARJAN SANSKRUTI GUJARATI + News Nation 81 + Assam Talks + Village TV + Anand TV + NewsX World + Guarantee News + Star Sports Khel + Star Sports 2 Tamil HD + Star Sports 2 Telugu HD + Zee News HD + Goldmines Movies + SONY MAX 1 + OSD-2 + OSD-1 + Alias-2 of 2725 + Alias-1 of 2725 + OSD - 3 + Alias-3 of 2715 + Alias-2 of 2715 + Alias-1 of 2715 + OSD - 2 + Alias-3 of 2714 + Alias-2 of 2714 + Alias-1 of 2714 + OSD - 1 + Zee Cinema Geo + Test Service 4506 + Alias Service 1543 + Delta 140823_21.0 + Zee Cinema Geo + diff --git a/sites/tataplay.com/tataplay.com.config.js b/sites/tataplay.com/tataplay.com.config.js new file mode 100644 index 00000000..8f4dce94 --- /dev/null +++ b/sites/tataplay.com/tataplay.com.config.js @@ -0,0 +1,75 @@ +const axios = require('axios') + +module.exports = { + site: 'tataplay.com', + days: 1, + + url({ channel, date }) { + return `https://tm.tapi.videoready.tv/content-detail/pub/api/v2/channels/schedule?date=${date.format('DD-MM-YYYY')}` + }, + + request: { + method: 'POST', + headers: { + 'Accept': '*/*', + 'Origin': 'https://watch.tataplay.com', + 'Referer': 'https://watch.tataplay.com/', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', + 'content-type': 'application/json', + 'locale': 'ENG', + 'platform': 'web' + }, + data({ channel }) { + return { id: channel.site_id } + } + }, + + parser({ content }) { + const data = JSON.parse(content) + const programs = data?.data?.epg || [] + + return programs.map(program => ({ + title: program.title, + start: program.startTime, + stop: program.endTime, + description: program.desc, + category: program.category, + icon: program.boxCoverImage + })) + }, + + async channels() { + const headers = { + 'Accept': '*/*', + 'Origin': 'https://watch.tataplay.com', + 'Referer': 'https://watch.tataplay.com/', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', + 'content-type': 'application/json', + 'locale': 'ENG', + 'platform': 'web' + } + + const initialResponse = await axios.get( + 'https://tm.tapi.videoready.tv/portal-search/pub/api/v1/channels/schedule?date=&languageFilters=&genreFilters=&limit=20&offset=0', + { headers } + ) + const totalChannels = initialResponse.data?.data?.total || 0 + const channels = [] + + for (let offset = 0; offset < totalChannels; offset += 20) { + const response = await axios.get( + `https://tm.tapi.videoready.tv/portal-search/pub/api/v1/channels/schedule?date=&languageFilters=&genreFilters=&limit=20&offset=${offset}`, + { headers } + ) + const pageChannels = response.data?.data?.channelList || [] + channels.push(...pageChannels) + } + + return channels.map(channel => ({ + site_id: channel.id, + name: channel.title, + lang: 'en', + icon: channel.transparentImageUrl || channel.thumbnailImage + })) + } +} diff --git a/sites/tataplay.com/tataplay.com.test.js b/sites/tataplay.com/tataplay.com.test.js new file mode 100644 index 00000000..5262f6cd --- /dev/null +++ b/sites/tataplay.com/tataplay.com.test.js @@ -0,0 +1,106 @@ +const { parser, url, channels } = require('./tataplay.com.config.js') +const dayjs = require('dayjs') +const utc = require('dayjs/plugin/utc') +const customParseFormat = require('dayjs/plugin/customParseFormat') +dayjs.extend(customParseFormat) +dayjs.extend(utc) + +const date = dayjs.utc('2025-06-09', 'YYYY-MM-DD').startOf('d') +const channel = { site_id: '1001' } + +it('can generate valid url', () => { + expect(url({ channel, date })).toBe('https://tm.tapi.videoready.tv/content-detail/pub/api/v2/channels/schedule?date=09-06-2025') +}) + +it('can parse response', () => { + const content = JSON.stringify({ + data: { + epg: [ + { + title: 'Yeh Rishta Kya Kehlata Hai', + startTime: '2025-06-09T18:00:00.000Z', + endTime: '2025-06-09T18:30:00.000Z', + desc: 'The story of the Rajshri family and their journey through life.', + category: 'Drama', + boxCoverImage: 'https://img.tataplay.com/thumbnails/1001/yeh-rishta.jpg' + }, + { + title: 'Anupamaa', + startTime: '2025-06-09T18:30:00.000Z', + endTime: '2025-06-09T19:00:00.000Z', + desc: 'The story of Anupamaa, a housewife who rediscovers herself.', + category: 'Drama', + boxCoverImage: 'https://img.tataplay.com/thumbnails/1001/anupamaa.jpg' + } + ] + } + }) + + const results = parser({ content, date }) + + expect(results.length).toBe(2) + expect(results[0]).toMatchObject({ + title: 'Yeh Rishta Kya Kehlata Hai', + start: '2025-06-09T18:00:00.000Z', + stop: '2025-06-09T18:30:00.000Z', + description: 'The story of the Rajshri family and their journey through life.', + category: 'Drama', + icon: 'https://img.tataplay.com/thumbnails/1001/yeh-rishta.jpg' + }) + expect(results[1]).toMatchObject({ + title: 'Anupamaa', + start: '2025-06-09T18:30:00.000Z', + stop: '2025-06-09T19:00:00.000Z', + description: 'The story of Anupamaa, a housewife who rediscovers herself.', + category: 'Drama', + icon: 'https://img.tataplay.com/thumbnails/1001/anupamaa.jpg' + }) +}) + +it('can handle empty guide', () => { + const content = JSON.stringify({ data: { epg: [] } }) + const results = parser({ content, date }) + expect(results).toMatchObject([]) +}) + +it('can parse channel list', async () => { + const mockResponse = { + data: { + data: { + total: 2, + channelList: [ + { + id: '1001', + title: 'Star Plus', + transparentImageUrl: 'https://img.tataplay.com/channels/1001/logo.png' + }, + { + id: '1002', + title: 'Sony TV', + transparentImageUrl: 'https://img.tataplay.com/channels/1002/logo.png' + } + ] + } + } + } + + // Mock axios.get to return our test data + const axios = require('axios') + axios.get = jest.fn().mockResolvedValue(mockResponse) + + const results = await channels() + + expect(results.length).toBe(2) + expect(results[0]).toMatchObject({ + site_id: '1001', + name: 'Star Plus', + lang: 'en', + icon: 'https://img.tataplay.com/channels/1001/logo.png' + }) + expect(results[1]).toMatchObject({ + site_id: '1002', + name: 'Sony TV', + lang: 'en', + icon: 'https://img.tataplay.com/channels/1002/logo.png' + }) +}) \ No newline at end of file