From b7cf524e9869828ff85954cb731f7fee98bee8d9 Mon Sep 17 00:00:00 2001 From: jesopo Date: Fri, 31 Aug 2018 12:55:52 +0100 Subject: Give modules event objects with "context"s, to facilitate purging all the event hooks for a module --- modules/ducks.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'modules/ducks.py') diff --git a/modules/ducks.py b/modules/ducks.py index 685a49f9..d67c2608 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -7,23 +7,24 @@ DUCK_LAST_SEEN = datetime.datetime.now() class Module(object): - def __init__(self, bot): + def __init__(self, bot, events): self.log = IRCLogging.Log self.bot = bot + self.events = events self.active_duck = 0 - bot.events.on("received.command.bef").hook(self.duck_bef, + events.on("received.command.bef").hook(self.duck_bef, help="Befriend a duck!") - bot.events.on("received.command.bang").hook(self.duck_bang, + events.on("received.command.bang").hook(self.duck_bang, help="Shoot a duck! Meanie.") - bot.events.on("received.command.decoy").hook(self.set_decoy, + events.on("received.command.decoy").hook(self.set_decoy, help="Be a sneaky fellow and make a decoy duck.") - # bot.events.on("received.command.friends").hook(self.duck_friends, + # events.on("received.command.friends").hook(self.duck_friends, # help="See who the friendliest people to ducks are!") - # bot.events.on("received.command.killers").hook(self.duck_killers, + # events.on("received.command.killers").hook(self.duck_killers, # help="See who shoots the most amount of ducks.") - # bot.events.on("received.command.ducks").hook(self.duck_list, + # events.on("received.command.ducks").hook(self.duck_list, # help="Shows a list of the most popular duck superstars.") now = datetime.datetime.now() @@ -35,22 +36,22 @@ class Module(object): tricky = next_duck_time - now.second tricky += ((next_duck_time - (now.minute + 1)) * 2) - bot.events.on("postboot").on("configure").on( + events.on("postboot").on("configure").on( "channelset").assure_call(setting="ducks-enabled", help="Toggles ducks! (1 or 0)") - bot.events.on("postboot").on("configure").on( + events.on("postboot").on("configure").on( "channelset").assure_call(setting="min-duck-time", help="Minimum seconds before a duck is summoned") - bot.events.on("postboot").on("configure").on( + events.on("postboot").on("configure").on( "channelset").assure_call(setting="max-duck-time", help="Max seconds before a duck is summoned") - bot.events.on("timer").on("duck-appear").hook(self.show_duck) + events.on("timer").on("duck-appear").hook(self.show_duck) bot.add_timer("duck-appear", next_duck_time, persist=False) - bot.events.on("received.numeric.366").hook(self.bootstrap) + events.on("received.numeric.366").hook(self.bootstrap) def bootstrap(self, event): for server in self.bot.servers.values(): @@ -198,7 +199,7 @@ class Module(object): def set_decoy(self, event): next_decoy_time = self.decoy_time() - self.bot.events.on("timer").on("duck-decoy").hook(self.duck_decoy) + self.events.on("timer").on("duck-decoy").hook(self.duck_decoy) self.bot.add_timer("duck-decoy", next_decoy_time, persist=False) # def coins(self, event): -- cgit v1.3.1-10-gc9f91 From 6f2da2c40f03884c58ca8de58c58233d2cbcd512 Mon Sep 17 00:00:00 2001 From: jesopo Date: Fri, 31 Aug 2018 12:56:31 +0100 Subject: Remove print in ducks.py --- modules/ducks.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'modules/ducks.py') diff --git a/modules/ducks.py b/modules/ducks.py index d67c2608..355abfd9 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -74,8 +74,6 @@ class Module(object): if ducks_enabled == 1: channel.set_setting("active-duck", 0) - print(self.duck_times) - def duck_time(self, channel): if isinstance(channel, str): channel_name = channel -- cgit v1.3.1-10-gc9f91 From a6d2f4cd5b96efe97abbb98f050f4579b11c36ab Mon Sep 17 00:00:00 2001 From: dngfx Date: Fri, 31 Aug 2018 13:58:44 +0100 Subject: Decoy Fiddling --- modules/ducks.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'modules/ducks.py') diff --git a/modules/ducks.py b/modules/ducks.py index 355abfd9..0e719481 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -89,7 +89,7 @@ class Module(object): return random.randint(self.duck_times[min], self.duck_times[max]) def decoy_time(self): - return random.randint(300, 700) + return random.randint(10, 20) def duck_bef(self, event): @@ -193,12 +193,15 @@ class Module(object): "・ ゜・。 ​ 。・゜゜ \​_ó< beep beep!" ] - event["target"].send_message(random.choice(ducks)) + event["channel"].send_message(random.choice(ducks)) def set_decoy(self, event): + channel = event + next_decoy_time = self.decoy_time() self.events.on("timer").on("duck-decoy").hook(self.duck_decoy) - self.bot.add_timer("duck-decoy", next_decoy_time, persist=False) + self.bot.add_timer("duck-decoy", next_decoy_time, None, None, False, + channel=channel) # def coins(self, event): # if event["args_split"]: -- cgit v1.3.1-10-gc9f91 From 309b119ec59f31b586461d4d407d9fdba25f2521 Mon Sep 17 00:00:00 2001 From: dngfx Date: Fri, 31 Aug 2018 14:00:09 +0100 Subject: That commit was just a decoy. --- modules/ducks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/ducks.py') diff --git a/modules/ducks.py b/modules/ducks.py index 0e719481..606819ad 100644 --- a/modules/ducks.py +++ b/modules/ducks.py @@ -196,7 +196,7 @@ class Module(object): event["channel"].send_message(random.choice(ducks)) def set_decoy(self, event): - channel = event + channel = event["target"] next_decoy_time = self.decoy_time() self.events.on("timer").on("duck-decoy").hook(self.duck_decoy) -- cgit v1.3.1-10-gc9f91