From c80fe33e6dfb45678c735b060b1fa29bff923101 Mon Sep 17 00:00:00 2001 From: Wizzy69 Date: Tue, 5 Jul 2022 16:43:23 +0300 Subject: [PATCH] --- .vscode/settings.json | 4 + BUILDS/net6.0/CMD_Utils.deps.json | 126 +++++++++--------- BUILDS/net6.0/CMD_Utils.dll | Bin 11776 -> 11776 bytes BUILDS/net6.0/MusicCommands.deps.json | 126 +++++++++--------- BUILDS/net6.0/MusicCommands.dll | Bin 17920 -> 17920 bytes BUILDS/net6.0/PluginManager.dll | Bin 61440 -> 61952 bytes CMD_Utils/Random.cs | 6 +- DiscordBot/DiscordBot.csproj | 2 +- PluginManager/Items/Command.cs | 8 ++ PluginManager/Items/ConsoleCommandsHandler.cs | 65 ++++++--- PluginManager/Others/Functions.cs | 29 ++++ PluginManager/PluginManager.csproj | 2 +- 12 files changed, 215 insertions(+), 153 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6705416 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "rpc.enabled": true, + "discord.enabled": true +} \ No newline at end of file diff --git a/BUILDS/net6.0/CMD_Utils.deps.json b/BUILDS/net6.0/CMD_Utils.deps.json index f5694d6..4ac17c3 100644 --- a/BUILDS/net6.0/CMD_Utils.deps.json +++ b/BUILDS/net6.0/CMD_Utils.deps.json @@ -14,28 +14,28 @@ "CMD_Utils.dll": {} } }, - "Discord.Net/3.6.1": { + "Discord.Net/3.7.2": { "dependencies": { - "Discord.Net.Commands": "3.6.1", - "Discord.Net.Core": "3.6.1", - "Discord.Net.Interactions": "3.6.1", - "Discord.Net.Rest": "3.6.1", - "Discord.Net.WebSocket": "3.6.1", - "Discord.Net.Webhook": "3.6.1" + "Discord.Net.Commands": "3.7.2", + "Discord.Net.Core": "3.7.2", + "Discord.Net.Interactions": "3.7.2", + "Discord.Net.Rest": "3.7.2", + "Discord.Net.WebSocket": "3.7.2", + "Discord.Net.Webhook": "3.7.2" } }, - "Discord.Net.Commands/3.6.1": { + "Discord.Net.Commands/3.7.2": { "dependencies": { - "Discord.Net.Core": "3.6.1" + "Discord.Net.Core": "3.7.2" }, "runtime": { "lib/net6.0/Discord.Net.Commands.dll": { - "assemblyVersion": "3.6.1.0", - "fileVersion": "3.6.1.0" + "assemblyVersion": "3.7.2.0", + "fileVersion": "3.7.2.0" } } }, - "Discord.Net.Core/3.6.1": { + "Discord.Net.Core/3.7.2": { "dependencies": { "Newtonsoft.Json": "13.0.1", "System.Collections.Immutable": "5.0.0", @@ -44,59 +44,59 @@ }, "runtime": { "lib/net6.0/Discord.Net.Core.dll": { - "assemblyVersion": "3.6.1.0", - "fileVersion": "3.6.1.0" + "assemblyVersion": "3.7.2.0", + "fileVersion": "3.7.2.0" } } }, - "Discord.Net.Interactions/3.6.1": { + "Discord.Net.Interactions/3.7.2": { "dependencies": { - "Discord.Net.Core": "3.6.1", - "Discord.Net.Rest": "3.6.1", - "Discord.Net.WebSocket": "3.6.1", + "Discord.Net.Core": "3.7.2", + "Discord.Net.Rest": "3.7.2", + "Discord.Net.WebSocket": "3.7.2", "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0", "System.Collections.Immutable": "5.0.0", "System.Reactive": "5.0.0" }, "runtime": { "lib/net6.0/Discord.Net.Interactions.dll": { - "assemblyVersion": "3.6.1.0", - "fileVersion": "3.6.1.0" + "assemblyVersion": "3.7.2.0", + "fileVersion": "3.7.2.0" } } }, - "Discord.Net.Rest/3.6.1": { + "Discord.Net.Rest/3.7.2": { "dependencies": { - "Discord.Net.Core": "3.6.1" + "Discord.Net.Core": "3.7.2" }, "runtime": { "lib/net6.0/Discord.Net.Rest.dll": { - "assemblyVersion": "3.6.1.0", - "fileVersion": "3.6.1.0" + "assemblyVersion": "3.7.2.0", + "fileVersion": "3.7.2.0" } } }, - "Discord.Net.Webhook/3.6.1": { + "Discord.Net.Webhook/3.7.2": { "dependencies": { - "Discord.Net.Core": "3.6.1", - "Discord.Net.Rest": "3.6.1" + "Discord.Net.Core": "3.7.2", + "Discord.Net.Rest": "3.7.2" }, "runtime": { "lib/net6.0/Discord.Net.Webhook.dll": { - "assemblyVersion": "3.6.1.0", - "fileVersion": "3.6.1.0" + "assemblyVersion": "3.7.2.0", + "fileVersion": "3.7.2.0" } } }, - "Discord.Net.WebSocket/3.6.1": { + "Discord.Net.WebSocket/3.7.2": { "dependencies": { - "Discord.Net.Core": "3.6.1", - "Discord.Net.Rest": "3.6.1" + "Discord.Net.Core": "3.7.2", + "Discord.Net.Rest": "3.7.2" }, "runtime": { "lib/net6.0/Discord.Net.WebSocket.dll": { - "assemblyVersion": "3.6.1.0", - "fileVersion": "3.6.1.0" + "assemblyVersion": "3.7.2.0", + "fileVersion": "3.7.2.0" } } }, @@ -147,7 +147,7 @@ "System.ValueTuple/4.5.0": {}, "PluginManager/1.0.0": { "dependencies": { - "Discord.Net": "3.6.1" + "Discord.Net": "3.7.2" }, "runtime": { "PluginManager.dll": {} @@ -161,54 +161,54 @@ "serviceable": false, "sha512": "" }, - "Discord.Net/3.6.1": { + "Discord.Net/3.7.2": { "type": "package", "serviceable": true, - "sha512": "sha512-TfcL/HG57fVt//WVJ2XyF2PlytY9IYkkwwkPLIhvu5FW4wf9rm7+N8RPh4qtELLfsa5ES0FK2RbgYjABRR9AjA==", - "path": "discord.net/3.6.1", - "hashPath": "discord.net.3.6.1.nupkg.sha512" + "sha512": "sha512-FAiCLGu5rp6+Z10FjKbbJ6LLpKjbMBGpozixkJlz5LZvuncPx8f4AWFAw7pBecKUuAh983qiZ8CZYZcNXsI4qg==", + "path": "discord.net/3.7.2", + "hashPath": "discord.net.3.7.2.nupkg.sha512" }, - "Discord.Net.Commands/3.6.1": { + "Discord.Net.Commands/3.7.2": { "type": "package", "serviceable": true, - "sha512": "sha512-kK7m571yzSzPd93o+n8Z+TfvX62BT1HtOEZIWXKwXWO8itP/sgqBNExjWK/6DOpkbD6+khc2f3rp+TA0rJD88g==", - "path": "discord.net.commands/3.6.1", - "hashPath": "discord.net.commands.3.6.1.nupkg.sha512" + "sha512": "sha512-aOEGP04X64htsTr7ozKj9qHpmvOfitSw5gfR8Tw9TX0+FdswD2LNL2KfOAIaxRKZmRTm34aXQEJrVq0K8AptmQ==", + "path": "discord.net.commands/3.7.2", + "hashPath": "discord.net.commands.3.7.2.nupkg.sha512" }, - "Discord.Net.Core/3.6.1": { + "Discord.Net.Core/3.7.2": { "type": "package", "serviceable": true, - "sha512": "sha512-ibVjQiWzgqh0GyP/GXE2kv3TA/9ysmmNFG/WmRE7GepQQAXXGxVUO9IMJ8h14EvIXMQ0m0DktMe5DkUnilo3Ag==", - "path": "discord.net.core/3.6.1", - "hashPath": "discord.net.core.3.6.1.nupkg.sha512" + "sha512": "sha512-apwswc6LjN4dj3u27SO3Hr56Jzl91wzReahieoD7IQhV+BJQaRxhTRiEEWFTrBzHfeFHEOQ7r6vZnra3zeFhKA==", + "path": "discord.net.core/3.7.2", + "hashPath": "discord.net.core.3.7.2.nupkg.sha512" }, - "Discord.Net.Interactions/3.6.1": { + "Discord.Net.Interactions/3.7.2": { "type": "package", "serviceable": true, - "sha512": "sha512-WGOxz6SMUu4WS5b/JdrhlwQletcplBIYqvjFBBDfnqE+uNJqcNGtAdyjLqIILfXGx8aSSSSYZSCeAUa7FZ8Yew==", - "path": "discord.net.interactions/3.6.1", - "hashPath": "discord.net.interactions.3.6.1.nupkg.sha512" + "sha512": "sha512-dwGhEdDB0yyo/lGtjwIDVZmsuD52di7lIZWu/sBtvvA05dMgYZq5S6ILdsBXjOyaHeXd+EV4YMlj2VS/rm619w==", + "path": "discord.net.interactions/3.7.2", + "hashPath": "discord.net.interactions.3.7.2.nupkg.sha512" }, - "Discord.Net.Rest/3.6.1": { + "Discord.Net.Rest/3.7.2": { "type": "package", "serviceable": true, - "sha512": "sha512-T7RRThIS23roFEJwTL1l7aawjVyn7ZB5yH3tMge0d6TiCzzp4V4FAZ+ArTt19LHRFhPly90v8V3sWqmTMN+5Zg==", - "path": "discord.net.rest/3.6.1", - "hashPath": "discord.net.rest.3.6.1.nupkg.sha512" + "sha512": "sha512-dyp8YaMBNJ837EH1KNz2PNGZqc2y71WFd1+pdldF+pLQJ3Gf/+V7685paAR7bQw7yFNyqEBR/QRBCNp+QIQ7Wg==", + "path": "discord.net.rest/3.7.2", + "hashPath": "discord.net.rest.3.7.2.nupkg.sha512" }, - "Discord.Net.Webhook/3.6.1": { + "Discord.Net.Webhook/3.7.2": { "type": "package", "serviceable": true, - "sha512": "sha512-xikKHIGAIMz0BzHkaTKb48DNpFjKW8mvJjLJSezJ1xQOu+laHNk/hav4qxVtyZz7HSI/vGTkmlq9hKVhWzpaUA==", - "path": "discord.net.webhook/3.6.1", - "hashPath": "discord.net.webhook.3.6.1.nupkg.sha512" + "sha512": "sha512-da3i/mTq2y7mfj3xlHH14S4PivHbflJCVr8OUikJtQrxBOxvPkqP7ZYk3Y9S28q0K8qik+TUjCcjL5gELKrh/A==", + "path": "discord.net.webhook/3.7.2", + "hashPath": "discord.net.webhook.3.7.2.nupkg.sha512" }, - "Discord.Net.WebSocket/3.6.1": { + "Discord.Net.WebSocket/3.7.2": { "type": "package", "serviceable": true, - "sha512": "sha512-hF22Xy7URlVEDQZ69INOgzPvFUsIDfd+r6U+1yF9HWdBn3d4THnvAAhkv1TraSx/T/MKS7g+jvk/HZ3mh5S3aw==", - "path": "discord.net.websocket/3.6.1", - "hashPath": "discord.net.websocket.3.6.1.nupkg.sha512" + "sha512": "sha512-pYCd6ET44ADaNiyEw82TaJnR7TKYHfrKCytWFWMPL5faJhoh260avZn3Hwunlf331lEQ0f4K1CujPkQbNuq7kQ==", + "path": "discord.net.websocket/3.7.2", + "hashPath": "discord.net.websocket.3.7.2.nupkg.sha512" }, "Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": { "type": "package", diff --git a/BUILDS/net6.0/CMD_Utils.dll b/BUILDS/net6.0/CMD_Utils.dll index ca84625a1efb3048bf20116ae99de67a0958a49b..d30bcd71d4779c6e994310616fcdd889ae9a65ab 100644 GIT binary patch delta 2153 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 diff --git a/BUILDS/net6.0/PluginManager.dll b/BUILDS/net6.0/PluginManager.dll index 7680527a240bff24b1aabb289f55256048633298..809d3de8e262e74c50112fbea1b01a0bb99acac0 100644 GIT binary patch literal 61952 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 Q`1yYhWBHdc{HPrGM=!iJn*aa+ literal 61440 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 diff --git a/CMD_Utils/Random.cs b/CMD_Utils/Random.cs index 2cbc564..7a93e0d 100644 --- a/CMD_Utils/Random.cs +++ b/CMD_Utils/Random.cs @@ -24,9 +24,9 @@ public class Random : DBCommand if (a > b) { - var x = a; - a = b; - b = x; + var temp = a; + a = b; + b = temp; } await message.Channel.SendMessageAsync("Your random generated number is " + new System.Random().Next(a, b)); diff --git a/DiscordBot/DiscordBot.csproj b/DiscordBot/DiscordBot.csproj index f83d305..a46dc9d 100644 --- a/DiscordBot/DiscordBot.csproj +++ b/DiscordBot/DiscordBot.csproj @@ -37,7 +37,7 @@ - + diff --git a/PluginManager/Items/Command.cs b/PluginManager/Items/Command.cs index 12c67c3..ea8078b 100644 --- a/PluginManager/Items/Command.cs +++ b/PluginManager/Items/Command.cs @@ -42,4 +42,12 @@ internal class Command /// The prefix that is used for the command /// public char PrefixUsed { get; } +} + +public class ConsoleCommand +{ + public string CommandName { get; set; } + public string Description { get; set; } + public string Usage { get; set; } + public Action Action { get; set; } } \ No newline at end of file diff --git a/PluginManager/Items/ConsoleCommandsHandler.cs b/PluginManager/Items/ConsoleCommandsHandler.cs index 0636030..072161a 100644 --- a/PluginManager/Items/ConsoleCommandsHandler.cs +++ b/PluginManager/Items/ConsoleCommandsHandler.cs @@ -14,10 +14,9 @@ namespace PluginManager.Items; public class ConsoleCommandsHandler { - private static readonly PluginsManager manager = new("https://sethdiscordbot.000webhostapp.com/Storage/Discord%20Bot/Plugins"); - - public static List>> commandList = new(); - private readonly DiscordSocketClient? client; + private static readonly PluginsManager manager = new PluginsManager("https://sethdiscordbot.000webhostapp.com/Storage/Discord%20Bot/Plugins"); + public static List commandList = new List(); + private readonly DiscordSocketClient? client; public ConsoleCommandsHandler(DiscordSocketClient client) { @@ -31,19 +30,33 @@ public class ConsoleCommandsHandler var pluginsLoaded = false; commandList.Clear(); - AddCommand("help", "Show help", args => + AddCommand("help", "Show help", "help ", args => { if (args.Length <= 1) { Console.WriteLine("Available commands:"); - foreach (var command in commandList) Console.WriteLine("\t" + command.Item1 + " - " + command.Item2); + List items = new List(); + items.Add(new [] {"-", "-", "-"}); + items.Add(new [] {"Command", "Description", "Usage"}); + items.Add(new[] {" ", " ", "Argument type: [required]"}); + items.Add(new [] {"-", "-", "-"}); + + foreach (var command in commandList) + { + var pa = from p in command.Action.Method.GetParameters() + where p.Name != null select p.ParameterType.FullName; + items.Add(new[] { command.CommandName, command.Description, command.Usage }); + } + items.Add(new [] {"-", "-", "-"}); + Console_Utilities.FormatAndAlignTable(items); } else { foreach (var command in commandList) - if (command.Item1 == args[1]) + if (command.CommandName == args[1]) { - Console.WriteLine(command.Item2); + Console.WriteLine(command.Description); + Console.WriteLine(command.Usage); return; } @@ -83,7 +96,7 @@ public class ConsoleCommandsHandler AddCommand("listplugs", "list available plugins", async () => { await manager.ListAvailablePlugins(); }); - AddCommand("dwplug", "download plugin", async args => + AddCommand("dwplug", "download plugin", "dwplug [name]", async args => { if (args.Length == 1) { @@ -178,7 +191,7 @@ public class ConsoleCommandsHandler ); - AddCommand("value", "read value from VariableStack", args => + AddCommand("value", "read value from VariableStack", "value [key]",args => { if (args.Length != 2) return; if (!Config.ContainsKey(args[1])) return; @@ -188,7 +201,7 @@ public class ConsoleCommandsHandler } ); - AddCommand("add", "add variable to the system variables\nadd [key] [value] [isReadOnly=true/false]", args => + AddCommand("add", "add variable to the system variables","add [key] [value] [isReadOnly=true/false]", args => { if (args.Length < 4) return; var key = args[1]; @@ -223,7 +236,7 @@ public class ConsoleCommandsHandler } ); - AddCommand("remv", "remove variable from system variables", args => + AddCommand("remv", "remove variable from system variables", "remv [key]", args => { if (args.Length < 2) return; Config.RemoveKey(args[1]); @@ -237,7 +250,7 @@ public class ConsoleCommandsHandler data.Add(new[] { "-", "-" }); data.Add(new[] { "Key", "Value" }); data.Add(new[] { "-", "-" }); - foreach (var kvp in d) data.Add(new string[] { kvp.Key, kvp.Value.ToString()! }); + foreach (var kvp in d) data.Add(new[] { kvp.Key, kvp.Value.ToString()! }); data.Add(new[] { "-", "-" }); Console_Utilities.FormatAndAlignTable(data); } @@ -252,23 +265,31 @@ public class ConsoleCommandsHandler Environment.Exit(0); } ); + //Sort the commands by name + commandList.Sort((x, y) => x.CommandName.CompareTo(y.CommandName)); } - public static void AddCommand(string command, string description, Action action) + public static void AddCommand(string command, string description, string usage, Action action) { - commandList.Add(new Tuple>(command, description, action)); + commandList.Add(new ConsoleCommand + { + CommandName = command, + Description = description, + Action = action, + Usage = usage + }); Console.ForegroundColor = ConsoleColor.White; Console_Utilities.WriteColorText($"Command &r{command} &cadded to the list of commands"); } public static void AddCommand(string command, string description, Action action) { - AddCommand(command, description, args => action()); + AddCommand(command, description, command, args => action()); } public static void RemoveCommand(string command) { - commandList.RemoveAll(x => x.Item1 == command); + commandList.RemoveAll(x => x.CommandName == command); } public static bool CommandExists(string command) @@ -276,17 +297,17 @@ public class ConsoleCommandsHandler return !(GetCommand(command) is null); } - public static Tuple>? GetCommand(string command) + public static ConsoleCommand? GetCommand(string command) { - return commandList.FirstOrDefault(t => t.Item1 == command); + return commandList.FirstOrDefault(t => t.CommandName == command); } public void HandleCommand(string command) { var args = command.Split(' '); foreach (var item in commandList.ToList()) - if (item.Item1 == args[0]) - item.Item3(args); - //Console.WriteLine($"Executing: {args[0]} with the following parameters: {args.MergeStrings(1)}"); + if (item.CommandName == args[0]) + item.Action(args); + //Console.WriteLine($"Executing: {args[0]} with the following parameters: {args.MergeStrings(1)}"); } } diff --git a/PluginManager/Others/Functions.cs b/PluginManager/Others/Functions.cs index 0f3c5fc..c1df251 100644 --- a/PluginManager/Others/Functions.cs +++ b/PluginManager/Others/Functions.cs @@ -260,6 +260,35 @@ namespace PluginManager.Others return (obj ?? default)!; } + /// + /// Check if all words from are in
+ /// This function returns true if
+ /// 1. The is part of
+ /// 2. The words (split by a space) of are located (separately) in
+ /// + /// The following example will return
+ /// STRContains("Hello World !", "I type word Hello and then i typed word World !")
+ /// The following example will return
+ /// STRContains("Hello World !", "I typed Hello World !"
+ /// The following example will return
+ /// STRContains("Hello World", "I type World then Hello")
+ /// The following example will return
+ /// STRContains("Hello World !", "I typed Hello World")
+ ///
+ ///
+ /// The string you are checking + /// The main string that should contain + /// + public static bool STRContains(this string str, string baseString) + { + if (baseString.Contains(str)) return true; + string[] array = str.Split(' '); + foreach (var s in array) + if (!baseString.Contains(s)) + return false; + return true; + } + public static bool TryReadValueFromJson(string input, string codeName, out JsonElement element) { Stream text; diff --git a/PluginManager/PluginManager.csproj b/PluginManager/PluginManager.csproj index 7eafd1b..94853b4 100644 --- a/PluginManager/PluginManager.csproj +++ b/PluginManager/PluginManager.csproj @@ -16,7 +16,7 @@
- +