Example #1
0
        private async Task OnTrackFinished(LavaPlayer player, LavaTrack track, TrackEndReason reason)
        {
            if (!reason.ShouldPlayNext())
            {
                return;
            }

            if (!player.Queue.TryDequeue(out var item) || !(item is AudioTrack nextTrack))
            {
                await player.TextChannel?.SendMessageAsync($"There are no more items left in queue.");

                return;
            }

            await player.PlayAsync(nextTrack);

            await player.TextChannel.SendMessageAsync($"Finished playing: {track.ToString()}\nNow playing: {nextTrack.ToString()}");

            await player.TextChannel.SendMessageAsync(player.ObjectToString());
        }