!!rm improved, both code and prettyness
This commit is contained in:
		| @@ -77,6 +77,8 @@ namespace NadekoBot.Modules.Music.Classes | ||||
|  | ||||
|         public string PrettyVolume => $"🔉 {(int)(Volume * 100)}%"; | ||||
|  | ||||
|         public event Action<Song> SongRemoved = delegate { }; | ||||
|  | ||||
|         public MusicPlayer(IVoiceChannel startingVoiceChannel, float? defaultVolume) | ||||
|         { | ||||
|             if (startingVoiceChannel == null) | ||||
| @@ -277,7 +279,12 @@ namespace NadekoBot.Modules.Music.Classes | ||||
|             { | ||||
|                 if (index < 0 || index >= playlist.Count) | ||||
|                     return; | ||||
|                 playlist.RemoveAt(index); | ||||
|                 var song = playlist.ElementAtOrDefault(index); | ||||
|                 if (playlist.Remove(song)) | ||||
|                 { | ||||
|                     SongRemoved(song); | ||||
|                 } | ||||
|                  | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -461,27 +461,29 @@ $"{("tracks".SnPl(musicPlayer.Playlist.Count))} | {(int)total.TotalHours}h {tota | ||||
|         public async Task Remove(int num) | ||||
|         { | ||||
|  | ||||
|  | ||||
|             MusicPlayer musicPlayer; | ||||
|             if (!MusicPlayers.TryGetValue(Context.Guild.Id, out musicPlayer)) | ||||
|             { | ||||
|                 return; | ||||
|             } | ||||
|             if (((IGuildUser)Context.User).VoiceChannel != musicPlayer.PlaybackVoiceChannel) | ||||
|                 return; | ||||
|             if (num <= 0 || num > musicPlayer.Playlist.Count) | ||||
|                 return; | ||||
|             var song = (musicPlayer.Playlist as List<Song>)?[num - 1]; | ||||
|             musicPlayer.SongRemoved += async (song) => | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|  | ||||
|                     var embed = new EmbedBuilder() | ||||
|                         .WithAuthor(eab => eab.WithName("Removed song #" + num).WithMusicIcon()) | ||||
|                         .WithDescription(song.PrettyName) | ||||
|                         .WithFooter(ef => ef.WithText(song.PrettyInfo)) | ||||
|                         .WithErrorColor(); | ||||
|  | ||||
|                     await Context.Channel.EmbedAsync(embed).ConfigureAwait(false); | ||||
|  | ||||
|                 } | ||||
|                 catch { } | ||||
|             }; | ||||
|  | ||||
|             musicPlayer.RemoveSongAt(num - 1); | ||||
|  | ||||
|             var embed = new EmbedBuilder() | ||||
|                 .WithAuthor(eab => eab.WithName("Song Removed!").WithMusicIcon()) | ||||
|                 .AddField(fb => fb.WithName("**Song Position**").WithValue($"#{num}").WithIsInline(true)) | ||||
|                 .AddField(fb => fb.WithName("**Song Name**").WithValue(song.PrettyName).WithIsInline(true)) | ||||
|                 .WithFooter(ef => ef.WithText($"{song.PrettyProvider} | {song.QueuerName}")) | ||||
|                 .WithErrorColor(); | ||||
|  | ||||
|             await Context.Channel.EmbedAsync(embed).ConfigureAwait(false); | ||||
|         } | ||||
|  | ||||
|         [NadekoCommand, Usage, Description, Aliases] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user