mlpdraftbot/tginterface.text.go

48 lines
1.0 KiB
Go

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
}