diff --git a/plugins/counter/counter.go b/plugins/counter/counter.go index cc2d57e..4e45f81 100644 --- a/plugins/counter/counter.go +++ b/plugins/counter/counter.go @@ -73,10 +73,11 @@ func GetItems(db *sqlx.DB, nick string) ([]Item, error) { } func LeaderAll(db *sqlx.DB) ([]Item, error) { - s := `select id,item,nick,max(count) as count from counter group by item having count(nick) > 1 and max(count) > 1 order by count desc` + s := `select id,item,nick,count from (select id,item,nick,count,max(abs(count)) from counter group by item having count(nick) > 1 and max(abs(count)) > 1) order by count desc` var items []Item err := db.Select(&items, s) if err != nil { + log.Error().Msgf("Error querying leaderboard: %w", err) return nil, err } for i := range items { @@ -260,7 +261,7 @@ func (p *CounterPlugin) message(c bot.Connector, kind bot.Kind, message msg.Mess its, err := cmd() if err != nil { - log.Error().Err(err) + log.Error().Err(err).Msg("Error with leaderboard") return false } else if len(its) == 0 { return false diff --git a/plugins/counter/counter_test.go b/plugins/counter/counter_test.go index 99f9212..ceb5e3b 100644 --- a/plugins/counter/counter_test.go +++ b/plugins/counter/counter_test.go @@ -4,10 +4,11 @@ package counter import ( "fmt" - "github.com/velour/catbase/plugins/cli" "strings" "testing" + "github.com/velour/catbase/plugins/cli" + "github.com/stretchr/testify/assert" "github.com/velour/catbase/bot" "github.com/velour/catbase/bot/msg"