From ff20bbef2cddcc0682b4ffb9f2e3212827e5ace8 Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Fri, 23 Jan 2026 16:49:54 -0500 Subject: [PATCH] construct autocomplete interface objects once --- main.go | 6 +----- skill.go | 6 +++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index fb09d00..2da499e 100644 --- a/main.go +++ b/main.go @@ -163,11 +163,7 @@ func skillHandler(data discord.SlashCommandInteractionData, e *handler.CommandEv func skillAutocomplete(e *handler.AutocompleteEvent) error { q := e.Data.String("query") opts := skillGlobalAuto().Find(nil, q) - r := make([]discord.AutocompleteChoice, min(len(opts), 25)) - for i, k := range opts[:min(len(opts), len(r))] { - r[i] = discord.AutocompleteChoiceString{Name: k, Value: k} - } - return e.AutocompleteResult(r) + return e.AutocompleteResult(opts[:min(len(opts), 25)]) } func skillButton(data discord.ButtonInteractionData, e *handler.ComponentEvent) error { diff --git a/skill.go b/skill.go index 95ef371..aaf684d 100644 --- a/skill.go +++ b/skill.go @@ -118,11 +118,11 @@ func isDebuff(s horse.Skill) bool { return false } -var skillGlobalAuto = sync.OnceValue(func() *autocomplete.Set[string] { - var set autocomplete.Set[string] +var skillGlobalAuto = sync.OnceValue(func() *autocomplete.Set[discord.AutocompleteChoice] { + var set autocomplete.Set[discord.AutocompleteChoice] for _, id := range global.OrderedSkills { s := global.AllSkills[id] - set.Add(s.Name, s.Name) + set.Add(s.Name, discord.AutocompleteChoiceString{Name: s.Name, Value: s.Name}) } return &set })