public async Task OnFinished(LavaPlayer player, LavaTrack track, TrackReason reason) { if (reason is TrackReason.LoadFailed || reason is TrackReason.Cleanup) { return; } if (Loop && !WasSkipped) { await player.PlayAsync(track); await player.TextChannel.SendMessageAsync("", false, await EmbedHandler.CreateEmbed("Audio", string.Format("{0} is on repeat.", track.Title))); } else { WasSkipped = false; player.Queue.TryDequeue(out LavaTrack nextTrack); if (nextTrack is null) { await player.StopAsync(); } else { await player.PlayAsync(nextTrack); await player.TextChannel.SendMessageAsync("", false, await EmbedHandler.CreateEmbed("Audio", string.Format("Now playing: {0}", nextTrack.Title))); } } }
// Fires up when track is finished.. Maybe set timer here for autokick feature public async Task OnFinished(LavaPlayer player, LavaTrack track, TrackReason reason) { if (reason is TrackReason.LoadFailed || reason is TrackReason.Cleanup) { return; } player.Queue.TryDequeue(out LavaTrack nextTrack); if (nextTrack == null) { await player.StopAsync(); await BotService.SetBotStatus(_client, "Paused"); await player.TextChannel.SendMessageAsync("", false, await EmbedHandler.CreateBasicEmbed("Music", $"Paused, no songs in queue", Color.Gold)); } else { await player.PlayAsync(nextTrack); await player.TextChannel.SendMessageAsync("", false, await EmbedHandler.CreateBasicEmbed("Now Playing", $"{nextTrack.Title}", Color.Gold)); } }
// Events public Task OnFinished(LavaPlayer player, LavaTrack track, TrackReason reason) => Task.CompletedTask;