mirror of
https://github.com/Myxelium/Lunaris2.0.git
synced 2026-04-09 06:09:39 +00:00
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using Discord;
|
|
using Discord.WebSocket;
|
|
using Lavalink4NET.Players.Queued;
|
|
using Lavalink4NET.Tracks;
|
|
|
|
namespace Lunaris2.Handler.MusicPlayer;
|
|
|
|
public class MusicEmbed
|
|
{
|
|
private Embed SendMusicEmbed(
|
|
string imageUrl,
|
|
string title,
|
|
string length,
|
|
string artist,
|
|
string queuedBy,
|
|
string? nextSong = null)
|
|
{
|
|
var getNextSong = nextSong is not null ? $"\nNext Song: {nextSong}" : string.Empty;
|
|
|
|
return new EmbedBuilder()
|
|
.WithAuthor("Lunaris", "https://media.tenor.com/GqAwMt01UXgAAAAi/cd.gif")
|
|
.WithTitle(title)
|
|
.WithDescription($"Length: {length}\nArtist: {artist}\nQueued by: {queuedBy}{getNextSong}")
|
|
.WithColor(Color.Magenta)
|
|
.WithThumbnailUrl(imageUrl)
|
|
.Build();
|
|
}
|
|
|
|
public async Task NowPlayingEmbed(
|
|
LavalinkTrack track,
|
|
SocketSlashCommand context,
|
|
DiscordSocketClient client,
|
|
ITrackQueue? queue = null)
|
|
{
|
|
var duration = TimeSpan.Parse(track.Duration.ToString());
|
|
|
|
var artwork = track.ArtworkUri;
|
|
var nextSong = queue?.Count > 1 ? queue[1].Track?.Title : null;
|
|
var embed = SendMusicEmbed(
|
|
artwork.ToString(),
|
|
track.Title,
|
|
duration.ToString(@"hh\:mm\:ss"),
|
|
track.Author,
|
|
context.User.Username,
|
|
nextSong);
|
|
|
|
await context.SendMessageAsync(embed, client);
|
|
}
|
|
}
|