Fixed spotify album/playlist loading

Utilizing map which results in a much faster spotify playlist/album loading
This commit is contained in:
watchdogsrox 2021-04-29 04:38:15 -04:00 committed by GitHub
parent d4035cf643
commit c712f2d8c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -175,17 +175,15 @@ export class Player extends EventEmitter {
}
break;
// todo: make spotify playlist/album load faster
case 'spotify_album':
case 'spotify_playlist': {
this.emit(PlayerEvents.PLAYLIST_PARSE_START, null, message);
const playlist = await spotify.getData(query);
if (!playlist) return void this.emit(PlayerEvents.NO_RESULTS, message, query);
// todo: make spotify playlist/album load faster
case 'spotify_album':
case 'spotify_playlist': {
this.emit(PlayerEvents.PLAYLIST_PARSE_START, null, message);
const playlist = await spotify.getData(query);
if (!playlist) return void this.emit(PlayerEvents.NO_RESULTS, message, query);
// tslint:disable:no-shadowed-variable
const tracks = [];
for (const item of playlist.tracks.items) {
//Much faster loading
const tracks = await Promise.all(playlist.tracks.items.map(async (track) => {
const sq =
queryType === 'spotify_album'
? `${item.artists[0].name} - ${item.name}`
@ -197,8 +195,26 @@ export class Player extends EventEmitter {
pl: true
});
if (data[0]) tracks.push(data[0]);
}
return results[0];
}));
// // tslint:disable:no-shadowed-variable
// const tracks = [];
// for (const item of playlist.tracks.items) {
// const sq =
// queryType === 'spotify_album'
// ? `${item.artists[0].name} - ${item.name}`
// : `${item.track.artists[0].name} - ${item.name}`;
// const data = await Util.ytSearch(sq, {
// limit: 1,
// player: this,
// user: message.author,
// pl: true
// });
// if (data[0]) tracks.push(data[0]);
// }
if (!tracks.length) return void this.emit(PlayerEvents.NO_RESULTS, message, query);