From 4b4912fd3da8a3c5f9c58862890cd55be2ad022a Mon Sep 17 00:00:00 2001 From: randomuser Date: Wed, 21 Jul 2021 00:30:52 -0500 Subject: [PATCH] add stats command --- main.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 87187f3..d6e6cba 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,7 @@ import time from db import DuckDB from db import DuckEvent +from db import DuckStats from irctokens import build, Line from ircrobots import Bot as BaseBot @@ -15,6 +16,7 @@ lang = { "noduckstart": "there was no duck!", "duckcought": "duck has been cought by {} in channel {} in {} seconds!", "duck": "・゜゜・。。・゜゜\_o< QUACK!", + "stats": "{} has befriended {} ducks in {} different channels, having a befriend/loss ratio of {}.", } class DuckLogic: @@ -72,11 +74,21 @@ class Server(BaseServer, DuckLogic): print(line.params) print(line.hostmask.nickname) if line.params[1][0] == '%': - cmd = line.params[1][1:] + cmd = line.params[1].split(' ')[0][1:] chan = line.params[0] user = line.hostmask.nickname + args = line.params[1].split(' ')[1:] if cmd == "bef": await self.duck_action(user, chan) elif cmd == "trigger": await self.new_duck() + elif cmd == "stats": + db = DuckDB(self.db) + stats = DuckStats(db) + await self.msg(chan, lang["stats"].format( + args[0], + stats.cought(args[0]), + stats.channels(args[0]), + format(stats.ratio(args[0]), ".2f") + ), user) return self.messages += 1