コード例 #1
0
ファイル: LavalinkCommands.cs プロジェクト: luizstudios/Tars
        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());
        }
コード例 #2
0
ファイル: MusicService.cs プロジェクト: luizstudios/Tars
        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;
            }
        }