From 1ddd35e5a469014f1df394eac0becbc17c09924c Mon Sep 17 00:00:00 2001 From: Stone-Red-Code <56473591+Stone-Red-Code@users.noreply.github.com> Date: Tue, 13 Apr 2021 10:18:10 +0200 Subject: [PATCH] Added DM support - Added DM support - Improved Token input - Put the Commands class in its own file --- .vs/DiscordCLI/v16/.suo | Bin 45568 -> 49664 bytes DiscordCLI/Commands.cs | 175 ++++++++++++++++++ DiscordCLI/CommandsManager.cs | 150 ++------------- DiscordCLI/InputManager.cs | 15 +- DiscordCLI/OutputManager.cs | 78 ++++---- DiscordCLI/Program.cs | 8 +- DiscordCLI/bin/Debug/net5.0/DiscordCLI.dll | Bin 22528 -> 25600 bytes DiscordCLI/bin/Debug/net5.0/DiscordCLI.pdb | Bin 14536 -> 15436 bytes .../bin/Debug/net5.0/ref/DiscordCLI.dll | Bin 8192 -> 8192 bytes .../DiscordCLI.csproj.CoreCompileInputs.cache | 2 +- .../DiscordCLI.csprojAssemblyReference.cache | Bin 424 -> 424 bytes DiscordCLI/obj/Debug/net5.0/DiscordCLI.dll | Bin 22528 -> 25600 bytes DiscordCLI/obj/Debug/net5.0/DiscordCLI.pdb | Bin 14536 -> 15436 bytes .../obj/Debug/net5.0/ref/DiscordCLI.dll | Bin 8192 -> 8192 bytes 14 files changed, 250 insertions(+), 178 deletions(-) create mode 100644 DiscordCLI/Commands.cs diff --git a/.vs/DiscordCLI/v16/.suo b/.vs/DiscordCLI/v16/.suo index 0732f4b5ac651660bf6fa896fc84a776857fa2f1..a8eccf129607d53c11a0126f7d7d72ff8c9cbb8c 100644 GIT binary patch delta 4947 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 KlMnuT!R~J{tWG5W delta 2496 zcmd6pZA_b06vvK#p=ENRWLG7v@ z<3|wR2*DTHW8iN8j=0VD78Y9+1QO7J2oMl2m@r-mj6e&*z$y?8xUPY2sn_+_MAMtv znzaQG7J{ch&;aj?F}HwiU>6jk$QBx{;p*j!>Kz`jS#P*=rGUGih+X%)Z(Z(w&^V9g zE+*X6YK&KaP{7w?U^-G0k69c>sWIUgsX+qJfHi>Y>FE_q3XQ1MY&)G+=P~=DOX|=q z*iZyYxFND=v1Z>6eIjEg$$NCS96&2Fq8$r{Eg+415m00N25nfNFGRQb(HmYpOi@ zVyzV-m{_3xB=ae!USvLMH}tR%X%63$)Nb5Pg;`dbjd6$6W9w}lxnieu>43cZ~w1&$5&rr+F%9nfN54QlUZ+m@GO**-6U)LnV?S7ou#lf{;-w# zgl(dZ@oGx}!R(xJCNg%3+EcD+dC3LEiqqW3Jc)&Wp)f6RfB&fTc(2H;G@tf~#H%%J zxxv|Wm5dA)wV4;;(}2H-U7!l^GN}&qd(o34J<-604VXL!8o6*}eT^sAE+t~j56qIU zx$rfkn2J>v#hFnqO8k)XV-nm!vzcX7sIrnXtIs3*BpGY`_6e@DewvfZBtGTU6A-7d zcrs3wc-~WMxr8^&Wly$`eBm<9W>4$)t8Hnm zyN%x`UU3>hnd#Q4XzJC=^mUJ(X1aaG5TPKwqB2*;r^{NK(NI6$d{On^#JrmYf|w8= z)@^0X{UbA)11aa74MZtPgA**4{~|B8OfNr(sla}j*>h#Zd(g({*1$e0bEi@F&^u&1 zw}97jbEtq`K3NgMkEY#6SG(7e>u{3tt$X5Mct|H1-6P7;;Y3mKdfbejf1{i)BNv*K+^|v$a^}ClB=Ux z7_l?&ll4FhIR;F0-eXiYon!3JB0Hq)8Lochp0vKzsC<9n1f#{l0g)Y}pU3v&==@5@ el9I>W diff --git a/DiscordCLI/Commands.cs b/DiscordCLI/Commands.cs new file mode 100644 index 0000000..d28e34c --- /dev/null +++ b/DiscordCLI/Commands.cs @@ -0,0 +1,175 @@ +using DSharpPlus.Entities; +using DSharpPlus; +using Stone_Red_Utilities.ColorConsole; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System; + +namespace DiscordCLI +{ + internal class Commands + { + private readonly DiscordClient client; + + private readonly OutputManager outputManager; + + public Commands(DiscordClient dicordClient, OutputManager outputMan) + { + client = dicordClient; + outputManager = outputMan; + } + + protected void ListGuilds(string args) + { + int index = 1; + foreach (DiscordGuild guild in client.Guilds.Values) + { + Console.WriteLine($"{index}. {guild.Name}"); + index++; + } + } + + protected void ListDms(string args) + { + int index = 1; + foreach (DiscordDmChannel dmChannel in client.PrivateChannels) + { + Console.WriteLine($"{index}. {string.Join(", ", dmChannel.Recipients.Select(x => x.Username))}"); + index++; + } + } + + protected void ListGuildChannels(string args) + { + IReadOnlyCollection textChannels; + DiscordGuild guild; + + if (args != null) + { + if (int.TryParse(args, out int ind)) + { + guild = client.Guilds?.Values.ElementAtOrDefault(ind - 1); + } + else + { + guild = client.Guilds?.FirstOrDefault(x => x.Value.Name == args).Value; + } + GlobalInformation.currentTextChannel = null; + } + else + { + guild = GlobalInformation.currentGuild; + } + + if (guild is null) + { + ConsoleExt.WriteLine("Guild not found!", ConsoleColor.Red); + GlobalInformation.currentTextChannel = null; + return; + } + + GlobalInformation.currentGuild = guild; + textChannels = guild.Channels; + + int index = 1; + foreach (DiscordChannel channel in textChannels) + { + switch (channel.Type) + { + case ChannelType.Category: + //Console.WriteLine($"[{channel.Name}]"); + break; + + case ChannelType.Text: + Console.WriteLine($" {index}. {channel.Name}"); + index++; + break; + } + } + } + + protected async void EnterChannel(string args) + { + DiscordChannel textChannel; + + if (GlobalInformation.currentGuild is null) + { + ConsoleExt.WriteLine("You are not in a guild!", ConsoleColor.Red); + return; + } + + if (int.TryParse(args, out int ind)) + { + textChannel = GlobalInformation.currentGuild?.Channels.Where(x => x.Type == ChannelType.Text).ElementAtOrDefault(ind - 1); + } + else + { + textChannel = GlobalInformation.currentGuild?.Channels.Where(x => x.Type == ChannelType.Text).FirstOrDefault(x => x.Name == args); + } + + GlobalInformation.currentTextChannel = textChannel; + + if (textChannel is null) + { + ConsoleExt.WriteLine("Channel not found!", ConsoleColor.Red); + return; + } + + foreach (DiscordMessage message in (await textChannel.GetMessagesAsync(10)).Reverse()) + { + try + { + await outputManager.WriteMessage(message, textChannel, GlobalInformation.currentGuild); + } + catch (Exception ex) + { + Debug.WriteLine(ex); + } + } + } + + protected async void EnterDmChannel(string args) + { + DiscordDmChannel dmChannel; + + GlobalInformation.currentGuild = null; + + if (int.TryParse(args, out int ind)) + { + dmChannel = client.PrivateChannels.ElementAtOrDefault(ind - 1); + } + else + { + dmChannel = client.PrivateChannels.FirstOrDefault(x => x.Name == args); + } + + GlobalInformation.currentTextChannel = dmChannel; + + if (dmChannel is null) + { + ConsoleExt.WriteLine("Channel not found!", ConsoleColor.Red); + return; + } + + foreach (DiscordMessage message in (await dmChannel.GetMessagesAsync(10)).Reverse()) + { + try + { + await outputManager.WriteMessage(message, dmChannel, GlobalInformation.currentGuild); + } + catch (Exception ex) + { + Debug.WriteLine(ex); + } + } + } + + protected void DeleteToken(string args) + { + File.Delete(Program.tokenPath); + Environment.Exit(0); + } + } +} \ No newline at end of file diff --git a/DiscordCLI/CommandsManager.cs b/DiscordCLI/CommandsManager.cs index b852231..4a7a454 100644 --- a/DiscordCLI/CommandsManager.cs +++ b/DiscordCLI/CommandsManager.cs @@ -1,9 +1,6 @@ -using DSharpPlus.Entities; -using DSharpPlus; +using DSharpPlus; using Stone_Red_Utilities.ColorConsole; using System.Collections.Generic; -using System.Diagnostics; -using System.IO; using System.Linq; using System; @@ -24,13 +21,19 @@ namespace DiscordCLI { "exit", ("exits application", null) }, { "logout", ("deletes auth token and exits application", DeleteToken) }, { "guilds", ("lists all guilds you are in", ListGuilds) }, - { "dms", ("lists all private channels (Not implemented yet)", ListDms) }, + { "dms", ("lists all private channels", ListDms) }, { "channels", ("lists all channels of guild args:", ListGuildChannels) }, { "enterg", ("enter guild args:", ListGuildChannels) }, - { "enterc", ("enter chat args:", EnterChannel) }, + { "enterc", ("enter channel args:", EnterChannel) }, + { "enterd", ("enter DM channel args:", EnterDmChannel) }, }; } + /// + /// Check the command and return true if the program should exit + /// + /// + /// public bool CheckCommand(string input) { input = input.Trim().ToLower().Replace('\n', '\0'); @@ -38,13 +41,12 @@ namespace DiscordCLI if (string.IsNullOrWhiteSpace(input)) return false; - if (input.StartsWith('<')) + if (input.StartsWith(InputManager.prefix)) { input = input.Remove(0, 1); } else if (GlobalInformation.currentTextChannel != null) { - Console.CursorTop--; Console.Write("\r" + new string(' ', Console.WindowWidth)); GlobalInformation.currentTextChannel.SendMessageAsync(input); return false; @@ -58,8 +60,11 @@ namespace DiscordCLI string args = input.Contains(" ") ? input[input.IndexOf(" ")..].Trim() : null; input = input.Contains(" ") ? input.Substring(0, input.IndexOf(" ")) : input; - if (input == "help") + if (input == "help" || input == "?") { + Console.WriteLine($"Prefix: '{InputManager.prefix}' (Only required in text channels)"); + Console.WriteLine(); + for (int i = 0; i < CommandsList.Count; i++) { Console.Write($"{i + 1}. {CommandsList.Keys.ElementAt(i)}".PadRight(15)); @@ -77,131 +82,4 @@ namespace DiscordCLI return false; } } - - internal class Commands - { - private IReadOnlyDictionary socketGuildsCache; - - private readonly DiscordClient client; - - private readonly OutputManager outputManager; - - public Commands(DiscordClient dicordClient, OutputManager outputMan) - { - client = dicordClient; - outputManager = outputMan; - } - - protected void ListGuilds(string args) - { - socketGuildsCache ??= client.Guilds; - - int index = 1; - foreach (DiscordGuild guild in socketGuildsCache.Values) - { - Console.WriteLine($"{index}. {guild.Name}"); - index++; - } - } - - protected void ListDms(string args) - { - throw new NotImplementedException(); - } - - protected void ListGuildChannels(string args) - { - IReadOnlyCollection textChannels; - DiscordGuild guild; - - if (args != null) - { - if (int.TryParse(args, out int ind)) - { - guild = socketGuildsCache?.Values.ElementAtOrDefault(ind - 1); - } - else - { - guild = socketGuildsCache?.FirstOrDefault(x => x.Value.Name == args).Value; - } - GlobalInformation.currentTextChannel = null; - } - else - { - guild = GlobalInformation.currentGuild; - } - - if (guild is null) - { - ConsoleExt.WriteLine("Guild not found!", ConsoleColor.Red); - GlobalInformation.currentTextChannel = null; - return; - } - - GlobalInformation.currentGuild = guild; - textChannels = guild.Channels; - - int index = 1; - foreach (DiscordChannel channel in textChannels) - { - switch (channel.Type) - { - case ChannelType.Category: - //Console.WriteLine($"[{channel.Name}]"); - break; - - case ChannelType.Text: - Console.WriteLine($" {index}. {channel.Name}"); - index++; - break; - } - } - } - - protected async void EnterChannel(string args) - { - DiscordChannel textChannel; - - if (GlobalInformation.currentGuild is null) - { - ConsoleExt.WriteLine("You are not in a guild!", ConsoleColor.Red); - return; - } - - if (int.TryParse(args, out int ind)) - { - textChannel = GlobalInformation.currentGuild?.Channels.Where(x => x.Type == ChannelType.Text).ElementAtOrDefault(ind - 1); - } - else - { - textChannel = GlobalInformation.currentGuild?.Channels.Where(x => x.Type == ChannelType.Text).FirstOrDefault(x => x.Name == args); - } - - GlobalInformation.currentTextChannel = textChannel; - - if (textChannel is null) - { - ConsoleExt.WriteLine("Channel not found!", ConsoleColor.Red); - return; - } - - foreach (DiscordMessage message in (await textChannel.GetMessagesAsync(10)).Reverse()) - { - try - { - await outputManager.WriteMessage(message, textChannel, GlobalInformation.currentGuild); - } - catch (Exception ex) - { - Debug.WriteLine(ex); - } - } - } - - protected void DeleteToken(string args) - { - File.Delete(Program.tokenPath); - Environment.Exit(0); - } - } } \ No newline at end of file diff --git a/DiscordCLI/InputManager.cs b/DiscordCLI/InputManager.cs index 7f35986..d7e0231 100644 --- a/DiscordCLI/InputManager.cs +++ b/DiscordCLI/InputManager.cs @@ -1,6 +1,8 @@ using DSharpPlus; using System.Threading.Tasks; using System; +using DSharpPlus.Entities; +using System.Linq; namespace DiscordCLI { @@ -8,7 +10,8 @@ namespace DiscordCLI { private readonly CommandsManager commandsManager; private readonly DiscordClient client; - public string Input { get; private set; } = "<"; + public const string prefix = ">"; + public string Input { get; private set; } = prefix; public InputManager(DiscordClient dicordClient, CommandsManager commandsMan) { @@ -23,8 +26,9 @@ namespace DiscordCLI bool exit = false; while (!exit) { - string infoString = $"\r[{client.CurrentUser.Username}#{client.CurrentUser.Discriminator}] [{GlobalInformation.currentGuild?.Name}/{GlobalInformation.currentTextChannel?.Name}] ==> "; - if (Input.StartsWith('<')) + DiscordDmChannel dmChannel = GlobalInformation.currentTextChannel as DiscordDmChannel; + string infoString = $"\r[{client.CurrentUser.Username}#{client.CurrentUser.Discriminator}] [{(dmChannel is null ? GlobalInformation.currentGuild?.Name : "DMs")}/{(dmChannel is null ? GlobalInformation.currentTextChannel?.Name : string.Join(", ", dmChannel.Recipients.Select(x => x.Username)))}] ==> "; + if (Input.StartsWith(prefix)) Console.Write(Environment.NewLine + infoString); Input = string.Empty; @@ -48,12 +52,11 @@ namespace DiscordCLI Console.CursorLeft = infoString.Length + Input.Length - 1; } while (keyInfo.Key != ConsoleKey.Enter); - if (GlobalInformation.currentTextChannel == null && !Input.StartsWith('<')) - Input = "<" + Input; + if (GlobalInformation.currentTextChannel == null && !Input.StartsWith(prefix)) + Input = prefix + Input; exit = commandsManager.CheckCommand(Input); } - Environment.Exit(0); }); } } diff --git a/DiscordCLI/OutputManager.cs b/DiscordCLI/OutputManager.cs index 2e295a8..2abd886 100644 --- a/DiscordCLI/OutputManager.cs +++ b/DiscordCLI/OutputManager.cs @@ -29,12 +29,19 @@ namespace DiscordCLI return; DiscordUser user = message.Author; - DiscordMember discordMember = await guild.GetMemberAsync(user.Id); - DiscordColor discordColor = discordMember.Color; - Color color = Color.FromArgb(discordColor.R, discordColor.G, discordColor.B); + if (GlobalInformation.currentGuild is not null) + { + DiscordMember discordMember = await guild.GetMemberAsync(user.Id); + DiscordColor discordColor = discordMember.Color; + Color color = Color.FromArgb(discordColor.R, discordColor.G, discordColor.B); - WriteTop($"[{discordMember.DisplayName}]", color, message, true, true, $"{discordMember.Username}#{discordMember.Discriminator} {message.Timestamp.LocalDateTime}"); + WriteTop($"[{discordMember.DisplayName}]", color, message, true, true, $"{discordMember.Username}#{discordMember.Discriminator} {message.Timestamp.LocalDateTime}"); + } + else + { + WriteTop($"[{user.Username}]", Color.White, message, true, true, $"{user.Username}#{user.Discriminator} {message.Timestamp.LocalDateTime}"); + } if (!string.IsNullOrWhiteSpace(message.Content)) WriteTop(message.Content, Color.White, message); @@ -57,12 +64,13 @@ namespace DiscordCLI WriteTop(">>> ", Color.FromArgb(embed.Color.Value), message, true, false); WriteTop($"{embed.Description}", Color.White, message, false); } - foreach (DiscordEmbedField field in embed.Fields) - { - WriteTop(">>> ", Color.FromArgb(embed.Color.Value), message, true, false); - WriteTop($"{field.Name}{Environment.NewLine}{field.Value}", Color.White, message, false); - } - //WriteTop($"{string.Join(Environment.NewLine, embed.Fields.Select(x => $"> {x.Name}{Environment.NewLine}{x.Value}"))}", Color.White, message); + + if (embed.Fields is not null) + foreach (DiscordEmbedField field in embed.Fields) + { + WriteTop(">>> ", Color.FromArgb(embed.Color.Value), message, true, false); + WriteTop($"{field.Name}{Environment.NewLine}{field.Value}", Color.White, message, false); + } } } catch (Exception ex) @@ -71,7 +79,9 @@ namespace DiscordCLI } WriteTop(string.Empty, Color.White, message); - Console.Write($"[{client.CurrentUser.Username}#{client.CurrentUser.Discriminator}] [{GlobalInformation.currentGuild?.Name}/{GlobalInformation.currentTextChannel?.Name}] ==> "); + DiscordDmChannel dmChannel = GlobalInformation.currentTextChannel as DiscordDmChannel; + string infoString = $"\r[{client.CurrentUser.Username}#{client.CurrentUser.Discriminator}] [{(dmChannel is null ? GlobalInformation.currentGuild?.Name : "DMs")}/{(dmChannel is null ? GlobalInformation.currentTextChannel?.Name : string.Join(", ", dmChannel.Recipients.Select(x => x.Username)))}] ==> "; + Console.Write(infoString); Console.Write(InputManager.Input); } @@ -112,26 +122,28 @@ namespace DiscordCLI } } - foreach (DiscordChannel channel in discordMessage.MentionedChannels) - { - if (channel?.Mention is not null) - if (words[i].Contains(channel.Mention)) - { - words[i] = words[i].Replace(channel.Mention, $"#{channel.Name}"); - mentionColor = ConsoleColor.Blue; - } - } + if (!discordMessage.Channel.IsPrivate) + foreach (DiscordChannel channel in discordMessage.MentionedChannels) + { + if (channel?.Mention is not null) + if (words[i].Contains(channel.Mention)) + { + words[i] = words[i].Replace(channel.Mention, $"#{channel.Name}"); + mentionColor = ConsoleColor.Blue; + } + } - foreach (DiscordRole role in discordMessage.MentionedRoles) - { - if (role?.Mention is not null) - if (words[i].Contains(role.Mention)) - { - words[i] = words[i].Replace(role.Mention, $"@{role.Name}"); - DiscordColor discordColor = role.Color; - mentionColor = ClosestConsoleColor(Color.FromArgb(discordColor.R, discordColor.G, discordColor.B)); - } - } + if (!discordMessage.Channel.IsPrivate) + foreach (DiscordRole role in discordMessage.MentionedRoles) + { + if (role?.Mention is not null) + if (words[i].Contains(role.Mention)) + { + words[i] = words[i].Replace(role.Mention, $"@{role.Name}"); + DiscordColor discordColor = role.Color; + mentionColor = ClosestConsoleColor(Color.FromArgb(discordColor.R, discordColor.G, discordColor.B)); + } + } ConsoleExt.Write(words[i] + " ", mentionColor == ConsoleColor.Black ? consoleColor : mentionColor); } @@ -150,7 +162,7 @@ namespace DiscordCLI private ConsoleColor ClosestConsoleColor(Color targetColor) { double minDif = double.MaxValue; - ConsoleColor bestColor = ConsoleColor.White; + ConsoleColor closestColor = ConsoleColor.White; foreach (ConsoleColor consoleColor in Enum.GetValues(typeof(ConsoleColor))) { @@ -174,10 +186,10 @@ namespace DiscordCLI if (diff < minDif) { minDif = diff; - bestColor = consoleColor; + closestColor = consoleColor; } } - return bestColor; + return closestColor; } } } \ No newline at end of file diff --git a/DiscordCLI/Program.cs b/DiscordCLI/Program.cs index d5ad61d..f949828 100644 --- a/DiscordCLI/Program.cs +++ b/DiscordCLI/Program.cs @@ -8,8 +8,7 @@ namespace DiscordCLI { internal class Program { - public static void Main(string[] args) - => new Program().MainAsync().GetAwaiter().GetResult(); + public static void Main() => new Program().MainAsync().GetAwaiter().GetResult(); private DiscordClient client; private InputManager inputManager; @@ -27,6 +26,7 @@ namespace DiscordCLI if (File.Exists(tokenPath)) token = File.ReadAllText(tokenPath); + tokenInput: while (string.IsNullOrEmpty(token)) { Console.Write("Enter auth token: "); @@ -52,7 +52,11 @@ namespace DiscordCLI ConsoleExt.WriteLine(ex, ConsoleColor.Red); if (ex.Message.Contains("Authentication failed")) + { File.Delete(tokenPath); + token = string.Empty; + goto tokenInput; + } return; } diff --git a/DiscordCLI/bin/Debug/net5.0/DiscordCLI.dll b/DiscordCLI/bin/Debug/net5.0/DiscordCLI.dll index 62a0245fb9b36fcaa4fcfa717a98b6a37c6d978d..f56029a38ef9754f07d0762848258b5242f4bbc5 100644 GIT binary patch literal 25600 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 diff --git a/DiscordCLI/bin/Debug/net5.0/DiscordCLI.pdb b/DiscordCLI/bin/Debug/net5.0/DiscordCLI.pdb index 7ebf9ad681ac4b615bda49f92f4817cb7b676bd0..df0a2bf237bb9407bdfda01f4bfed7c13cda2c7c 100644 GIT binary patch delta 3907 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 diff --git a/DiscordCLI/bin/Debug/net5.0/ref/DiscordCLI.dll b/DiscordCLI/bin/Debug/net5.0/ref/DiscordCLI.dll index 59d223b7bbb0d84262de90f8b82af058f08c3a7d..b1434cbb30bce2c04c0ef95d062a1bf85f2a9b65 100644 GIT binary patch delta 2739 zcma)8eP~r>82`QJ%e%Yn?0)Rd=}hl7(WN=GoNeaEwN0E_xusiMB6Dp^hi>Y&Kry^G zvoMr$T!{=cBaE=1Y=}q-h7lt|tSFU)P(vg%Df%M~q~H6Td-fqw9e954^LxJD_niBj z=bls|mDso2TI4pK?B6@VxL)6Xw9(yP53B&MwLrVwUmVRz0XgJb>6nl%HXcehs};u0 z@W4^kXoUW_^wYIlvkxpjRdM~|JJG?92Ex{DH6DWu)>kdXfQ?lNU~(8xEbwT$&MBMU z6aY$h0AFzZ)26<%ucxznU9ZkM#UQ;&z6HJrpB}Cw3P>oXL9hnXE&Ca4sy*9 zy>A;DpD{v7E`35S30_dzamYSz2Jxw#wjI2s&NJ;-rHf`6r->hk-VPn}p%t}*=ryB^ zTrc(#OGhqbWDo(R?cL^c#46f@sGuc?dG=Hu47iS@UX)r*Wd#)CR2;h}YWia5H$uKO&t=5C4Hg}MZ98?P3g zu=et{k{;cK^Hzxc?Xx|0i0_WiwvpLGtltc=l<(U~HfD(3A`4`gw?&rEP^R`H+h>7u z_5r?2b;+UA9MsffxM&}N>$5EGdMX^@a4~R=<5KZG z`BzMe+eV+`z0e z)DIE0ZmM2lsbE5|TChzprP}bdN+})rvRDoazNeBp?TnDKg4YCLwBe3|A*Br|EtsHv znvoEDwOHB&2rL>Gju^|gXFe=JA-Q!m?Ju}^kd=U^l`{Y@HkIbalAVm4-S z&}QRd6w_KsJr{GS=OIBo506t1^OIl_aT)apo}wN>9rY+yQIDdLx|P!1G4i@i!X_HJ ziqWj({nrOzM`f365;fVQskPqpsJ;1cFRo6ThP|h zQq$SHd1LFg>W!_vy%l1lcg|>U`etrUTDgV6IW4o8#emB6c(*)fad%%wPxboN?(U9_ z=|ygtQPY*~bcqul>VmEISP zCz}JGENn@JzYoqe79i4xP3)Zxbh8=zu$5vukq%0O;kaDl0VfuD(umZ%8KuE6oPghPm{&MNs{BKI<05cTIGIv@1#M1KWODX+W-In delta 2303 zcmaJ@Yitx%6#nkqndx@heRSw}G$1G|Vy z8{ZmdiO*_mGR}G=4{GwZ#slK43}da;ZP{3EP0+heC_E-q>aUs9#;DeNFu};QJW0zO zZMh&-j5IcyVSEK;e?ZnS&u_Gcag&xXel)*PYl0&R_#mFT_c$E0$o2^RWO3{!>!L1^ z7jYD2z^Zj*TKgmdwzR}lYvb6VBPBJ-c`9=kJ1|4D7R@ZwL#E<5rJ0R{r=7brtwvI_ z{hCEEQ?pf?#n~X0R5h=QaV?r{(rhMLX}O3V;(&YvtMl#hF)sT*W*Haa5I0ehe@{^6 z6KxEMEYY*fXDXq>T32ycW{$eB)=#q}#AaGHvW$&uEU98fr^N_s+cZn9+^!?HA=Ary z#-7HU`4U$s;{_DIAkXE#)oGU4Zj768P7Zv#G2e=#s=`{yLKU`5#@U#1lk!?-S7L#2S+N6cwFt3bh_jqZT?Bl0>kGdIa6nqv)j`#iP_?SVld@6D$QYuR40` zRU}a#tn!t@EFGYVazm7^ZXFV$Mcq!AQbVbQW3iykLRBolk0>vHajdbmYj7|<*op3k zhX)6jj*M*^9U5OUIy5#G7?sx_k9GK;#ZvyISd&N>Z^jN8#iLF_6wl9CB$7ed>ECsK zcESy3Lmw|5^yZN+YG2 z@_dzR2xo!QXu86PN*B?RA!NF6HYljKTp>!hAnZzKgR{lycZS#qF)J$D5jET4|Cu=F z|C*dD(tcCJxbsu#Cx^O!BSYvdq>{#sKL1ohrs$gAiDIWv+T=jSZ~!0u1JM8g delta 14 VcmZ3%yn=ayKO@sJ<;j7J;Q%8}1YQ6D diff --git a/DiscordCLI/obj/Debug/net5.0/DiscordCLI.dll b/DiscordCLI/obj/Debug/net5.0/DiscordCLI.dll index 62a0245fb9b36fcaa4fcfa717a98b6a37c6d978d..f56029a38ef9754f07d0762848258b5242f4bbc5 100644 GIT binary patch literal 25600 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 diff --git a/DiscordCLI/obj/Debug/net5.0/DiscordCLI.pdb b/DiscordCLI/obj/Debug/net5.0/DiscordCLI.pdb index 7ebf9ad681ac4b615bda49f92f4817cb7b676bd0..df0a2bf237bb9407bdfda01f4bfed7c13cda2c7c 100644 GIT binary patch delta 3907 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 diff --git a/DiscordCLI/obj/Debug/net5.0/ref/DiscordCLI.dll b/DiscordCLI/obj/Debug/net5.0/ref/DiscordCLI.dll index 59d223b7bbb0d84262de90f8b82af058f08c3a7d..b1434cbb30bce2c04c0ef95d062a1bf85f2a9b65 100644 GIT binary patch delta 2739 zcma)8eP~r>82`QJ%e%Yn?0)Rd=}hl7(WN=GoNeaEwN0E_xusiMB6Dp^hi>Y&Kry^G zvoMr$T!{=cBaE=1Y=}q-h7lt|tSFU)P(vg%Df%M~q~H6Td-fqw9e954^LxJD_niBj z=bls|mDso2TI4pK?B6@VxL)6Xw9(yP53B&MwLrVwUmVRz0XgJb>6nl%HXcehs};u0 z@W4^kXoUW_^wYIlvkxpjRdM~|JJG?92Ex{DH6DWu)>kdXfQ?lNU~(8xEbwT$&MBMU z6aY$h0AFzZ)26<%ucxznU9ZkM#UQ;&z6HJrpB}Cw3P>oXL9hnXE&Ca4sy*9 zy>A;DpD{v7E`35S30_dzamYSz2Jxw#wjI2s&NJ;-rHf`6r->hk-VPn}p%t}*=ryB^ zTrc(#OGhqbWDo(R?cL^c#46f@sGuc?dG=Hu47iS@UX)r*Wd#)CR2;h}YWia5H$uKO&t=5C4Hg}MZ98?P3g zu=et{k{;cK^Hzxc?Xx|0i0_WiwvpLGtltc=l<(U~HfD(3A`4`gw?&rEP^R`H+h>7u z_5r?2b;+UA9MsffxM&}N>$5EGdMX^@a4~R=<5KZG z`BzMe+eV+`z0e z)DIE0ZmM2lsbE5|TChzprP}bdN+})rvRDoazNeBp?TnDKg4YCLwBe3|A*Br|EtsHv znvoEDwOHB&2rL>Gju^|gXFe=JA-Q!m?Ju}^kd=U^l`{Y@HkIbalAVm4-S z&}QRd6w_KsJr{GS=OIBo506t1^OIl_aT)apo}wN>9rY+yQIDdLx|P!1G4i@i!X_HJ ziqWj({nrOzM`f365;fVQskPqpsJ;1cFRo6ThP|h zQq$SHd1LFg>W!_vy%l1lcg|>U`etrUTDgV6IW4o8#emB6c(*)fad%%wPxboN?(U9_ z=|ygtQPY*~bcqul>VmEISP zCz}JGENn@JzYoqe79i4xP3)Zxbh8=zu$5vukq%0O;kaDl0VfuD(umZ%8KuE6oPghPm{&MNs{BKI<05cTIGIv@1#M1KWODX+W-In delta 2303 zcmaJ@Yitx%6#nkqndx@heRSw}G$1G|Vy z8{ZmdiO*_mGR}G=4{GwZ#slK43}da;ZP{3EP0+heC_E-q>aUs9#;DeNFu};QJW0zO zZMh&-j5IcyVSEK;e?ZnS&u_Gcag&xXel)*PYl0&R_#mFT_c$E0$o2^RWO3{!>!L1^ z7jYD2z^Zj*TKgmdwzR}lYvb6VBPBJ-c`9=kJ1|4D7R@ZwL#E<5rJ0R{r=7brtwvI_ z{hCEEQ?pf?#n~X0R5h=QaV?r{(rhMLX}O3V;(&YvtMl#hF)sT*W*Haa5I0ehe@{^6 z6KxEMEYY*fXDXq>T32ycW{$eB)=#q}#AaGHvW$&uEU98fr^N_s+cZn9+^!?HA=Ary z#-7HU`4U$s;{_DIAkXE#)oGU4Zj768P7Zv#G2e=#s=`{yLKU`5#@U#1lk!?-S7L#2S+N6cwFt3bh_jqZT?Bl0>kGdIa6nqv)j`#iP_?SVld@6D$QYuR40` zRU}a#tn!t@EFGYVazm7^ZXFV$Mcq!AQbVbQW3iykLRBolk0>vHajdbmYj7|<*op3k zhX)6jj*M*^9U5OUIy5#G7?sx_k9GK;#ZvyISd&N>Z^jN8#iLF_6wl9CB$7ed>ECsK zcESy3Lmw|5^yZN+YG2 z@_dzR2xo!QXu86PN*B?RA!NF6HYljKTp>!hAnZzKgR{lycZS#qF)J$D5jET4|Cu=F z|C*dD(tcCJxbsu#Cx^O!BSYvdq>{#sKL1ohrs$gAiDI