package main import ( "bytes" "text/template" "git.fromouter.space/mcg/draft" "git.fromouter.space/mcg/mlp-server-tools/draftbot" "github.com/Masterminds/sprig" ) var sessionCreatedTplText = `Draft session created! Join with "/join". Draft type: {{ .Options.Type }}` var templateMap = map[string]string{ "session-created": sessionCreatedTplText, } var templates = map[string]*template.Template{} func initTemplates() { for k, v := range templateMap { templates[k] = template.Must(template.New("base").Funcs(sprig.TxtFuncMap()).Parse(v)) } } var sessionCreatedTpl = (sessionCreatedTplText) func txtDraftSessionCreated(opt draftbot.DraftOptions, players map[string]*draft.Player) string { var tpl bytes.Buffer templates["session-created"].Execute(&tpl, struct { Players []string Options draftbot.DraftOptions }{ playerNames(players), opt, }) return tpl.String() } func playerNames(lst map[string]*draft.Player) (out []string) { for key := range lst { out = append(out, "@"+key) } return }