Esempio n. 1
0
        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)));
                }
            }
        }
Esempio n. 2
0
        // 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));
            }
        }
Esempio n. 3
0
        // Events

        public Task OnFinished(LavaPlayer player, LavaTrack track, TrackReason reason)
        => Task.CompletedTask;