Merged projects with plugins and modules

This commit is contained in:
2024-07-22 01:18:00 +03:00
parent 1fd065f4c2
commit 8ace51c840
59 changed files with 1669 additions and 73 deletions

View File

@@ -0,0 +1,53 @@
using Discord;
namespace MusicPlayer;
public static class MusicInfoExtensions
{
public static void AddAlias(this MusicInfo musicInfo, string alias)
{
musicInfo.Aliases.Add(alias);
}
public static void RemoveAlias(this MusicInfo musicInfo, string alias)
{
musicInfo.Aliases.Remove(alias);
}
public static MusicInfo CreateMusicInfo(string title, string fileLocation, string? Description = "Unknown", List<string>? aliases = null, int? byteSize = 1024)
{
return new MusicInfo()
{
Title = title,
Aliases = aliases,
Description = Description,
Location = fileLocation,
ByteSize = byteSize
};
}
public static Embed ToEmbed(this MusicInfo musicInfo, Color? embedColor = null)
{
var builder = new EmbedBuilder();
builder.Color = embedColor ?? Color.Default;
builder.WithTitle(musicInfo.Title);
builder.WithDescription(musicInfo.Description);
if (musicInfo.Aliases != null)
builder.AddField("Aliases", string.Join(", ", musicInfo.Aliases));
else
builder.AddField("Aliases", "None");
builder.AddField("Location", musicInfo.Location);
builder.AddField("ByteSize", musicInfo.ByteSize);
return builder.Build();
}
public static Embed ToEmbed(this List<MusicInfo> musicInfo, Color? embedColor = null)
{
var builder = new EmbedBuilder();
builder.Color = embedColor ?? Color.Default;
builder.WithTitle("Search results");
builder.WithDescription("Found " + musicInfo.Count + " results");
builder.AddField("Results", string.Join("\n", musicInfo.Select(item => item.Title)));
return builder.Build();
}
}