aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar dngfx2018-09-23 07:04:50 +0100
committerGravatar dngfx2018-09-23 07:04:50 +0100
commit0cb2c43ee317569aa7afe36acd03d059c3714b5e (patch)
treecb9f4934178e6ac40adf7f2c34f1965e679ed899
parentmake last.fm say "is now playing", if they're currently playing. (diff)
signature
Add setcoins command for admins, for people that abuse the coin game, or rewards and such.
-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)