aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar dngfx2018-09-01 20:34:10 +0100
committerGravatar dngfx2018-09-01 20:34:10 +0100
commit3044b833fcbda2bb319454ac7cadb8e278461768 (patch)
tree6a7bc6a8c0a44152cb4743ec966de1ca4dca0019 /modules
parentre-add self.events (diff)
Toast off ducks.py with .duckstats
Diffstat (limited to 'modules')
-rw-r--r--modules/ducks.py46
1 files changed, 44 insertions, 2 deletions
diff --git a/modules/ducks.py b/modules/ducks.py
index 3056d7bb..20621212 100644
--- a/modules/ducks.py
+++ b/modules/ducks.py
@@ -28,8 +28,11 @@ class Module(object):
help="See who the friendliest people to ducks are!")
events.on("received.command.killers").hook(self.duck_enemies,
help="See who shoots the most amount of ducks.")
- # events.on("received.command.ducks").hook(self.duck_list,
- # help="Shows a list of the most popular duck superstars.")
+ events.on("received.command.duckstats").hook(self.duck_stats,
+ help="Shows the total "
+ "amount of ducks "
+ "you've shot and "
+ "befriended")
events.on("postboot").on("configure").on(
@@ -219,3 +222,42 @@ class Module(object):
next_decoy_time = self.get_random_duck_time()
self.bot.add_timer("duck-decoy", next_decoy_time, persist=False,
server=event["server"], channel=event["target"])
+
+ def duck_stats(self, event):
+ user = event["user"]
+ channel = event["target"].name
+ nick = user.nickname
+ id = user.id
+
+ poached = user.get_channel_settings_per_setting("ducks-shot", 0
+ )
+ friends = user.get_channel_settings_per_setting(
+ "ducks-befriended", 0
+ )
+
+ channel_friends = 0
+ channel_poached = 0
+
+ total_friends = 0
+ total_poached = 0
+
+ for room, number in friends:
+ if room == channel:
+ channel_friends = number
+ total_friends += number
+ else:
+ total_friends += number
+
+ for room, number in poached:
+ if room == channel:
+ channel_poached = number
+ total_poached += number
+ else:
+ total_poached += number
+
+ event["stdout"].write(
+ nick + ": " + str(total_poached) + " ducks killed (" + str(
+ channel_poached) + " in " + channel + "), and " + str(
+ total_friends) + " ducks befriended (" + str(channel_friends)
+ + " in " + channel + ")")
+