43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
|
const libs = require('./libs')
|
||
|
|
||
|
const config = require('./config')
|
||
|
|
||
|
setInterval(() => {
|
||
|
// Récupération du morceau en cours de diffusion
|
||
|
libs.getStream((error, currentSong) => {
|
||
|
if (!error) {
|
||
|
// On récupére en base le précédent morceau joué
|
||
|
libs.getLastSong((err, last) => {
|
||
|
if (err) {
|
||
|
console.log(err)
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// Le morceau actuel est différent du précedent morceau
|
||
|
if (last.length === 0 ||
|
||
|
(last[0] !== undefined && last[0].id !== currentSong.id)
|
||
|
) {
|
||
|
// On sauvegarde en base le morceau en cours de diffusion
|
||
|
libs.saveSong(currentSong, (err, savedSond) => {
|
||
|
if (err) {
|
||
|
console.log('ERR:', err)
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// On récupère la cover du morceau actuel
|
||
|
libs.findCover(currentSong, (err, coverUrl) => {
|
||
|
if (err) {
|
||
|
console.log('ERR:', err)
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// On publie sur Mastodon
|
||
|
libs.publishMessage(currentSong, coverUrl)
|
||
|
})
|
||
|
})
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
})
|
||
|
}, config.delay)
|