Update sugoncredit.py
This commit is contained in:
parent
2169436a70
commit
b241606796
1 changed files with 26 additions and 33 deletions
|
@ -15,46 +15,43 @@ class SugonCredit(commands.Cog):
|
||||||
max_bal = 1000000000,
|
max_bal = 1000000000,
|
||||||
min_bal = -1000000000
|
min_bal = -1000000000
|
||||||
)
|
)
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
self.data_path = data_manager.cog_data_path(self) / "credit.db"
|
||||||
con = sqlite3.connect(f'{data_path}')
|
con = sqlite3.connect(f'{self.data_path}')
|
||||||
con.commit()
|
con.commit()
|
||||||
con.close()
|
con.close()
|
||||||
|
|
||||||
def new_guild_generation(self, ctx):
|
def new_guild_generation(self, guild_id):
|
||||||
"""Adds a new table for a guild to the SQLite databse."""
|
"""Adds a new table for a guild to the SQLite databse."""
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
con = sqlite3.connect(f'{self.data_path}')
|
||||||
con = sqlite3.connect(f'{data_path}')
|
|
||||||
cur = con.cursor()
|
cur = con.cursor()
|
||||||
exist_check = cur.execute(f'''IF EXISTS
|
exist_check = cur.execute(f'''IF EXISTS
|
||||||
(SELECT object_id FROM sys.tables
|
(SELECT object_id FROM sys.tables
|
||||||
WHERE name = {ctx.guild.id}
|
WHERE name = '{guild_id}'
|
||||||
AND SCHEMA_NAME(schema_id) = 'dbo')
|
AND SCHEMA_NAME(schema_id) = 'dbo')
|
||||||
PRINT 'False'
|
PRINT 'False'
|
||||||
ELSE
|
ELSE
|
||||||
PRINT 'True';''')
|
PRINT 'True';''')
|
||||||
if exist_check == False:
|
if exist_check == False:
|
||||||
cur.execute(f'''CREATE TABLE {ctx.guild.id} (username text, user_id text, balance real)''')
|
cur.execute(f'''CREATE TABLE '{guild_id}' (username text, user_id text, balance real)''')
|
||||||
con.commit()
|
con.commit()
|
||||||
con.close()
|
con.close()
|
||||||
|
|
||||||
def new_user_generation(self, ctx, target):
|
def new_user_generation(self, guild_id, target):
|
||||||
"""Adds a new user to the SQLite database."""
|
"""Adds a new user to the SQLite database."""
|
||||||
username = str(target)
|
username = str(target)
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
con = sqlite3.connect(f'{self.data_path}')
|
||||||
con = sqlite3.connect(f'{data_path}')
|
|
||||||
cur = con.cursor()
|
cur = con.cursor()
|
||||||
cur.execute(f'''INSERT INTO {ctx.guild.id}
|
cur.execute(f'''INSERT INTO {guild_id}
|
||||||
VALUES ('{username}', {target.id}, 250);''')
|
VALUES ('{username}', {target.id}, 250);''')
|
||||||
con.commit()
|
con.commit()
|
||||||
con.close()
|
con.close()
|
||||||
|
|
||||||
def username_updater(self, ctx, target):
|
def username_updater(self, guild_id, target):
|
||||||
"""Updates a users' username in the SQLite database."""
|
"""Updates a users' username in the SQLite database."""
|
||||||
new_username = str(target)
|
new_username = str(target)
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
con = sqlite3.connect(f'{self.data_path}')
|
||||||
con = sqlite3.connect(f'{data_path}')
|
|
||||||
cur = con.cursor()
|
cur = con.cursor()
|
||||||
cur.execute(f'''UPDATE {ctx.guild.id}
|
cur.execute(f'''UPDATE {guild_id}
|
||||||
SET username = '{new_username}'
|
SET username = '{new_username}'
|
||||||
WHERE user_id = {target.id};''')
|
WHERE user_id = {target.id};''')
|
||||||
con.commit()
|
con.commit()
|
||||||
|
@ -70,10 +67,9 @@ class SugonCredit(commands.Cog):
|
||||||
async def leaderboard(self, ctx, page: int = 1):
|
async def leaderboard(self, ctx, page: int = 1):
|
||||||
"""Shows the individuals with the highest balances."""
|
"""Shows the individuals with the highest balances."""
|
||||||
await ctx.send(content="This command isn't done yet!")
|
await ctx.send(content="This command isn't done yet!")
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
con = sqlite3.connect(f'{self.data_path}')
|
||||||
con = sqlite3.connect(f'{data_path}')
|
|
||||||
cur = con.cursor()
|
cur = con.cursor()
|
||||||
await self.new_guild_generation(self, ctx)
|
await self.new_guild_generation(self, ctx.guild.id)
|
||||||
bank_name = await self.config.guild(ctx.guild).bank_name()
|
bank_name = await self.config.guild(ctx.guild).bank_name()
|
||||||
currency_name = await self.config.guild(ctx.guild).currency_name()
|
currency_name = await self.config.guild(ctx.guild).currency_name()
|
||||||
offset = (page - 1) * 10
|
offset = (page - 1) * 10
|
||||||
|
@ -86,10 +82,9 @@ class SugonCredit(commands.Cog):
|
||||||
@commands.guild_only()
|
@commands.guild_only()
|
||||||
async def balance(self, ctx, user: discord.Member = None):
|
async def balance(self, ctx, user: discord.Member = None):
|
||||||
"""Checks an account's balance."""
|
"""Checks an account's balance."""
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
con = sqlite3.connect(f'{self.data_path}')
|
||||||
con = sqlite3.connect(f'{data_path}')
|
|
||||||
cur = con.cursor()
|
cur = con.cursor()
|
||||||
await self.new_guild_generation(self, ctx)
|
await self.new_guild_generation({ctx.guild.id})
|
||||||
bank_name = await self.config.guild(ctx.guild).bank_name()
|
bank_name = await self.config.guild(ctx.guild).bank_name()
|
||||||
currency_name = await self.config.guild(ctx.guild).currency_name()
|
currency_name = await self.config.guild(ctx.guild).currency_name()
|
||||||
if user == None:
|
if user == None:
|
||||||
|
@ -98,11 +93,11 @@ class SugonCredit(commands.Cog):
|
||||||
target = user
|
target = user
|
||||||
if cur.execute(f'''SELECT user_id FROM {ctx.guild.id}
|
if cur.execute(f'''SELECT user_id FROM {ctx.guild.id}
|
||||||
WHERE EXISTS (SELECT user_id FROM {ctx.guild.id} WHERE {target.id});''')=="FALSE":
|
WHERE EXISTS (SELECT user_id FROM {ctx.guild.id} WHERE {target.id});''')=="FALSE":
|
||||||
await self.new_user_generation(self, ctx, target)
|
await self.new_user_generation({ctx.guild.id}, target)
|
||||||
stored_username = cur.execute(f'''SELECT username FROM {ctx.guild.id}
|
stored_username = cur.execute(f'''SELECT username FROM {ctx.guild.id}
|
||||||
WHERE user_id = {target.id};''')
|
WHERE user_id = {target.id};''')
|
||||||
if str(target) != stored_username:
|
if str(target) != stored_username:
|
||||||
await self.username_updater(self, ctx, target)
|
await self.username_updater({ctx.guild.id}, target)
|
||||||
bal = cur.execute(f'''SELECT balance FROM {ctx.guild.id}
|
bal = cur.execute(f'''SELECT balance FROM {ctx.guild.id}
|
||||||
WHERE user_id = {target.id};''')
|
WHERE user_id = {target.id};''')
|
||||||
output_bal = (f'{bal:,}')
|
output_bal = (f'{bal:,}')
|
||||||
|
@ -111,6 +106,7 @@ class SugonCredit(commands.Cog):
|
||||||
else:
|
else:
|
||||||
embed=discord.Embed(title=f"{bank_name} - Balance", color=await self.bot.get_embed_color(None), description=f"{target.mention} has {output_bal} {currency_name}s.")
|
embed=discord.Embed(title=f"{bank_name} - Balance", color=await self.bot.get_embed_color(None), description=f"{target.mention} has {output_bal} {currency_name}s.")
|
||||||
await ctx.send(embed=embed)
|
await ctx.send(embed=embed)
|
||||||
|
con.close()
|
||||||
|
|
||||||
@credit.command()
|
@credit.command()
|
||||||
@commands.guild_only()
|
@commands.guild_only()
|
||||||
|
@ -122,10 +118,9 @@ class SugonCredit(commands.Cog):
|
||||||
except ValueError:
|
except ValueError:
|
||||||
await ctx.send(content="``amount`` must be a number! Please try again.")
|
await ctx.send(content="``amount`` must be a number! Please try again.")
|
||||||
return
|
return
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
con = sqlite3.connect(f'{self.data_path}')
|
||||||
con = sqlite3.connect(f'{data_path}')
|
|
||||||
cur = con.cursor()
|
cur = con.cursor()
|
||||||
await self.new_guild_generation(self, ctx)
|
await self.new_guild_generation({ctx.guild.id})
|
||||||
image = discord.File(fp=data_manager.bundled_data_path(self) / "add.png", filename="Add.png")
|
image = discord.File(fp=data_manager.bundled_data_path(self) / "add.png", filename="Add.png")
|
||||||
bank_name = await self.config.bank_name()
|
bank_name = await self.config.bank_name()
|
||||||
currency_name = await self.config.currency_name()
|
currency_name = await self.config.currency_name()
|
||||||
|
@ -133,13 +128,11 @@ class SugonCredit(commands.Cog):
|
||||||
min_bal = await self.config_min_bal()
|
min_bal = await self.config_min_bal()
|
||||||
if cur.execute(f'''SELECT user_id FROM {ctx.guild.id}
|
if cur.execute(f'''SELECT user_id FROM {ctx.guild.id}
|
||||||
WHERE EXISTS (SELECT user_id FROM {ctx.guild.id} WHERE {target.id});''')=="FALSE":
|
WHERE EXISTS (SELECT user_id FROM {ctx.guild.id} WHERE {target.id});''')=="FALSE":
|
||||||
await self.new_user_generation(self, ctx, target)
|
await self.new_user_generation({ctx.guild.id}, target)
|
||||||
stored_username = cur.execute(f'''SELECT username FROM {ctx.guild.id}
|
stored_username = cur.execute(f'''SELECT username FROM {ctx.guild.id}
|
||||||
WHERE user_id = {target.id};''')
|
WHERE user_id = {target.id};''')
|
||||||
if str(target) != stored_username:
|
if str(target) != stored_username:
|
||||||
await self.username_updater(self, ctx, target)
|
await self.username_updater({ctx.guild.id}, target)
|
||||||
bal = cur.execute(f'''SELECT balance FROM {ctx.guild.id}
|
|
||||||
WHERE user_id = {target.id};''')
|
|
||||||
current_bal = cur.execute(f'''SELECT balance FROM {ctx.guild.id}
|
current_bal = cur.execute(f'''SELECT balance FROM {ctx.guild.id}
|
||||||
WHERE user_id = {target.id};''')
|
WHERE user_id = {target.id};''')
|
||||||
new_bal = current_bal + amount
|
new_bal = current_bal + amount
|
||||||
|
@ -187,18 +180,18 @@ class SugonCredit(commands.Cog):
|
||||||
data_path = data_manager.cog_data_path(self) / "credit.db"
|
data_path = data_manager.cog_data_path(self) / "credit.db"
|
||||||
con = sqlite3.connect(f'{data_path}')
|
con = sqlite3.connect(f'{data_path}')
|
||||||
cur = con.cursor()
|
cur = con.cursor()
|
||||||
await self.new_guild_generation(self, ctx)
|
await self.new_guild_generation({ctx.guild.id})
|
||||||
bank_name = await self.config.bank_name()
|
bank_name = await self.config.bank_name()
|
||||||
currency_name = await self.config.currency_name()
|
currency_name = await self.config.currency_name()
|
||||||
max_bal = await self.config.max_bal()
|
max_bal = await self.config.max_bal()
|
||||||
min_bal = await self.config_min_bal()
|
min_bal = await self.config_min_bal()
|
||||||
if cur.execute(f'''SELECT user_id FROM {ctx.guild.id}
|
if cur.execute(f'''SELECT user_id FROM {ctx.guild.id}
|
||||||
WHERE EXISTS (SELECT user_id FROM {ctx.guild.id} WHERE {target.id});''')=="FALSE":
|
WHERE EXISTS (SELECT user_id FROM {ctx.guild.id} WHERE {target.id});''')=="FALSE":
|
||||||
await self.new_user_generation(self, ctx, target)
|
await self.new_user_generation({ctx.guild.id}, target)
|
||||||
stored_username = cur.execute(f'''SELECT username FROM {ctx.guild.id}
|
stored_username = cur.execute(f'''SELECT username FROM {ctx.guild.id}
|
||||||
WHERE user_id = {target.id};''')
|
WHERE user_id = {target.id};''')
|
||||||
if str(target) != stored_username:
|
if str(target) != stored_username:
|
||||||
await self.username_updater(self, ctx, target)
|
await self.username_updater({ctx.guild.id}, target)
|
||||||
current_bal = cur.execute(f'''SELECT balance FROM {ctx.guild.id}
|
current_bal = cur.execute(f'''SELECT balance FROM {ctx.guild.id}
|
||||||
WHERE user_id = {target.id};''')
|
WHERE user_id = {target.id};''')
|
||||||
new_bal = current_bal - amount
|
new_bal = current_bal - amount
|
||||||
|
|
Loading…
Reference in a new issue