mirror of
https://github.com/abocn/TelegramBot.git
synced 2025-03-10 12:49:57 +00:00
MusicBrainz API for larger album art (using Last.fm API as fallback)
This commit is contained in:
parent
31aa86d390
commit
49e1bc8661
@ -34,6 +34,27 @@ function saveUsers() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getFromMusicBrainz(mbid) {
|
||||||
|
try {
|
||||||
|
const response = await axios.get(`https://coverartarchive.org/release/${mbid}`);
|
||||||
|
const imageUrl = response.data.images[0]?.thumbnails?.large || '';
|
||||||
|
return imageUrl;
|
||||||
|
} catch (error) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function getFromLast(track) {
|
||||||
|
if (!track || !track.image) return '';
|
||||||
|
|
||||||
|
const imageExtralarge = track.image.find(img => img.size === 'extralarge');
|
||||||
|
const imageMega = track.image.find(img => img.size === 'mega');
|
||||||
|
const imageUrl = (imageExtralarge?.['#text']) || (imageMega?.['#text']) || '';
|
||||||
|
|
||||||
|
return imageUrl;
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = (bot) => {
|
module.exports = (bot) => {
|
||||||
loadUsers();
|
loadUsers();
|
||||||
|
|
||||||
@ -104,6 +125,18 @@ module.exports = (bot) => {
|
|||||||
const trackName = track.name;
|
const trackName = track.name;
|
||||||
const artistName = track.artist['#text'];
|
const artistName = track.artist['#text'];
|
||||||
const nowPlaying = track['@attr'] && track['@attr'].nowplaying ? Strings.varIs : Strings.varWas;
|
const nowPlaying = track['@attr'] && track['@attr'].nowplaying ? Strings.varIs : Strings.varWas;
|
||||||
|
const albumMbid = track.album.mbid;
|
||||||
|
|
||||||
|
let imageUrl = "";
|
||||||
|
|
||||||
|
if (albumMbid) {
|
||||||
|
imageUrl = await getFromMusicBrainz(albumMbid);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!imageUrl) {
|
||||||
|
imageUrl = getFromLast(track);
|
||||||
|
}
|
||||||
|
|
||||||
if (imageUrl == genericImg) {
|
if (imageUrl == genericImg) {
|
||||||
imageUrl = "";
|
imageUrl = "";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user