casino.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:Jumper-Cogs 作者: Redjumpman 项目源码 文件源码
def check_cooldowns(self, user, method, settings, triggered=False, brief=False):
        user_time = settings["Players"][user.id]["Cooldowns"][method]
        user_membership = settings["Players"][user.id]["Membership"]

        try:
            reduction = settings["Memberships"][user_membership]["Cooldown Reduction"]
        except KeyError:
            reduction = 0

        # Find the base cooldown by method
        if method in c_games:
            base = settings["Games"][method]["Cooldown"]
        elif method == "Payday":
            reduction = 0
            base = settings["System Config"]["Payday Timer"]
        else:
            reduction = 0
            base = settings["System Config"]["Transfer Cooldown"]

        # Begin cooldown logic calculation
        if user_time == 0:  # For new accounts
            if triggered:
                settings["Players"][user.id]["Cooldowns"][method] = datetime.utcnow().isoformat()
                super().save_system()
            return None
        elif int((datetime.utcnow() - parser.parse(user_time)).total_seconds()) + reduction < base:
            diff = int((datetime.utcnow() - parser.parse(user_time)).total_seconds())
            seconds = base - diff - reduction
            if brief:
                remaining = self.time_format(seconds, True)
                msg = remaining
            else:
                remaining = self.time_format(seconds, False)
                msg = _("{} is still on a cooldown. You still have: {}").format(method, remaining)
            return msg
        else:
            if triggered:
                settings["Players"][user.id]["Cooldowns"][method] = datetime.utcnow().isoformat()
                super().save_system()
            return None
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号