def redeem_coins(self, event): """ :help: Redeem your free coins """ user_coins = self._get_user_coins(event["user"]) if user_coins == DECIMAL_ZERO: cache = self._redeem_cache(event["server"], event["user"]) if not self.bot.cache.has_item(cache): redeem_amount = self._redeem_amount(event["server"]) self._give(event["server"], event["user"], redeem_amount) event["stdout"].write("Redeemed %s coins" % self._coin_str( redeem_amount)) redeem_delay = self._redeem_delay(event["server"]) self.bot.cache.temporary_cache(cache, redeem_delay) else: time_left = self.bot.cache.until_expiration(cache) event["stderr"].write("%s: Please wait %s before redeeming" % ( event["user"].nickname, utils.to_pretty_time(math.ceil(time_left)))) else: event["stderr"].write( "%s: You can only redeem coins when you have none" % event["user"].nickname)
def next_lottery(self, event): """ :help: Show time until the next lottery draw """ until = self._until_next_6_hour() event["stdout"].write("Next lottery is in: %s" % utils.to_pretty_time(until))
def redeem_coins(self, event): """ :help: Redeem your free coins """ user_coins = decimal.Decimal(event["user"].get_setting("coins", "0.0")) if user_coins == DECIMAL_ZERO: cache = self._redeem_cache(event["server"], event["user"]) if not self.bot.cache.has_item(cache): redeem_amount = decimal.Decimal(event["server"].get_setting( "redeem-amount", DEFAULT_REDEEM_AMOUNT)) event["user"].set_setting("coins", str(user_coins + redeem_amount)) event["stdout"].write("Redeemed %s coins" % "{0:.2f}".format(redeem_amount)) redeem_delay = event["server"].get_setting( "redeem-delay", DEFAULT_REDEEM_DELAY) self.bot.cache.temporary_cache(cache, redeem_delay) else: time_left = self.bot.cache.until_expiration(cache) event["stderr"].write( "Please wait %s before redeeming" % utils.to_pretty_time(math.ceil(time_left))) else: event["stderr"].write( "You can only redeem coins when you have none")
def next_lottery(self, event): """ :help: Show time until the next lottery draw """ until = self._until_next_6_hour() event["stdout"].write("Next lottery is in: %s" % utils.to_pretty_time(until))
def redeem_coins(self, event): """ :help: Redeem your free coins """ user_coins = self._get_user_coins(event["user"]) if user_coins == DECIMAL_ZERO: cache = self._redeem_cache(event["server"], event["user"]) if not self.bot.cache.has_item(cache): redeem_amount = self._redeem_amount(event["server"]) self._give(event["server"], event["user"], redeem_amount) event["stdout"].write("Redeemed %s coins" % self._coin_str( redeem_amount)) redeem_delay = self._redeem_delay(event["server"]) self.bot.cache.temporary_cache(cache, redeem_delay) else: time_left = self.bot.cache.until_expiration(cache) event["stderr"].write("%s: Please wait %s before redeeming" % ( event["user"].nickname, utils.to_pretty_time(math.ceil(time_left)))) else: event["stderr"].write( "%s: You can only redeem coins when you have none" % event["user"].nickname)
def seen(self, event): """ :help: Find out when a user was last seen :usage: <nickname> """ user = event["server"].get_user(event["args_split"][0]) seen_seconds = user.get_setting("seen") if seen_seconds: seen_info = None if event["is_channel"]: seen_info = event["target"].get_user_setting( event["user"].get_id(), "seen-info", None) if seen_info: seen_info = " (%s%s)" % (seen_info["action"], utils.consts.RESET) since = utils.to_pretty_time(time.time() - seen_seconds, max_units=2) event["stdout"].write( "%s was last seen %s ago%s" % (event["args_split"][0], since, seen_info or "")) else: event["stderr"].write("I have never seen %s before." % (event["args_split"][0]))
def stop_timer(self, event): timer = self._get_timer(event["user"]) if not timer: raise utils.EventError("No timer started") self._del_timer(event["user"]) elapsed = time.time() - timer pretty = utils.to_pretty_time(int(elapsed)) event["stdout"].write("Timer stopped at %s" % pretty)
def seen(self, event): """ :help: Find out when a user was last seen :usage: <nickname> """ seen_seconds = event["server"].get_user(event["args_split"][0] ).get_setting("seen") if seen_seconds: since = utils.to_pretty_time(time.time()-seen_seconds, max_units=2) event["stdout"].write("%s was last seen %s ago" % ( event["args_split"][0], since)) else: event["stderr"].write("I have never seen %s before." % ( event["args_split"][0]))
def seen(self, event): """ :help: Find out when a user was last seen :usage: <nickname> """ seen_seconds = event["server"].get_user( event["args_split"][0]).get_setting("seen") if seen_seconds: since = utils.to_pretty_time(time.time() - seen_seconds, max_units=2) event["stdout"].write("%s was last seen %s ago" % (event["args_split"][0], since)) else: event["stderr"].write("I have never seen %s before." % (event["args_split"][0]))
def check_run(self, data): name = data["check_run"]["name"] commit = self._short_hash(data["check_run"]["head_sha"]) commit = utils.irc.color(commit, utils.consts.LIGHTBLUE) url = "" if data["check_run"]["details_url"]: url = data["check_run"]["details_url"] url = " - %s" % self.exports.get_one("shortlink")(url) duration = "" if data["check_run"]["completed_at"]: started_at = self._iso8601(data["check_run"]["started_at"]) completed_at = self._iso8601(data["check_run"]["completed_at"]) if completed_at > started_at: seconds = (completed_at - started_at).total_seconds() duration = " in %s" % utils.to_pretty_time(seconds) status = data["check_run"]["status"] status_str = "" if status == "queued": status_str = utils.irc.bold("queued") elif status == "in_progress": status_str = utils.irc.bold("started") elif status == "completed": conclusion = data["check_run"]["conclusion"] conclusion_color = utils.consts.GREEN if conclusion in CHECK_RUN_FAILURES: conclusion_color = utils.consts.RED if conclusion == "neutral": conclusion_color = utils.consts.LIGHTGREY status_str = utils.irc.color(CHECK_RUN_CONCLUSION[conclusion], conclusion_color) return [ "[build @%s] %s: %s%s%s" % (commit, name, status_str, duration, url) ]
def check_run(self, data): name = data["check_run"]["name"] commit = self._short_hash(data["check_run"]["head_sha"]) commit = utils.irc.color(commit, utils.consts.LIGHTBLUE) url = "" if data["check_run"]["details_url"]: url = data["check_run"]["details_url"] url = " - %s" % self.exports.get_one("shortlink")(url) duration = "" if data["check_run"]["completed_at"]: started_at = self._iso8601(data["check_run"]["started_at"]) completed_at = self._iso8601(data["check_run"]["completed_at"]) if completed_at > started_at: seconds = (completed_at-started_at).total_seconds() duration = " in %s" % utils.to_pretty_time(seconds) status = data["check_run"]["status"] status_str = "" if status == "queued": status_str = utils.irc.bold("queued") elif status == "in_progress": status_str = utils.irc.bold("started") elif status == "completed": conclusion = data["check_run"]["conclusion"] conclusion_color = COLOR_POSITIVE if conclusion in CHECK_RUN_FAILURES: conclusion_color = COLOR_NEGATIVE if conclusion == "neutral": conclusion_color = COLOR_NEUTRAL status_str = utils.irc.color( CHECK_RUN_CONCLUSION[conclusion], conclusion_color) return ["[build @%s] %s: %s%s%s" % ( commit, name, status_str, duration, url)]
def _uptime(self): return utils.to_pretty_time(int(time.time()-self.bot.start_time))
def _uptime(self): return utils.to_pretty_time(int(time.time() - self.bot.start_time))