Fixed bug where playlist would not be loaded fully if atleast one song failed to load

This commit is contained in:
Kwoth 2016-11-15 00:07:36 +01:00
parent a38078a09c
commit 6e3c5cb6bd
2 changed files with 14 additions and 3 deletions

View File

@ -9,4 +9,12 @@ namespace NadekoBot.Modules.Music.Classes
}
public PlaylistFullException() : base("Queue is full.") { }
}
class SongNotFoundException : Exception
{
public SongNotFoundException(string message) : base(message)
{
}
public SongNotFoundException() : base("Song is not found.") { }
}
}

View File

@ -282,9 +282,8 @@ namespace NadekoBot.Modules.Music
{
await QueueSong(((IGuildUser)umsg.Author), channel, ((IGuildUser)umsg.Author).VoiceChannel, id, true).ConfigureAwait(false);
}
catch (PlaylistFullException)
{ break; }
catch { }
catch (SongNotFoundException) { }
catch { break; }
}
await msg.ModifyAsync(m => m.Content = "🎵 `Playlist queue complete.`").ConfigureAwait(false);
}
@ -579,6 +578,7 @@ namespace NadekoBot.Modules.Music
{
await QueueSong(usr, channel, usr.VoiceChannel, item.Query, true, item.ProviderType).ConfigureAwait(false);
}
catch (SongNotFoundException) { }
catch { break; }
}
if (msg != null)
@ -794,6 +794,9 @@ namespace NadekoBot.Modules.Music
musicPlayer.ThrowIfQueueFull();
resolvedSong = await Song.ResolveSong(query, musicType).ConfigureAwait(false);
if (resolvedSong == null)
throw new SongNotFoundException();
musicPlayer.AddSong(resolvedSong, queuer.Username);
}
catch (PlaylistFullException)