aboutsummaryrefslogtreecommitdiff
path: root/modules/coins.py
diff options
context:
space:
mode:
authorGravatar dngfx2018-09-23 07:04:50 +0100
committerGravatar dngfx2018-09-23 07:04:50 +0100
commit0cb2c43ee317569aa7afe36acd03d059c3714b5e (patch)
treecb9f4934178e6ac40adf7f2c34f1965e679ed899 /modules/coins.py
parentmake last.fm say "is now playing", if they're currently playing. (diff)
Add setcoins command for admins, for people that abuse the coin game, or rewards and such.
Diffstat (limited to 'modules/coins.py')
-rw-r--r--modules/coins.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/modules/coins.py b/modules/coins.py
index ce1bae57..d37832ca 100644
--- a/modules/coins.py
+++ b/modules/coins.py
@@ -26,6 +26,7 @@ THIRD_COLUMN = list(range(1, 37))[2::3]
REGEX_STREET = re.compile("street([1-9]|1[0-2])$")
class Module(object):
+
def __init__(self, bot, events, exports):
self.bot = bot
events.on("received.command.coins").hook(self.coins,
@@ -57,6 +58,12 @@ class Module(object):
self.send, min_args=2, help="Send coins to a user",
usage="<nickname> <amount>", authenticated=True)
+ events.on("received.command.setcoins").hook(
+ self.set_coins, min_args=2,
+ help="Set a users coins. Do not abuse.",
+ usage="<nickname> <amount>", permission="setcoins",
+ authenticated=True)
+
now = datetime.datetime.now()
until_next_hour = 60-now.second
until_next_hour += ((60-(now.minute+1))*60)
@@ -84,6 +91,18 @@ class Module(object):
target.del_setting("coins")
event["stdout"].write("Reset coins for %s" % target.nickname)
+ def set_coins(self, event):
+ target = event["server"].get_user(event["args_split"][0])
+ coins = event["args_split"][1]
+
+ if not coins.isdigit():
+ event["stderr"].write("Cannot set coins for %s, coins must be a " \
+ + "whole number." % target.nickname)
+ return
+
+ target.set_setting("coins", "%s.0" % coins)
+ event["stdout"].write("Set %s's coins to %s" % (target.nickname, coins))
+
def give_coins(self, event):
target = event["server"].get_user(event["args_split"][0])
coins = event["args_split"][1]
@@ -107,8 +126,8 @@ class Module(object):
top_10 = sorted(all_coins.keys())
top_10 = sorted(top_10, key=all_coins.get, reverse=True)[:10]
- top_10 = ", ".join("%s (%s)" % (Utils.prevent_highlight(event[
- "server"].get_user(nickname).nickname), "{0:.2f}".format(
+ top_10 = ", ".join("%s (%s)" % (Utils.bold(Utils.prevent_highlight(
+ event["server"].get_user(nickname).nickname)), "{0:.2f}".format(
all_coins[nickname])) for nickname in top_10)
event["stdout"].write("Richest users: %s" % top_10)