From 77729ead4830aa3569a29ff97de22f69f4fcb470 Mon Sep 17 00:00:00 2001 From: "diamondburned (Forefront)" Date: Sat, 25 Jan 2020 22:26:08 -0800 Subject: [PATCH] Bot: fixed bug where subcommands with no visible commands would show --- bot/subcommand.go | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/bot/subcommand.go b/bot/subcommand.go index 3eb6cad..e4c5d14 100644 --- a/bot/subcommand.go +++ b/bot/subcommand.go @@ -154,46 +154,51 @@ func (sub *Subcommand) Help(prefix, indent string, hideAdmin bool) string { return "" } - if len(sub.Commands) == 0 { - return "" - } + // The header part: + var header string - var subHelp string if sub.Command != "" { - subHelp += indent + sub.Command + header += indent + sub.Command } if sub.Description != "" { - if subHelp != "" { - subHelp += ": " + if header != "" { + header += ": " } else { - subHelp += indent + header += indent } - subHelp += sub.Description + header += sub.Description } - subHelp += "\n" + header += "\n" + + // The commands part: + var commands = "" for _, cmd := range sub.Commands { if cmd.Flag.Is(AdminOnly) && hideAdmin { continue } - subHelp += indent + indent + + commands += indent + indent + prefix + sub.Command + " " + cmd.Command switch { case len(cmd.Usage()) > 0: - subHelp += " " + strings.Join(cmd.Usage(), " ") + commands += " " + strings.Join(cmd.Usage(), " ") case cmd.Description != "": - subHelp += ": " + cmd.Description + commands += ": " + cmd.Description } - subHelp += "\n" + commands += "\n" } - return subHelp + if commands == "" { + return "" + } + + return header + commands } func (sub *Subcommand) reflectCommands() error {