42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
const moment = require('moment')
|
|
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(config.colors.FgRed, '[ERR] GET LAST SONG:', moment().format(), err, config.colors.Reset)
|
|
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(config.colors.FgRed, '[ERR] SAVE SONG:', moment().format(), err, config.colors.Reset)
|
|
return false
|
|
}
|
|
|
|
// On récupère la cover du morceau actuel
|
|
libs.findCover(currentSong, (err, coverUrl) => {
|
|
if (err) {
|
|
console.log(config.colors.FgRed, '[ERR] FIND COVER:', moment().format(), err, config.colors.Reset)
|
|
return false
|
|
}
|
|
|
|
// On publie sur Mastodon
|
|
libs.publishMessage(currentSong, coverUrl)
|
|
})
|
|
})
|
|
}
|
|
})
|
|
}
|
|
})
|
|
}, config.delay)
|