public async Task NowPlayingAsync(CommandContext ctx) { var kv = this.MusicService.Playlist.FirstOrDefault(kv => string.Equals(kv.Key.Title, this.MusicService.LavalinkGuildConnection.CurrentState.CurrentTrack.Title)); LavalinkTrack track = kv.Key; DiscordMember member = kv.Value.Member, ctxMember = ctx.Member; await ctx.RespondAsync(embed : new DiscordEmbedBuilder { Author = new DiscordEmbedBuilder.EmbedAuthor { Name = "Current song:" }, Color = DiscordEmbedColor.RandomColorEmbed(), Description = $"Title: {Formatter.MaskedUrl(track.Title, track.Uri)}\n" + $"Author: {track.Author}\n" + $"Length: {track.Length.Humanize()}\n" + $"Requested by: {member.DisplayName}#{member.Discriminator}", Thumbnail = new DiscordEmbedBuilder.EmbedThumbnail { Url = track.GetThumbnailLink(Thumbnail.HqDefault).AbsoluteUri } }.Build()); }
private async Task PlaybackStarted(LavalinkGuildConnection guildConnection, TrackStartEventArgs e) { LavalinkTrack track = e.Track; var kv = this.Playlist.FirstOrDefault(kv => string.Equals(kv.Key.Title, track.Title)); DiscordMember memberCommand = kv.Value.Member; await kv.Value.RespondAsync(embed : new DiscordEmbedBuilder { Author = new DiscordEmbedBuilder.EmbedAuthor { Name = "Playing now:" }, Description = $"Song: {Formatter.MaskedUrl(track.Title, track.Uri)}\n" + $"Author: {track.Author}\n" + $"Length: {track.Length.Humanize()}\n" + $"Requested by: {memberCommand.DisplayName}#{memberCommand.Discriminator}", Color = DiscordEmbedColor.RandomColorEmbed(), Thumbnail = new DiscordEmbedBuilder.EmbedThumbnail { Url = track.GetThumbnailLink(Thumbnail.HqDefault).AbsoluteUri } }); if (!this._isPlaying) { this._isPlaying = true; } if (this._isPaused) { this._isPaused = false; } if (this._isStopped) { this._isStopped = false; } }