twitch-bot/functions_counter.go
Knut Ahlers 024980ee14
Extract template functions into registry
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2021-04-21 22:43:33 +02:00

26 lines
588 B
Go

package main
import (
"strings"
"github.com/go-irc/irc"
"github.com/pkg/errors"
)
func init() {
tplFuncs.Register("channelCounter", func(m *irc.Message, r *rule, fields map[string]interface{}) interface{} {
return func(name string) (string, error) {
channel, ok := fields["channel"].(string)
if !ok {
return "", errors.New("channel not available")
}
return strings.Join([]string{channel, name}, ":"), nil
}
})
tplFuncs.Register("counterValue", genericTemplateFunctionGetter(func(name string, _ ...string) int64 {
return store.GetCounterValue(name)
}))
}