fix: replace hardcoded prefix cache with dynamic parameter mapping
This commit is contained in:
@@ -19,8 +19,8 @@ var (
|
|||||||
menuOnce sync.Once
|
menuOnce sync.Once
|
||||||
)
|
)
|
||||||
|
|
||||||
// buildMenuCache generates the static portion of the help menu
|
// buildMenuCache generates the static portion of the help menu with a {{PREFIX}} placeholder
|
||||||
func buildMenuCache(prefix string) {
|
func buildMenuCache() {
|
||||||
var sb strings.Builder
|
var sb strings.Builder
|
||||||
|
|
||||||
cmdMap := make(map[string][]string)
|
cmdMap := make(map[string][]string)
|
||||||
@@ -39,7 +39,7 @@ func buildMenuCache(prefix string) {
|
|||||||
if i == len(cmds)-1 {
|
if i == len(cmds)-1 {
|
||||||
branch = "└"
|
branch = "└"
|
||||||
}
|
}
|
||||||
sb.WriteString(fmt.Sprintf("%s %s%s\n", branch, prefix, cmdName))
|
sb.WriteString(fmt.Sprintf("%s {{PREFIX}}%s\n", branch, cmdName))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,11 +82,14 @@ var Help = &core.Command{
|
|||||||
|
|
||||||
// Calculate the static command layout part only once
|
// Calculate the static command layout part only once
|
||||||
menuOnce.Do(func() {
|
menuOnce.Do(func() {
|
||||||
buildMenuCache(prefix)
|
buildMenuCache()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Replace placeholder with the dynamically used prefix
|
||||||
|
finalMenu := strings.ReplaceAll(cachedMenu, "{{PREFIX}}", prefix)
|
||||||
|
|
||||||
header := fmt.Sprintf("%s *%s*👋\n📬 Need help? Here are all of my commands\n", greeting, pushName)
|
header := fmt.Sprintf("%s *%s*👋\n📬 Need help? Here are all of my commands\n", greeting, pushName)
|
||||||
|
|
||||||
ctx.Reply(header + cachedMenu)
|
ctx.Reply(header + finalMenu)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user