public static async void PlayerControl(ulong guildid, ITextChannel text)
        {
            EmbedBuilder embedBuilder = new EmbedBuilder();
            var          player       = audioService.GetPlayer <LavalinkPlayer>(guildid);

            while (SongList.Count > 0)
            {
                if (player.State == PlayerState.NotPlaying)
                {
                    var song = SongList.FirstOrDefault(f => f.Guild.Id == guildid);
                    await player.PlayAsync(song.Track);

                    embedBuilder.WithTitle(LanguageHolder.GetTranslation("BOT_TITLE")).WithDescription(LanguageHolder.GetTranslation("START_PLAYING", song.Track.Title, song.Track.Duration)).WithColor(Color.Blue);
                    await text.SendMessageAsync("", false, embedBuilder.Build());

                    SongList.Remove(song);
                }
                await Task.Delay(100);
            }
        }
Esempio n. 2
0
        private void LoadSongListFromResource()
        {
            SongList = StateConfiguration.SongList;

            var songList = new SongList(SongController.GetSongs(ResourceConfiguration).Select(s => SongListItem.CreateInstance(s)));

            if (SongList != null)
            {
                foreach (var song in songList)
                {
                    var found = SongList.FirstOrDefault(s => s.AreSame(song));
                    if (found != null)
                    {
                        song.Selected = found.Selected;
                    }
                }
            }
            SongList = songList;
            StateConfiguration.SongList = SongList;
            StateConfiguration.Save();
        }