From 5b87516befe2e4fd0d2f4b372747836d2abf0c8c Mon Sep 17 00:00:00 2001 From: Kobert-P Date: Thu, 7 Jun 2018 11:21:55 +0200 Subject: Multiline help description --- DiscoBot/Commands/Gm.cs | 18 +++++++++++++++--- DiscoBot/Commands/Help.cs | 20 ++++++++++++++++---- 2 files changed, 31 insertions(+), 7 deletions(-) (limited to 'DiscoBot/Commands') diff --git a/DiscoBot/Commands/Gm.cs b/DiscoBot/Commands/Gm.cs index 57e985b..b0d9def 100644 --- a/DiscoBot/Commands/Gm.cs +++ b/DiscoBot/Commands/Gm.cs @@ -17,7 +17,15 @@ { string res; string name; - if ((givenName[0].ToLower().Equals("bin") || givenName[0].ToLower().Equals("am")) && givenName.Length > 1) + + if (givenName.Length == 0) + { + res = " \nDu bist " + Dsa.Relation[this.Context.User.Username] + "!\n \n"; + + return this.ReplyAsync("```xl\n" + res + "\n```"); + } + + if (givenName.Length > 1 && (givenName[0].ToLower().Equals("bin") || givenName[0].ToLower().Equals("am")) ) { name = givenName.Skip(1).Aggregate((s, c) => s + c); // (Skip(1)) don't use the first element; Aggregate: take source s and do operation s = s+c for all elements } @@ -28,8 +36,12 @@ var character = Dsa.Chars.OrderBy(x => SpellCorrect.CompareEasy(name, x.Name)).First(); // usage of compareEasy - Dsa.Relation[this.Context.User.Username] = character.Name; - res = " \nWillkommen " + character.Name + "!\n \n"; + + + + Dsa.Relation[this.Context.User.Username] = character.Name; + res = " \nWillkommen " + character.Name + "!\n \n"; + return this.ReplyAsync("```xl\n" + res + "\n```"); } diff --git a/DiscoBot/Commands/Help.cs b/DiscoBot/Commands/Help.cs index 2ba3fb6..d6c0e68 100644 --- a/DiscoBot/Commands/Help.cs +++ b/DiscoBot/Commands/Help.cs @@ -25,13 +25,23 @@ namespace DiscoBot.Commands reader.Read(); // step into structure, until the array starts reader.Read(); reader.Read(); - var test = new JsonSerializer().Deserialize>(reader); // Deserialize Data and create CommandInfo Struct - Commands.AddRange(test); // Add new CommandInfos to List + + try + { + var test = new JsonSerializer().Deserialize>(reader); // Deserialize Data and create CommandInfo Struct + + Commands.AddRange(test); // Add new CommandInfos to List + } + catch (Exception e) + { + // ignored + } } public static List Commands { get; } = new List(); [Command("help"), Summary("prints the help menu.")] + [Alias("Help", "man", "Man")] public async Task ShowHelpAsync(string command = "") { if (command.Equals(string.Empty)) // return generic Help @@ -40,10 +50,12 @@ namespace DiscoBot.Commands return; } + + // return command specific help - var com = Commands.OrderBy(x => SpellCorrect.CompareEasy(x.Name, command)).First(); // get best fit command + var com = Commands.OrderBy(x => SpellCorrect.CompareEasy(x.Name, command.ToLower())).First(); // get best fit command - await this.ReplyAsync("```\n" + com.Name + "\n" + com.Description + "\n```"); + await this.ReplyAsync("```xl\n" + com.GetDescription() + "\n```"); } } } -- cgit v1.2.3-70-g09d2