public static void Main()
var x = Console.ReadLine();
Console.WriteLine(ConstantsToEnum(typeof(Events)));
Console.WriteLine(ConstantsToEnum(typeof(Commands)));
static string ConstantsToEnum(Type t)
var fields = t.GetFields(BindingFlags.NonPublic | BindingFlags.Static);
var fmt = "public enum " + t.Name + "\n{\n";
foreach(var field in fields)
fmt += "\t[EnumMember(Value = \"" + field.GetValue(null) + "\")]\n\t" + field.Name + ",\n\n";
internal static class Commands
internal const string SetActivity = "SET_ACTIVITY";
internal const string Dispatch = "DISPATCH";
internal const string Authorize = "AUTHORIZE";
internal const string Authenticate = "AUTHENTICATE";
internal const string GetGuild = "GET_GUILD";
internal const string GetGuilds = "GET_GUILDS";
internal const string GetChannel = "GET_CHANNEL";
internal const string GetChannels = "GET_CHANNELS";
internal const string Subscribe = "SUBSCRIBE";
internal const string Unsubscribe = "UNSUBSCRIBE";
internal const string SetUserVoiceSettings = "SET_USER_VOICE_SETTINGS";
internal const string SelectVoiceChannel = "SELECT_VOICE_CHANNEL";
internal const string GetSelectedVoiceChannel = "GET_SELECTED_VOICE_CHANNEL";
internal const string SelectTextChannel = "SELECT_TEXT_CHANNEL";
internal const string GetVoiceSettings = "GET_VOICE_SETTINGS";
internal const string SetVoiceSettings = "SET_VOICE_SETTINGS";
internal const string CaptureShortcut = "CAPTURE_SHORTCUT";
internal const string SetCertifiedDevices = "SET_CERTIFIED_DEVICES";
internal const string SendActivityJoinInvite = "SEND_ACTIVITY_JOIN_INVITE";
internal const string CloseActivityRequest = "CLOSE_ACTIVITY_REQUEST";
internal static class Events
internal const string Ready = "READY";
internal const string Error = "ERROR";
internal const string GuildStatus = "GUILD_STATUS";
internal const string GuildCreate = "GUILD_CREATE";
internal const string ChannelCreate = "CHANNEL_CREATE";
internal const string VoiceChannelSelect = "VOICE_CHANNEL_SELECT";
internal const string VoiceStateCreate = "VOICE_STATE_CREATE";
internal const string VoiceStateUpdate = "VOICE_STATE_UPDATE";
internal const string VoiceStateDelete = "VOICE_STATE_DELETE";
internal const string VoiceSettingsUpdate = "VOICE_SETTINGS_UPDATE";
internal const string VoiceConnectionStatus = "VOICE_CONNECTION_STATUS";
internal const string SpeakingStart = "SPEAKING_START";
internal const string SpeakingStop = "SPEAKING_STOP";
internal const string MessageCreate = "MESSAGE_CREATE";
internal const string MessageUpdate = "MESSAGE_UPDATE";
internal const string MessageDelete = "MESSAGE_DELETE";
internal const string NotificationCreate = "NOTIFICATION_CREATE";
internal const string CaptureShortcutChange = "CAPTURE_SHORTCUT_CHANGE";
internal const string ActivityJoin = "ACTIVITY_JOIN";
internal const string ActivitySpectate = "ACTIVITY_SPECTATE";
internal const string ActivityJoinRequest = "ACTIVITY_JOIN_REQUEST";