aboutsummaryrefslogtreecommitdiff
path: root/modules/coins.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-10-08 13:49:43 +0100
committerGravatar jesopo2019-10-08 13:49:55 +0100
commit7a5edccb982a9aa3d1d1557d5928d03046bda29e (patch)
treecfa252ad88198d0ff2f8fd593916818e373789b9 /modules/coins.py
parentrefactor anything that effects event poll timeout in to PollHook objects (diff)
transient timers shouldn't use the event system
Diffstat (limited to 'modules/coins.py')
-rw-r--r--modules/coins.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/modules/coins.py b/modules/coins.py
index 3bdf6fff..413714d2 100644
--- a/modules/coins.py
+++ b/modules/coins.py
@@ -41,9 +41,9 @@ class CoinParseException(Exception):
class Module(ModuleManager.BaseModule):
def on_load(self):
- self.timers.add("coin-interest", INTEREST_INTERVAL,
+ self.timers.add("coin-interest", self._interest, INTEREST_INTERVAL,
time.time()+self._until_next_hour())
- self.timers.add("coin-lottery", LOTTERY_INTERVAL,
+ self.timers.add("coin-lottery", self._lottery, LOTTERY_INTERVAL,
time.time()+self._until_next_6_hour())
def _until_next_hour(self, now=None):
@@ -440,8 +440,7 @@ class Module(ModuleManager.BaseModule):
"%s loses %s" % (choice, event["user"].nickname,
str(coin_losses)))
- @utils.hook("timer.coin-interest")
- def interest(self, event):
+ def _interest(self, timer):
for server in self.bot.servers.values():
if not server.get_setting("coin-interest", False):
continue
@@ -456,7 +455,7 @@ class Module(ModuleManager.BaseModule):
interest = round(coins*interest_rate, 2)
server.set_user_setting(nickname, "coins",
self._coin_str(coins+interest))
- event["timer"].redo()
+ timer.redo()
@utils.hook("received.command.lotterybuy", authenticated=True)
def lottery_buy(self, event):
@@ -539,8 +538,7 @@ class Module(ModuleManager.BaseModule):
else:
event["stderr"].write("There have been no lottery winners!")
- @utils.hook("timer.coin-lottery")
- def lottery(self, event):
+ def _lottery(self, timer):
for server in self.bot.servers.values():
lottery = server.get_setting("lottery", {})
if lottery:
@@ -561,4 +559,4 @@ class Module(ModuleManager.BaseModule):
server.set_setting("lottery-winner", user.nickname)
user.send_notice("You won %s in the lottery! you now have %s coins"
% (self._coin_str(winnings), self._coin_str(new_coins)))
- event["timer"].redo()
+ timer.redo()