From cbb6c928a13b04304f8c0da03f75fa7f7a3c1548 Mon Sep 17 00:00:00 2001 From: jesopo Date: Sat, 1 Sep 2018 19:07:50 +0100 Subject: Don't persist timer, use events.on("send.stdout") --- modules/ducks.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'modules') diff --git a/modules/ducks.py b/modules/ducks.py index 9306f518..e7fd00c3 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -47,7 +47,7 @@ class Module(object): wait = self.get_random_duck_time() self.bot.log.info("Sending out a wave of ducks in %s seconds", [wait]) - self.bot.add_timer("show-duck", wait) + self.bot.add_timer("show-duck", wait, persist=False) def bootstrap(self, event): for server in self.bot.servers.values(): @@ -210,12 +210,11 @@ class Module(object): channel.set_setting("active-duck", False) def duck_decoy(self, event): - event["stdout"].write(random.choice(DUCK_LIST)) + self.events.on("send").on("stdout").call(target=event["channel"], + module_name="Ducks", server=event["server"], + message=random.choice(DUCK_LIST)) def set_decoy(self, event): - channel = event["target"] - next_decoy_time = self.get_random_duck_time() - - self.bot.add_timer("duck-decoy", next_decoy_time, None, None, False, - channel=channel) + self.bot.add_timer("duck-decoy", next_decoy_time, persist=False, + server=event["server"], channel=event["target"]) -- cgit v1.3.1-10-gc9f91 From 8098e8c015bea210d07af74d4ccc97caac5083d4 Mon Sep 17 00:00:00 2001 From: dngfx Date: Sat, 1 Sep 2018 19:12:05 +0100 Subject: re-add self.events --- modules/ducks.py | 1 + 1 file changed, 1 insertion(+) (limited to 'modules') diff --git a/modules/ducks.py b/modules/ducks.py index e7fd00c3..3056d7bb 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -16,6 +16,7 @@ DUCK_LIST = [ class Module(object): def __init__(self, bot, events): self.bot = bot + self.events = events events.on("received.command.bef").hook(self.duck_bef, help="Befriend a duck!") -- cgit v1.3.1-10-gc9f91 From 3044b833fcbda2bb319454ac7cadb8e278461768 Mon Sep 17 00:00:00 2001 From: dngfx Date: Sat, 1 Sep 2018 20:34:10 +0100 Subject: Toast off ducks.py with .duckstats --- modules/ducks.py | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) (limited to 'modules') 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 + ")") + -- cgit v1.3.1-10-gc9f91 From 93a818ed977e57b27f23e72a52455dd6fc4a1a57 Mon Sep 17 00:00:00 2001 From: dngfx Date: Sat, 1 Sep 2018 20:40:26 +0100 Subject: Revert "Toast off ducks.py with .duckstats" This reverts commit 3044b83 --- modules/ducks.py | 46 ++-------------------------------------------- 1 file changed, 2 insertions(+), 44 deletions(-) (limited to 'modules') diff --git a/modules/ducks.py b/modules/ducks.py index 20621212..3056d7bb 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -28,11 +28,8 @@ 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.duckstats").hook(self.duck_stats, - help="Shows the total " - "amount of ducks " - "you've shot and " - "befriended") + # events.on("received.command.ducks").hook(self.duck_list, + # help="Shows a list of the most popular duck superstars.") events.on("postboot").on("configure").on( @@ -222,42 +219,3 @@ 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 + ")") - -- cgit v1.3.1-10-gc9f91 From 9eaa1cc6fc25df751bb841bd443e9b2debf29409 Mon Sep 17 00:00:00 2001 From: dngfx Date: Sat, 1 Sep 2018 20:43:46 +0100 Subject: Re-toast ducks.py! --- modules/ducks.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'modules') diff --git a/modules/ducks.py b/modules/ducks.py index 3056d7bb..0ecdb4df 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -219,3 +219,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 + ")") + -- cgit v1.3.1-10-gc9f91 From 2db5d476a457c80dc767b59e710fedfc73ab459a Mon Sep 17 00:00:00 2001 From: dngfx Date: Sat, 1 Sep 2018 20:54:18 +0100 Subject: Uncomment duck stats --- modules/ducks.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/ducks.py b/modules/ducks.py index 019f01ac..4f5bb9a1 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -28,8 +28,9 @@ 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.ducks").hook(self.duck_stats, + help="Shows your duck " + "stats!") events.on("postboot").on("configure").on( -- cgit v1.3.1-10-gc9f91 From d6b0d4653c62a06a295b89707c559a29abbf8542 Mon Sep 17 00:00:00 2001 From: dngfx Date: Sat, 1 Sep 2018 20:55:27 +0100 Subject: Fix duck stats --- modules/ducks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/ducks.py b/modules/ducks.py index 4f5bb9a1..b313a2c6 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -28,7 +28,7 @@ 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_stats, + events.on("received.command.duckstats").hook(self.duck_stats, help="Shows your duck " "stats!") -- cgit v1.3.1-10-gc9f91