format and cleanup

This commit is contained in:
theofficialomega
2026-01-09 12:26:35 +01:00
parent 1532b3fe46
commit f3803a0721
3 changed files with 199 additions and 204 deletions

View File

@@ -16,15 +16,11 @@ module.exports = {
headers: HEADERS
},
// full url 1 = https://livetv.airtel.tv/v1/epg/page?appId=WEB&start=now&end=nowPLUS1d&os=WEBOS&bn=87&dt=BROWSER&nonLinear=true
// full url 1 = https://livetv.airtel.tv/v1/epg/page?appId=WEB&start=now&end=nowPLUS1d&os=WEBOS&bn=87&dt=BROWSER&nonLinear=true
// full url 2 = https://epg.airtel.tv/app/v3/content/epg?dt=BROWSER&os=WEBOS&ln=en&lg=en,hi&isDth=false&xpprbe=false&dth=false&chromecast=false&bn=87&mwTvPack=200292&startTime=1765218600000&endTime=1765305000000&appId=WEB
// full url 3 = https://epg.airtel.tv/app/v2/content/channel/epg?dt=BROWSER&os=WEBOS&ln=en&lg=en,hi&isDth=false&xpprbe=false&dth=false&chromecast=false&bn=87&mwTvPack=200292&channelId=MWTV_LIVETVCHANNEL_547&startTime=1766860200001&endTime=1766946599999&appId=WEB
url({ channel, date }) {
const startTime = date.valueOf()
const endTime = date.add(1, 'day').valueOf()
const baseUrl = 'https://epg.airtel.tv/app/v2/content/channel/epg'
return `${baseUrl}?channelId=${channel.site_id}&startTime=${startTime}&endTime=${endTime}`
return `https://epg.airtel.tv/app/v2/content/channel/epg?channelId=${channel.site_id}&startTime=${date.valueOf()}&endTime=${date.add(1, 'day').valueOf()}`
},
parser({ content }) {
@@ -33,7 +29,7 @@ module.exports = {
try {
const parsed = JSON.parse(content)
const dynamicSiteId = Object.keys(parsed.programGuide)[0]
programs = parsed.programGuide[dynamicSiteId] || []
programs = parsed.programGuide[dynamicSiteId] || []
} catch (e) {
console.error('Error parsing JSON content', e)
return []
@@ -57,29 +53,29 @@ module.exports = {
const url = 'https://livetv.airtel.tv/v1/livechannel'
try {
const response = await axios.get(url, { headers: HEADERS })
const jsonPayload = response.data
const response = await axios.get(url, { headers: HEADERS })
const jsonPayload = response.data
if (!jsonPayload || !jsonPayload.data) {
console.log('No channel data found in API response')
return []
}
if (!jsonPayload || !jsonPayload.data) {
console.log('No channel data found in API response')
return []
}
const channelsMap = new Map()
jsonPayload.data.forEach(channel => {
const channelsMap = new Map()
jsonPayload.data.forEach(channel => {
const siteId = channel.epgChannelId || channel.id
if (!channelsMap.has(siteId)) {
channelsMap.set(siteId, {
lang: 'en',
site_id: siteId,
name: channel.title,
// logo: channel.images.LOGO_HD || channel.images.LOGO || channel.images.LANDSCAPE_169 || null
if (!channelsMap.has(siteId)) {
channelsMap.set(siteId, {
lang: 'en',
site_id: siteId,
name: channel.title,
// logo: channel.images.LOGO_HD || channel.images.LOGO || channel.images.LANDSCAPE_169 || null
})
}
})
return Array.from(channelsMap.values())
}
})
return Array.from(channelsMap.values())
} catch (error) {
console.error('Failed to fetch channels list:', error.message)