using Discord; namespace Lunaris2.SlashCommand; public static class Option { public const string Input = "input"; } public static class Command { public static class Hello { public const string Name = "hello"; public const string Description = "Say hello to the bot!"; } public static class Goodbye { public const string Name = "goodbye"; public const string Description = "Say goodbye to the bot!"; } public static class Join { public const string Name = "join"; public const string Description = "Join the voice channel!"; } public static class Skip { public const string Name = "skip"; public const string Description = "Skip the current song!"; } public static class Stop { public const string Name = "stop"; public const string Description = "Stop the music!"; } public static class Play { public const string Name = "play"; public const string Description = "Play a song!"; public static readonly List? Options = new() { new SlashCommandOptionBuilder { Name = "input", Description = "The song you want to play", Type = ApplicationCommandOptionType.String, IsRequired = true }, }; } public static string[] GetAllCommands() { return typeof(Command) .GetNestedTypes() .Select(command => command.GetField("Name")?.GetValue(null)?.ToString()) .ToArray()!; } }