Compare commits

...

2 Commits

Author SHA1 Message Date
Chris Sexton 2045fc4591 goals: fix ordering of commands 2021-05-04 14:08:33 -04:00
Chris Sexton f2a6d779d3 main: change logger 2021-05-04 14:08:33 -04:00
2 changed files with 19 additions and 16 deletions

View File

@ -4,6 +4,7 @@ package main
import (
"flag"
"io"
"math/rand"
"net/http"
"os"
@ -77,10 +78,12 @@ func main() {
"Database file to load. (Defaults to catbase.db)")
flag.Parse() // parses the logging flags.
log.Logger = log.With().Caller().Stack().Logger()
var output io.Writer = os.Stdout
if *prettyLog {
log.Logger = log.Logger.Output(zerolog.ConsoleWriter{Out: os.Stderr})
output = zerolog.ConsoleWriter{Out: output}
}
log.Logger = log.Output(output).With().Caller().Stack().Logger()
zerolog.SetGlobalLevel(zerolog.InfoLevel)
if *debug {
zerolog.SetGlobalLevel(zerolog.DebugLevel)

View File

@ -53,14 +53,6 @@ func (p *GoalsPlugin) mkDB() {
func (p *GoalsPlugin) registerCmds() {
p.handlers = bot.HandlerTable{
{Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?i)^register (?P<type>competition|goal) (?P<what>[[:punct:][:alnum:]]+) (?P<amount>[[:digit:]]+)?`),
HelpText: "Register with `%s` for yourself",
Handler: func(r bot.Request) bool {
amount, _ := strconv.Atoi(r.Values["amount"])
p.register(r.Conn, r.Msg.Channel, r.Values["type"], r.Values["what"], r.Msg.User.Name, amount)
return true
}},
{Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?i)^register (?P<type>competition|goal) for (?P<who>[[:punct:][:alnum:]]+) (?P<what>[[:punct:][:alnum:]]+) (?P<amount>[[:digit:]]+)?`),
HelpText: "Register with `%s` for other people",
@ -70,10 +62,11 @@ func (p *GoalsPlugin) registerCmds() {
return true
}},
{Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?i)^deregister (?P<type>competition|goal) (?P<what>[[:punct:][:alnum:]]+)`),
HelpText: "Deregister with `%s` for yourself",
Regex: regexp.MustCompile(`(?i)^register (?P<type>competition|goal) (?P<what>[[:punct:][:alnum:]]+) (?P<amount>[[:digit:]]+)?`),
HelpText: "Register with `%s` for yourself",
Handler: func(r bot.Request) bool {
p.deregister(r.Conn, r.Msg.Channel, r.Values["type"], r.Values["what"], r.Msg.User.Name)
amount, _ := strconv.Atoi(r.Values["amount"])
p.register(r.Conn, r.Msg.Channel, r.Values["type"], r.Values["what"], r.Msg.User.Name, amount)
return true
}},
{Kind: bot.Message, IsCmd: true,
@ -84,10 +77,10 @@ func (p *GoalsPlugin) registerCmds() {
return true
}},
{Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?i)^check (?P<type>competition|goal) (?P<what>[[:punct:][:alnum:]]+)`),
HelpText: "Check with `%s` for yourself",
Regex: regexp.MustCompile(`(?i)^deregister (?P<type>competition|goal) (?P<what>[[:punct:][:alnum:]]+)`),
HelpText: "Deregister with `%s` for yourself",
Handler: func(r bot.Request) bool {
p.check(r.Conn, r.Msg.Channel, r.Values["type"], r.Values["what"], r.Msg.User.Name)
p.deregister(r.Conn, r.Msg.Channel, r.Values["type"], r.Values["what"], r.Msg.User.Name)
return true
}},
{Kind: bot.Message, IsCmd: true,
@ -97,6 +90,13 @@ func (p *GoalsPlugin) registerCmds() {
p.check(r.Conn, r.Msg.Channel, r.Values["type"], r.Values["what"], r.Values["who"])
return true
}},
{Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?i)^check (?P<type>competition|goal) (?P<what>[[:punct:][:alnum:]]+)`),
HelpText: "Check with `%s` for yourself",
Handler: func(r bot.Request) bool {
p.check(r.Conn, r.Msg.Channel, r.Values["type"], r.Values["what"], r.Msg.User.Name)
return true
}},
}
p.b.RegisterTable(p, p.handlers)
}