示例#1
0
        public async Task RandomSong(string person, int difficulty)
        {
            //Trim
            person = person.Trim();

            //Get song list
            var responseArray = getSongList(person);

            if (responseArray == null)
            {
                return;
            }

            CloneHeroSongListModel song = null;

            try
            {
                //Got the shit
                song = responseArray.Where(x => x.GuitarDifficulty == difficulty).RandomItem();
            } catch (Exception) { await Context.Channel.SendErrorAsync("No song found."); return; }

            //Get embed from song
            var embed = GenerateSongEmbed(song);

            //Output embed
            await Context.Channel.BlankEmbedAsync(embed.Build());
        }
示例#2
0
        private EmbedBuilder GenerateSongEmbed(CloneHeroSongListModel song)
        {
            //Song is selected
            var embed = new EmbedBuilder().WithQuoteColour();

            //If artist one or other
            if (song.ArtistName != "")
            {
                embed = embed.WithTitle($"{song.ArtistName} - {song.SongName}");
            }
            else
            {
                embed = embed.WithTitle($"{song.SongName}");
            }

            //Add fields
            embed = embed.AddField(efb => efb.WithName("Album").WithValue(song.AlbumName).WithIsInline(true));
            embed = embed.AddField(efb => efb.WithName("Genre").WithValue(song.GenreName).WithIsInline(true));
            embed = embed.AddField(efb => efb.WithName("Charter").WithValue(song.CharterName).WithIsInline(true));
            embed = embed.AddField(efb => efb.WithName("Year").WithValue(song.Year).WithIsInline(true));
            embed = embed.AddField(efb => efb.WithName("Guitar Difficulty").WithValue(song.GuitarDifficulty).WithIsInline(true));
            embed = embed.AddField(efb => efb.WithName("Song Length").WithValue(song.SongLength).WithIsInline(true));

            return(embed);
        }