Add Spotify support

This commit is contained in:
Myx
2024-10-01 22:24:31 +02:00
parent e044f2f91b
commit 9b8aec8be8
19 changed files with 382 additions and 132 deletions

View File

@@ -1,5 +1,6 @@
using Discord;
using Discord.WebSocket;
using Lavalink4NET.Players.Queued;
using Lavalink4NET.Tracks;
namespace Lunaris2.Handler.MusicPlayer;
@@ -11,30 +12,38 @@ public class MusicEmbed
string title,
string length,
string artist,
string queuedBy)
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}")
.WithDescription($"Length: {length}\nArtist: {artist}\nQueued by: {queuedBy}{getNextSong}")
.WithColor(Color.Magenta)
.WithThumbnailUrl(imageUrl)
.Build();
}
public async Task NowPlayingEmbed(
LavalinkTrack player,
LavalinkTrack track,
SocketSlashCommand context,
DiscordSocketClient client)
DiscordSocketClient client,
ITrackQueue? queue = null)
{
var artwork = player.ArtworkUri;
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(),
player.Title,
player.Duration.ToString(),
player.Author,
context.User.Username);
track.Title,
duration.ToString(@"hh\:mm\:ss"),
track.Author,
context.User.Username,
nextSong);
await context.SendMessageAsync(embed, client);
}
}