mirror of
https://github.com/iptv-org/epg
synced 2026-04-15 07:09:19 -04:00
1
sites/go3.ee/__data__/content.json
Normal file
1
sites/go3.ee/__data__/content.json
Normal file
File diff suppressed because one or more lines are too long
150
sites/go3.ee/go3.ee.channels.xml
Normal file
150
sites/go3.ee/go3.ee.channels.xml
Normal file
@@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="go3.ee" site_id="939669" lang="et" xmltv_id="">BBC News</channel>
|
||||
<channel site="go3.ee" site_id="1179183" lang="et" xmltv_id="">My Hits</channel>
|
||||
<channel site="go3.ee" site_id="1179184" lang="et" xmltv_id="">Euronews</channel>
|
||||
<channel site="go3.ee" site_id="1413889" lang="et" xmltv_id="">Nicktoons</channel>
|
||||
<channel site="go3.ee" site_id="1675263" lang="et" xmltv_id="">Playboy</channel>
|
||||
<channel site="go3.ee" site_id="1675264" lang="et" xmltv_id="">Brazzers</channel>
|
||||
<channel site="go3.ee" site_id="2004800" lang="et" xmltv_id="">LiveU 1</channel>
|
||||
<channel site="go3.ee" site_id="2218527" lang="et" xmltv_id="">Hustler TV</channel>
|
||||
<channel site="go3.ee" site_id="2259580" lang="et" xmltv_id="">FX Life</channel>
|
||||
<channel site="go3.ee" site_id="2275257" lang="et" xmltv_id="">Go3 Sport Open</channel>
|
||||
<channel site="go3.ee" site_id="2321374" lang="et" xmltv_id="">Nickelodeon</channel>
|
||||
<channel site="go3.ee" site_id="3063932" lang="et" xmltv_id="">Eurosport</channel>
|
||||
<channel site="go3.ee" site_id="3451819" lang="et" xmltv_id="">Nick Junior</channel>
|
||||
<channel site="go3.ee" site_id="3937272" lang="et" xmltv_id="">Єдині новини</channel>
|
||||
<channel site="go3.ee" site_id="3958216" lang="et" xmltv_id="">History Channel HD</channel>
|
||||
<channel site="go3.ee" site_id="3986348" lang="et" xmltv_id="">HGTV</channel>
|
||||
<channel site="go3.ee" site_id="4096852" lang="et" xmltv_id="">Setanta EE</channel>
|
||||
<channel site="go3.ee" site_id="4117084" lang="et" xmltv_id="">Betsafe-LKL</channel>
|
||||
<channel site="go3.ee" site_id="4117093" lang="et" xmltv_id="">Betsafe-LKL 2</channel>
|
||||
<channel site="go3.ee" site_id="4117104" lang="et" xmltv_id="">Betsafe-LKL 3</channel>
|
||||
<channel site="go3.ee" site_id="4150367" lang="et" xmltv_id="">Go3 Sport 3</channel>
|
||||
<channel site="go3.ee" site_id="4150566" lang="et" xmltv_id="">Viasat Kino World</channel>
|
||||
<channel site="go3.ee" site_id="4150939" lang="et" xmltv_id="">Animal Planet</channel>
|
||||
<channel site="go3.ee" site_id="4151968" lang="et" xmltv_id="">Food Network</channel>
|
||||
<channel site="go3.ee" site_id="4152147" lang="et" xmltv_id="">Eurosport 2</channel>
|
||||
<channel site="go3.ee" site_id="4153026" lang="et" xmltv_id="">Travel Channel</channel>
|
||||
<channel site="go3.ee" site_id="4227748" lang="et" xmltv_id="">Investigation Discovery</channel>
|
||||
<channel site="go3.ee" site_id="4228245" lang="et" xmltv_id="">Eurosport 1</channel>
|
||||
<channel site="go3.ee" site_id="4229022" lang="et" xmltv_id="">Prime Fight</channel>
|
||||
<channel site="go3.ee" site_id="4229199" lang="et" xmltv_id="">Discovery</channel>
|
||||
<channel site="go3.ee" site_id="4229697" lang="et" xmltv_id="">TLC</channel>
|
||||
<channel site="go3.ee" site_id="4230724" lang="et" xmltv_id="">National Geographic</channel>
|
||||
<channel site="go3.ee" site_id="4231570" lang="et" xmltv_id="">Go3 Sport 2</channel>
|
||||
<channel site="go3.ee" site_id="4232202" lang="et" xmltv_id="">Duo 5</channel>
|
||||
<channel site="go3.ee" site_id="4296024" lang="et" xmltv_id="">Go3 Sport 1</channel>
|
||||
<channel site="go3.ee" site_id="4298762" lang="et" xmltv_id="">Viasat History</channel>
|
||||
<channel site="go3.ee" site_id="4298785" lang="et" xmltv_id="">TV6 EE</channel>
|
||||
<channel site="go3.ee" site_id="4298787" lang="et" xmltv_id="">Viasat Explore</channel>
|
||||
<channel site="go3.ee" site_id="4298790" lang="et" xmltv_id="">Duo 4</channel>
|
||||
<channel site="go3.ee" site_id="4330579" lang="et" xmltv_id="">Epic Drama</channel>
|
||||
<channel site="go3.ee" site_id="4331784" lang="et" xmltv_id="">ETV 2</channel>
|
||||
<channel site="go3.ee" site_id="4332259" lang="et" xmltv_id="">Viasat Kino Action</channel>
|
||||
<channel site="go3.ee" site_id="4332278" lang="et" xmltv_id="">Viasat Kino</channel>
|
||||
<channel site="go3.ee" site_id="4332288" lang="et" xmltv_id="">Kanal 2</channel>
|
||||
<channel site="go3.ee" site_id="4430626" lang="et" xmltv_id="">TV3 EE</channel>
|
||||
<channel site="go3.ee" site_id="4430631" lang="et" xmltv_id="">ETV</channel>
|
||||
<channel site="go3.ee" site_id="4430633" lang="et" xmltv_id="">Go3 Films</channel>
|
||||
<channel site="go3.ee" site_id="4487515" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500859" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500866" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500868" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500869" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500870" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500871" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500874" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500877" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500913" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500915" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500917" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500919" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4500921" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4531670" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4546689" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="4884587" lang="et" xmltv_id="">Duo 6</channel>
|
||||
<channel site="go3.ee" site_id="4884593" lang="et" xmltv_id="">Kidzone Mini</channel>
|
||||
<channel site="go3.ee" site_id="5383369" lang="et" xmltv_id="">RADA TV</channel>
|
||||
<channel site="go3.ee" site_id="5455814" lang="et" xmltv_id="">Betsafe-LKL 4</channel>
|
||||
<channel site="go3.ee" site_id="6289731" lang="et" xmltv_id="">TV3 Life</channel>
|
||||
<channel site="go3.ee" site_id="6290634" lang="et" xmltv_id="">FX</channel>
|
||||
<channel site="go3.ee" site_id="6291017" lang="et" xmltv_id="">OTV</channel>
|
||||
<channel site="go3.ee" site_id="6295671" lang="et" xmltv_id="">Viasat Nature</channel>
|
||||
<channel site="go3.ee" site_id="6296595" lang="et" xmltv_id="">ETV+</channel>
|
||||
<channel site="go3.ee" site_id="6340817" lang="et" xmltv_id="">Yle TV1</channel>
|
||||
<channel site="go3.ee" site_id="6341834" lang="et" xmltv_id="">1+2</channel>
|
||||
<channel site="go3.ee" site_id="6341835" lang="et" xmltv_id="">TV Extra</channel>
|
||||
<channel site="go3.ee" site_id="6342375" lang="et" xmltv_id="">Super+</channel>
|
||||
<channel site="go3.ee" site_id="6342971" lang="et" xmltv_id="">Super Baltic</channel>
|
||||
<channel site="go3.ee" site_id="6343252" lang="et" xmltv_id="">ALO TV</channel>
|
||||
<channel site="go3.ee" site_id="6343756" lang="et" xmltv_id="">Star Family</channel>
|
||||
<channel site="go3.ee" site_id="6344210" lang="et" xmltv_id="">AMC</channel>
|
||||
<channel site="go3.ee" site_id="6344685" lang="et" xmltv_id="">National Geographic Wild</channel>
|
||||
<channel site="go3.ee" site_id="6346318" lang="et" xmltv_id="">Bolt</channel>
|
||||
<channel site="go3.ee" site_id="6346720" lang="et" xmltv_id="">DocuBox</channel>
|
||||
<channel site="go3.ee" site_id="6347081" lang="et" xmltv_id="">Kino 7</channel>
|
||||
<channel site="go3.ee" site_id="6347747" lang="et" xmltv_id="">FilmBox</channel>
|
||||
<channel site="go3.ee" site_id="6349627" lang="et" xmltv_id="">Filmzone EE</channel>
|
||||
<channel site="go3.ee" site_id="6350369" lang="et" xmltv_id="">Filmzone+</channel>
|
||||
<channel site="go3.ee" site_id="6350620" lang="et" xmltv_id="">Film UA Drama</channel>
|
||||
<channel site="go3.ee" site_id="6352001" lang="et" xmltv_id="">Freedom</channel>
|
||||
<channel site="go3.ee" site_id="6352337" lang="et" xmltv_id="">History2</channel>
|
||||
<channel site="go3.ee" site_id="6352453" lang="et" xmltv_id="">Kanal 7 EE</channel>
|
||||
<channel site="go3.ee" site_id="6658307" lang="et" xmltv_id="">CNN</channel>
|
||||
<channel site="go3.ee" site_id="6658737" lang="et" xmltv_id="">Cartoon Network</channel>
|
||||
<channel site="go3.ee" site_id="6886477" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="6886484" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="6886487" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="6886499" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="6886504" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="6886511" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="6886512" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="6886515" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7016367" lang="et" xmltv_id="">Go3 Sport 4</channel>
|
||||
<channel site="go3.ee" site_id="7157239" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7206315" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7323959" lang="et" xmltv_id="">Travelxp</channel>
|
||||
<channel site="go3.ee" site_id="7495828" lang="et" xmltv_id="">Galaxy Unpacked</channel>
|
||||
<channel site="go3.ee" site_id="7680167" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7680170" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7680172" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7680176" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7680178" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="7793242" lang="et" xmltv_id="">OlyBet Poker</channel>
|
||||
<channel site="go3.ee" site_id="7840838" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="7840840" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="7840842" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="7840860" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="7840864" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="7840875" lang="et" xmltv_id="">Setanta Sports</channel>
|
||||
<channel site="go3.ee" site_id="8258493" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8258495" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8258497" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8269425" lang="et" xmltv_id="">Setanta Sports 2</channel>
|
||||
<channel site="go3.ee" site_id="8327793" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8388648" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8388651" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8409468" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8596119" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="8596124" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="9098170" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="9120097" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="9225218" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="9455416" lang="et" xmltv_id="">TV3 Gold</channel>
|
||||
<channel site="go3.ee" site_id="9455494" lang="et" xmltv_id="">Eesti Kanal</channel>
|
||||
<channel site="go3.ee" site_id="9455501" lang="et" xmltv_id="">Duo 3</channel>
|
||||
<channel site="go3.ee" site_id="9455506" lang="et" xmltv_id="">Viasat Kino Comedy</channel>
|
||||
<channel site="go3.ee" site_id="9455519" lang="et" xmltv_id="">Kidzone Max</channel>
|
||||
<channel site="go3.ee" site_id="9520336" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="9531291" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="9649833" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="9665716" lang="et" xmltv_id="">Extra</channel>
|
||||
<channel site="go3.ee" site_id="9989351" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="10140371" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="10267383" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="10370187" lang="et" xmltv_id="">Go3</channel>
|
||||
<channel site="go3.ee" site_id="10677836" lang="et" xmltv_id="">MCM Top</channel>
|
||||
<channel site="go3.ee" site_id="10677919" lang="et" xmltv_id="">RFM TV</channel>
|
||||
<channel site="go3.ee" site_id="10907035" lang="et" xmltv_id="">Extra</channel>
|
||||
</channels>
|
||||
55
sites/go3.ee/go3.ee.config.js
Normal file
55
sites/go3.ee/go3.ee.config.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
|
||||
module.exports = {
|
||||
site: 'go3.ee',
|
||||
days: 2,
|
||||
url({ channel, date }) {
|
||||
return `https://go3.ee/api/products/lives/programmes?liveId%5B%5D=${channel.site_id}&since=${date.format('YYYY-MM-DD')}T00%3A00%2B0000&till=${date.format('YYYY-MM-DD')}T23%3A59%2B0000&platform=BROWSER&lang=ET&tenant=OM_EE`
|
||||
},
|
||||
parser({ content }) {
|
||||
const items = parseItems(content)
|
||||
|
||||
return items.map(item => {
|
||||
return {
|
||||
title: item.title,
|
||||
description: item.description,
|
||||
category: item.mainCategory?.title,
|
||||
images: parseImages(item),
|
||||
start: dayjs(item.since),
|
||||
stop: dayjs(item.till)
|
||||
}
|
||||
})
|
||||
},
|
||||
async channels() {
|
||||
const data = await axios
|
||||
.get('https://go3.ee/api/products/lives?platform=BROWSER&lang=ET&tenant=OM_EE')
|
||||
.then(r => r.data)
|
||||
.catch(console.error)
|
||||
|
||||
return data.map(channel => {
|
||||
return {
|
||||
lang: 'et',
|
||||
name: channel.title,
|
||||
site_id: channel.id
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function parseImages(item) {
|
||||
if (!item.images || !Array.isArray(item.images['16x9'])) return []
|
||||
|
||||
return item.images['16x9'].map(image => `https:${image.mainUrl}`)
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
try {
|
||||
const data = JSON.parse(content)
|
||||
if (!Array.isArray(data)) return []
|
||||
|
||||
return data
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
}
|
||||
47
sites/go3.ee/go3.ee.test.js
Normal file
47
sites/go3.ee/go3.ee.test.js
Normal file
@@ -0,0 +1,47 @@
|
||||
const { parser, url } = require('./go3.ee.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2026-04-10', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = { site_id: '443062' }
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel, date })).toBe(
|
||||
'https://go3.ee/api/products/lives/programmes?liveId%5B%5D=443062&since=2026-04-10T00%3A00%2B0000&till=2026-04-10T23%3A59%2B0000&platform=BROWSER&lang=ET&tenant=OM_EE'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
|
||||
|
||||
const results = parser({ content }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(25)
|
||||
expect(results[0]).toMatchObject({
|
||||
title: 'Kaks kanget Argentiinas',
|
||||
description:
|
||||
'Kaks kanget avastavad Argentiina kuulsat veinipiirkonda Mendozat. Sõidetakse ka ühte mahajäetud kaevanduslinna ja laskutakse köiega sügavale hõbedakaevanduse šahtidesse, kus kaljuseintes sätendavad erinevad hinnalised metallid. Pärast tolmuseid mägiteid ja kaevandust nauditakse veemõnusid looduslikes kuumavee allikates. Aga päeva lõpetuseks ootab veel ees väikene ratsamatk. Mis, teadagi, Kristjanile sugugi ei meeldi ...',
|
||||
images: [
|
||||
'https://static3.go3.tv/scale/go3/images/epg_7e5e21dc120e3411d2109b28592bf182.jpeg?dsth=1080&dstw=1920&srcmode=0&quality=80&srcx=0&srcy=0&srcw=1/1&srch=1/1&type=2'
|
||||
],
|
||||
category: 'Sarjad',
|
||||
start: '2026-04-09T23:15:00.000Z',
|
||||
stop: '2026-04-10T00:10:00.000Z'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({ content: '[]' })
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
})
|
||||
21
sites/go3.ee/readme.md
Normal file
21
sites/go3.ee/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# go3.ee
|
||||
|
||||
https://go3.ee/live_tv
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=go3.ee
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/go3.ee/go3.ee.config.js --output=./sites/go3.ee/go3.ee.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- go3.ee
|
||||
```
|
||||
Reference in New Issue
Block a user