From 38c9527c80b525520954f79365fe6b4a3d7031bf Mon Sep 17 00:00:00 2001 From: Leo dev Date: Tue, 3 Sep 2024 18:32:21 +0200 Subject: [PATCH] ok --- aura.py | 27 ++++++++++----------------- bot.py | 11 +++++------ 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/aura.py b/aura.py index f277b45..ce101a0 100644 --- a/aura.py +++ b/aura.py @@ -3,8 +3,10 @@ import redis from config import REDIS_URL, REDIS_USER, REDIS_PSW class User: - def __init__(self, balance: int) -> None: + user_id: str + def __init__(self, user_id: str, balance: int) -> None: self.balance = balance + self.user_id = str(user_id) def set_balance(self, balance) -> int: self.balance = balance @@ -27,22 +29,13 @@ class Aura: self.r = redis.Redis(host=redis_host[0], port=int(redis_host[1]), username=REDIS_USER, password=REDIS_PSW, decode_responses=True) self.load() - def load(self) -> None: - data = loads(self.r.get('data')) - for k in data: - self.data[k] = User(data[k]['balance']) - def get(self, user_id) -> User | None: - if user_id in self.data: - return self.r.get(str(user_id)) + return User(int(self.r.get(user_id))) def add(self, user_id) -> User: - self.data[user_id] = User(100) - self.r.set - return self.data[user_id] - - def save(self): - data = {} - for k in self.data: - data[k] = self.data[k].to_dict() - self.r.set('data', dumps(data, indent=2)) \ No newline at end of file + u = User(user_id, 100) + self.r.set(user_id, u.balance) + return u + + def update(self, u: User): + self.r.set(u.user_id, u.balance) \ No newline at end of file diff --git a/bot.py b/bot.py index 1bfe0d2..5692dba 100644 --- a/bot.py +++ b/bot.py @@ -17,14 +17,13 @@ async def on_ready(): user = aura.get(str(member.id)) if user==None: aura.add(str(member.id)) - aura.save() print(await tree.sync()) @client.event async def on_message(msg: discord.Message): user = aura.get(str(msg.author.id)) user.balance += 3 - aura.save() + aura.update(user) @client.event async def on_member_join(member: discord.Member): @@ -36,7 +35,6 @@ async def on_member_join(member: discord.Member): @tree.command(name='aura', description='Check the amount of aura a member has') async def get_aura(interaction: discord.Interaction, member: discord.Member = None): - aura.load() if member == None: member = interaction.user user = aura.get(str(member.id)) @@ -45,7 +43,6 @@ async def get_aura(interaction: discord.Interaction, member: discord.Member = No @tree.command(name='send', description='Send aura to a member') async def send(interaction: discord.Interaction, to: discord.Member, amount: int, reason: str = ""): - aura.load() user = aura.get(str(interaction.user.id)) user_to = aura.get(str(to.id)) if amount < 0: @@ -61,13 +58,14 @@ async def send(interaction: discord.Interaction, to: discord.Member, amount: int description=f'**By: {interaction.user.name}\nAmount: {amount}\nReason: {reason}**' )) await interaction.response.send_message(f'Punished! You gained 10+ aura!', ephemeral=True) - aura.save() else: await interaction.response.send_message(f'Cannot punish. {to.name} only has {user_to.balance} aura!', ephemeral=True) return if user.balance >= 10: user.balance -= 10 await interaction.response.send_message(f'Cannot punish. You are not a developer.{" -10 aura!" if user.balance>=10 else""}', ephemeral=True) + aura.update(user) + aura.update(user_to) return else: if user.balance >= amount: @@ -79,7 +77,8 @@ async def send(interaction: discord.Interaction, to: discord.Member, amount: int description=f'**From: {interaction.user.name}\nAmount: {amount}**' )) await interaction.response.send_message(f'Sent! You now have {user.balance} aura!', ephemeral=True) - aura.save() + aura.update(user) + aura.update(user_to) else: await interaction.response.send_message(f'Cannot send. You only have {user.balance} aura!', ephemeral=True)