diff --git a/DiscordBot/Bot/Actions/Plugin.cs b/DiscordBot/Bot/Actions/Plugin.cs index 1d4228a..52bdb23 100644 --- a/DiscordBot/Bot/Actions/Plugin.cs +++ b/DiscordBot/Bot/Actions/Plugin.cs @@ -129,7 +129,13 @@ public class Plugin : ICommandAction if (string.IsNullOrEmpty(pluginName) || pluginName.Length < 2) { Console.WriteLine("Please specify a plugin name"); - break; + Console.Write("Plugin name : "); + pluginName = Console.ReadLine(); + if (string.IsNullOrEmpty(pluginName) || pluginName.Length < 2) + { + Console.WriteLine("Invalid plugin name"); + break; + } } var pluginManager = @@ -137,7 +143,7 @@ public class Plugin : ICommandAction var pluginData = await pluginManager.GetPluginLinkByName(pluginName); if (pluginData == null || pluginData.Length == 0) { - Console.WriteLine("Plugin not found"); + Console.WriteLine($"Plugin {pluginName} not found. Please check the spelling and try again."); break; } @@ -150,7 +156,8 @@ public class Plugin : ICommandAction //download plugin progress bar for linux and windows terminals var spinner = new Utilities.Utilities.Spinner(); spinner.Start(); - await ServerCom.DownloadFileAsync(pluginLink, $"./Data/{pluginType}s/{pluginName}.dll", null); + IProgress progress = new Progress(p => { spinner.Message = $"Downloading {pluginName}... {Math.Round(p,2)}% " ; }); + await ServerCom.DownloadFileAsync(pluginLink, $"./Data/{pluginType}s/{pluginName}.dll", progress); spinner.Stop(); Console.WriteLine(); diff --git a/DiscordBot/Utilities/Console Utilities.cs b/DiscordBot/Utilities/Console Utilities.cs index 9f5182d..c7f5ba4 100644 --- a/DiscordBot/Utilities/Console Utilities.cs +++ b/DiscordBot/Utilities/Console Utilities.cs @@ -205,6 +205,7 @@ public static class Utilities private bool isRunning; private int position; private Thread thread; + public string Message; public Spinner() { @@ -220,7 +221,8 @@ public static class Utilities { while (isRunning) { - Console.Write("\r" + Sequence[position]); + Console.SetCursorPosition(0, Console.CursorTop); + Console.Write(" " + Sequence[position] + " " + Message + " "); position++; if (position >= Sequence.Length) position = 0; diff --git a/PluginManager/Online/PluginsManager.cs b/PluginManager/Online/PluginsManager.cs index 4dbf17c..e0f6e6f 100644 --- a/PluginManager/Online/PluginsManager.cs +++ b/PluginManager/Online/PluginsManager.cs @@ -124,7 +124,7 @@ public class PluginsManager for (var i = 0; i < len; i++) { var contents = lines[i].Split(','); - if (contents[0] == name) + if (contents[0].ToLowerInvariant() == name.ToLowerInvariant()) { if (contents.Length == 6) return new[] { contents[2], contents[3], contents[5] };