Revert back to HearsHandlers - CommandHandlers require valid shellwords

This commit is contained in:
2016-10-19 02:31:32 +01:00
parent c208a0e00c
commit 73cd922f2c
3 changed files with 95 additions and 29 deletions

View File

@@ -27,6 +27,7 @@ var (
nickserv = flag.String("nickserv", "", "NickServ password")
quotes = flag.String("quotedb", ":memory:", "sqlite3 quote database")
ssl = flag.Bool("ssl", true, "Enable SSL")
testmode = flag.Bool("testmode", false, "Use STDIN/STDOUT instead of IRC for messages")
)
func init() {
@@ -34,10 +35,9 @@ func init() {
rand.Seed(time.Now().Unix())
}
func main() {
flag.Parse()
func ircAdapter() hugot.Adapter {
channelList := strings.Split(*channels, ",")
config := client.NewConfig(*nick, "lysenko", "Comrade Trofim Lysenko")
config.Server = *host
config.Pass = *nickserv
@@ -53,12 +53,17 @@ func main() {
}
}
adapter := irc.New(config, channelList...)
prefix_adapter := adapters.NewPrefixAdapter(adapter, "!")
prefix_adapter.PrivateHelpOnly = true
return irc.New(config, channelList...)
}
func main() {
flag.Parse()
adapter := adapters.NewPrefixAdapter(ircAdapter(), "!")
adapter.PrivateHelpOnly = true
ctx := context.Background()
go prefix_adapter.Run(ctx)
go adapter.Run(ctx)
db, err := quotedb.New(*quotes)
if err != nil {
@@ -67,11 +72,11 @@ func main() {
defer db.DB.Close()
mux := hugot.DefaultMux
mux.HandleCommand(&quotedb.AddQuoteHandler{QuoteDB: db})
mux.HandleCommand(deadline.NewCommand(&quotedb.LastQuoteHandler{QuoteDB: db}))
mux.HandleCommand(deadline.NewCommand(&quotedb.FindQuoteHandler{QuoteDB: db}))
mux.HandleCommand(deadline.NewCommand(&quotedb.RandQuoteHandler{QuoteDB: db}))
mux.HandleCommand(deadline.NewCommand(&quotedb.QuoteHandler{QuoteDB: db}))
mux.HandleHears(&quotedb.AddQuoteHandler{QuoteDB: db})
mux.HandleHears(deadline.NewHears(&quotedb.LastQuoteHandler{QuoteDB: db}))
mux.HandleHears(deadline.NewHears(&quotedb.FindQuoteHandler{QuoteDB: db}))
mux.HandleHears(deadline.NewHears(&quotedb.RandQuoteHandler{QuoteDB: db}))
mux.HandleHears(deadline.NewHears(&quotedb.QuoteHandler{QuoteDB: db}))
hugot.ListenAndServe(ctx, mux, prefix_adapter)
hugot.ListenAndServe(ctx, mux, adapter)
}