Formatted code and rebuilt PluginLoader
This commit is contained in:
@@ -17,7 +17,7 @@ public class Exit: ICommandAction
|
||||
{
|
||||
if (args is null || args.Length == 0)
|
||||
{
|
||||
Config.Logger.Log("Exiting...", source: typeof(ICommandAction), type: LogType.WARNING);
|
||||
Config.Logger.Log("Exiting...", typeof(ICommandAction), LogType.WARNING);
|
||||
await Config.AppSettings.SaveToFile();
|
||||
Environment.Exit(0);
|
||||
}
|
||||
@@ -33,7 +33,7 @@ public class Exit: ICommandAction
|
||||
|
||||
case "-f":
|
||||
case "force":
|
||||
Config.Logger.Log("Exiting (FORCE)...", source: typeof(ICommandAction), type: LogType.WARNING);
|
||||
Config.Logger.Log("Exiting (FORCE)...", typeof(ICommandAction), LogType.WARNING);
|
||||
Environment.Exit(0);
|
||||
break;
|
||||
|
||||
|
||||
@@ -21,7 +21,14 @@ internal static class PluginMethods
|
||||
{
|
||||
var data = await ConsoleUtilities.ExecuteWithProgressBar(manager.GetPluginsList(), "Loading plugins...");
|
||||
|
||||
TableData tableData = new(new List<string> { "Name", "Description", "Version", "Has Dependencies" });
|
||||
TableData tableData = new(new List<string>
|
||||
{
|
||||
"Name",
|
||||
"Description",
|
||||
"Version",
|
||||
"Has Dependencies"
|
||||
}
|
||||
);
|
||||
foreach (var plugin in data) tableData.AddRow([plugin.Name, plugin.Description, plugin.Version.ToString(), plugin.HasDependencies ? "Yes" : "No"]);
|
||||
|
||||
tableData.HasRoundBorders = false;
|
||||
@@ -42,16 +49,14 @@ internal static class PluginMethods
|
||||
Console.WriteLine($"Plugin {pluginName} not found. Please check the spelling and try again.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
var pluginLink = pluginData.DownLoadLink;
|
||||
|
||||
|
||||
await AnsiConsole.Progress()
|
||||
.Columns(new ProgressColumn[]
|
||||
{
|
||||
new TaskDescriptionColumn(),
|
||||
new ProgressBarColumn(),
|
||||
new PercentageColumn()
|
||||
new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn()
|
||||
}
|
||||
)
|
||||
.StartAsync(async ctx =>
|
||||
@@ -74,21 +79,19 @@ internal static class PluginMethods
|
||||
await RefreshPlugins(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
List<Tuple<ProgressTask, IProgress<float>, string, string>> downloadTasks = new();
|
||||
await AnsiConsole.Progress()
|
||||
.Columns(new ProgressColumn[]
|
||||
{
|
||||
new TaskDescriptionColumn(),
|
||||
new ProgressBarColumn(),
|
||||
new PercentageColumn()
|
||||
new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn()
|
||||
}
|
||||
)
|
||||
.StartAsync(async ctx =>
|
||||
{
|
||||
|
||||
|
||||
foreach (OnlineDependencyInfo dependency in pluginData.Dependencies)
|
||||
foreach (var dependency in pluginData.Dependencies)
|
||||
{
|
||||
var task = ctx.AddTask($"Downloading {dependency.DownloadLocation}: ");
|
||||
IProgress<float> progress = new Progress<float>(p =>
|
||||
@@ -101,7 +104,7 @@ internal static class PluginMethods
|
||||
downloadTasks.Add(new Tuple<ProgressTask, IProgress<float>, string, string>(task, progress, dependency.DownloadLink, dependency.DownloadLocation));
|
||||
}
|
||||
|
||||
if (!int.TryParse(Config.AppSettings["MaxParallelDownloads"], out int maxParallelDownloads))
|
||||
if (!int.TryParse(Config.AppSettings["MaxParallelDownloads"], out var maxParallelDownloads))
|
||||
{
|
||||
maxParallelDownloads = 5;
|
||||
Config.AppSettings.Add("MaxParallelDownloads", "5");
|
||||
@@ -126,7 +129,7 @@ internal static class PluginMethods
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
await RefreshPlugins(false);
|
||||
}
|
||||
|
||||
@@ -135,74 +138,66 @@ internal static class PluginMethods
|
||||
var loader = new PluginLoader(Config.DiscordBot.client);
|
||||
if (args.Length == 2 && args[1] == "-q")
|
||||
{
|
||||
loader.LoadPlugins();
|
||||
await loader.LoadPlugins();
|
||||
return true;
|
||||
}
|
||||
|
||||
var cc = Console.ForegroundColor;
|
||||
loader.onCMDLoad += (name, typeName, success, exception) =>
|
||||
loader.OnCommandLoaded += (data) =>
|
||||
{
|
||||
if (name == null || name.Length < 2)
|
||||
name = typeName;
|
||||
if (success)
|
||||
if (data.IsSuccess)
|
||||
{
|
||||
Config.Logger.Log("Successfully loaded command : " + name, source: typeof(ICommandAction),
|
||||
type: LogType.INFO
|
||||
Config.Logger.Log("Successfully loaded command : " + data.PluginName, typeof(ICommandAction),
|
||||
LogType.INFO
|
||||
);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
Config.Logger.Log("Failed to load command : " + name + " because " + exception?.Message,
|
||||
source: typeof(ICommandAction), type: LogType.ERROR
|
||||
Config.Logger.Log("Failed to load command : " + data.PluginName + " because " + data.ErrorMessage,
|
||||
typeof(ICommandAction), LogType.ERROR
|
||||
);
|
||||
}
|
||||
|
||||
Console.ForegroundColor = cc;
|
||||
};
|
||||
loader.onEVELoad += (name, typeName, success, exception) =>
|
||||
loader.OnEventLoaded += (data) =>
|
||||
{
|
||||
if (name == null || name.Length < 2)
|
||||
name = typeName;
|
||||
|
||||
if (success)
|
||||
if (data.IsSuccess)
|
||||
{
|
||||
Config.Logger.Log("Successfully loaded event : " + name, source: typeof(ICommandAction),
|
||||
type: LogType.INFO
|
||||
Config.Logger.Log("Successfully loaded event : " + data.PluginName, typeof(ICommandAction),
|
||||
LogType.INFO
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
Config.Logger.Log("Failed to load event : " + name + " because " + exception?.Message,
|
||||
source: typeof(ICommandAction), type: LogType.ERROR
|
||||
Config.Logger.Log("Failed to load event : " + data.PluginName + " because " + data.ErrorMessage,
|
||||
typeof(ICommandAction), LogType.ERROR
|
||||
);
|
||||
}
|
||||
|
||||
Console.ForegroundColor = cc;
|
||||
};
|
||||
|
||||
loader.onSLSHLoad += (name, typeName, success, exception) =>
|
||||
loader.OnSlashCommandLoaded += (data) =>
|
||||
{
|
||||
if (name == null || name.Length < 2)
|
||||
name = typeName;
|
||||
|
||||
if (success)
|
||||
if (data.IsSuccess)
|
||||
{
|
||||
Config.Logger.Log("Successfully loaded slash command : " + name, source: typeof(ICommandAction),
|
||||
type: LogType.INFO
|
||||
Config.Logger.Log("Successfully loaded slash command : " + data.PluginName, typeof(ICommandAction),
|
||||
LogType.INFO
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
Config.Logger.Log("Failed to load slash command : " + name + " because " + exception?.Message,
|
||||
source: typeof(ICommandAction), type: LogType.ERROR
|
||||
Config.Logger.Log("Failed to load slash command : " + data.PluginName + " because " + data.ErrorMessage,
|
||||
typeof(ICommandAction), LogType.ERROR
|
||||
);
|
||||
}
|
||||
|
||||
Console.ForegroundColor = cc;
|
||||
};
|
||||
|
||||
loader.LoadPlugins();
|
||||
await loader.LoadPlugins();
|
||||
Console.ForegroundColor = cc;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -23,15 +23,32 @@ public class Help: ICommandAction
|
||||
{
|
||||
var items = new List<string[]>
|
||||
{
|
||||
new[] { "-", "-", "-" },
|
||||
new[] { "Command", "Usage", "Description" },
|
||||
new[] { "-", "-", "-" }
|
||||
new[]
|
||||
{
|
||||
"-", "-", "-"
|
||||
},
|
||||
new[]
|
||||
{
|
||||
"Command", "Usage", "Description"
|
||||
},
|
||||
new[]
|
||||
{
|
||||
"-", "-", "-"
|
||||
}
|
||||
};
|
||||
|
||||
foreach (var a in Program.internalActionManager.Actions)
|
||||
items.Add(new[] { a.Key, a.Value.Usage, a.Value.Description });
|
||||
items.Add(new[]
|
||||
{
|
||||
a.Key, a.Value.Usage, a.Value.Description
|
||||
}
|
||||
);
|
||||
|
||||
items.Add(new[] { "-", "-", "-" });
|
||||
items.Add(new[]
|
||||
{
|
||||
"-", "-", "-"
|
||||
}
|
||||
);
|
||||
|
||||
ConsoleUtilities.FormatAndAlignTable(items,
|
||||
TableFormat.CENTER_EACH_COLUMN_BASED
|
||||
@@ -48,11 +65,26 @@ public class Help: ICommandAction
|
||||
var action = Program.internalActionManager.Actions[args[0]];
|
||||
var actionData = new List<string[]>
|
||||
{
|
||||
new[] { "-", "-", "-" },
|
||||
new[] { "Command", "Usage", "Description" },
|
||||
new[] { "-", "-", "-" },
|
||||
new[] { action.ActionName, action.Usage, action.Description },
|
||||
new[] { "-", "-", "-" }
|
||||
new[]
|
||||
{
|
||||
"-", "-", "-"
|
||||
},
|
||||
new[]
|
||||
{
|
||||
"Command", "Usage", "Description"
|
||||
},
|
||||
new[]
|
||||
{
|
||||
"-", "-", "-"
|
||||
},
|
||||
new[]
|
||||
{
|
||||
action.ActionName, action.Usage, action.Description
|
||||
},
|
||||
new[]
|
||||
{
|
||||
"-", "-", "-"
|
||||
}
|
||||
};
|
||||
|
||||
ConsoleUtilities.FormatAndAlignTable(actionData,
|
||||
|
||||
@@ -34,7 +34,7 @@ public class Plugin: ICommandAction
|
||||
return;
|
||||
}
|
||||
|
||||
PluginsManager manager =
|
||||
var manager =
|
||||
#if !DEBUG
|
||||
new PluginsManager("releases");
|
||||
#else
|
||||
@@ -54,13 +54,13 @@ public class Plugin: ICommandAction
|
||||
case "load":
|
||||
if (pluginsLoaded)
|
||||
{
|
||||
Config.Logger.Log("Plugins already loaded", source: typeof(ICommandAction), type: LogType.WARNING);
|
||||
Config.Logger.Log("Plugins already loaded", typeof(ICommandAction), LogType.WARNING);
|
||||
break;
|
||||
}
|
||||
|
||||
if (Config.DiscordBot is null)
|
||||
{
|
||||
Config.Logger.Log("DiscordBot is null", source: typeof(ICommandAction), type: LogType.WARNING);
|
||||
Config.Logger.Log("DiscordBot is null", typeof(ICommandAction), LogType.WARNING);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -40,15 +40,15 @@ public class Help: DBSlashCommand
|
||||
|
||||
if (options.Count > 0)
|
||||
{
|
||||
var commandName = options.First().Name;
|
||||
var slashCommand = slashCommands.FirstOrDefault(x => x.Name == commandName);
|
||||
var commandName = options.First().Value;
|
||||
var slashCommand = slashCommands.FirstOrDefault(x => x.Name.TrimEnd() == commandName.ToString());
|
||||
if (slashCommand is null)
|
||||
{
|
||||
await context.RespondAsync("Unknown Command " + commandName);
|
||||
return;
|
||||
}
|
||||
|
||||
embedBuilder.AddField(slashCommand.Name, slashCommand.canUseDM)
|
||||
embedBuilder.AddField("DM Usable:", slashCommand.canUseDM, true)
|
||||
.WithDescription(slashCommand.Description);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user