cooldown
This commit is contained in:
@@ -5,9 +5,10 @@ from config import REDIS_URL, REDIS_USER, REDIS_PSW
|
|||||||
class User:
|
class User:
|
||||||
user_id: str
|
user_id: str
|
||||||
last_earned: float = 0.0
|
last_earned: float = 0.0
|
||||||
def __init__(self, user_id: str, balance: int) -> None:
|
def __init__(self, user_id: str, balance: int, last_earned: float = 0.0) -> None:
|
||||||
self.balance = balance
|
self.balance = balance
|
||||||
self.user_id = str(user_id)
|
self.user_id = str(user_id)
|
||||||
|
self.last_earned = float(last_earned)
|
||||||
|
|
||||||
def set_balance(self, balance) -> int:
|
def set_balance(self, balance) -> int:
|
||||||
self.balance = balance
|
self.balance = balance
|
||||||
@@ -24,14 +25,14 @@ class User:
|
|||||||
return f"**- balance: {self.balance}**"
|
return f"**- balance: {self.balance}**"
|
||||||
|
|
||||||
class Aura:
|
class Aura:
|
||||||
data: dict[str, User] = {}
|
last_earns: dict[str, float]
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
redis_host = REDIS_URL.split(':')
|
redis_host = REDIS_URL.split(':')
|
||||||
self.r = redis.Redis(host=redis_host[0], port=int(redis_host[1]), username=REDIS_USER, password=REDIS_PSW, decode_responses=True)
|
self.r = redis.Redis(host=redis_host[0], port=int(redis_host[1]), username=REDIS_USER, password=REDIS_PSW, decode_responses=True)
|
||||||
|
|
||||||
def get(self, user_id) -> User | None:
|
def get(self, user_id) -> User | None:
|
||||||
try:
|
try:
|
||||||
return User(user_id, int(self.r.get(str(user_id))))
|
return User(user_id, int(self.r.get(str(user_id))), self.last_earns[user_id] if user_id in self.last_earns else 0.0)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -41,4 +42,5 @@ class Aura:
|
|||||||
return u
|
return u
|
||||||
|
|
||||||
def update(self, u: User):
|
def update(self, u: User):
|
||||||
self.r.set(u.user_id, u.balance)
|
self.r.set(u.user_id, u.balance)
|
||||||
|
self.last_earns[str(u.user_id)] = u.last_earned
|
||||||
Reference in New Issue
Block a user