From 81aee4432f513d8a0e68584b509e591a32df57c3 Mon Sep 17 00:00:00 2001 From: Maxwell Jeffress Date: Wed, 24 Jun 2026 09:47:16 +1000 Subject: [PATCH] Refactor SQL and admins logic --- .gitignore | 2 +- src/__pycache__/twentyfour.cpython-314.pyc | Bin 13304 -> 0 bytes src/main.py | 76 +++++++++++++-------- 3 files changed, 48 insertions(+), 30 deletions(-) delete mode 100644 src/__pycache__/twentyfour.cpython-314.pyc diff --git a/.gitignore b/.gitignore index 784853b..5e1d427 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ .env *.db -__pycache__ \ No newline at end of file +__pycache__ diff --git a/src/__pycache__/twentyfour.cpython-314.pyc b/src/__pycache__/twentyfour.cpython-314.pyc deleted file mode 100644 index 6d5afe2d7d4ca4e7705ad022b00f2a2b2ad91e2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13304 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 0: embed = discord.Embed() - with sqlite3.connect("cards.db") as conn: - cur = conn.cursor() - - for card in cards: - cur.execute("SELECT * FROM cards WHERE LOWER(name)=LOWER(?)", (card,)) - row = cur.fetchone() - - if row: - embed.add_field(name=row[1], value=f"Description: {row[2]}\nType: {row[3]}\nDLC: {row[4]}", inline=False) + cur = cardsdb.cursor() + + for card in cards: + cur.execute("SELECT * FROM cards WHERE LOWER(name)=LOWER(?)", (card,)) + row = cur.fetchone() + + if row: + embed.add_field(name=row[1], value=f"Description: {row[2]}\nType: {row[3]}\nDLC: {row[4]}", inline=False) if len(embed.fields) > 0: await channel.send(embed=embed) @@ -129,7 +143,7 @@ async def on_message(message): # Check for 24++ game if content == "!start": - if username == "citadel_941": + if username in ADMINS: game = TwentyFourGame(channel.id) asyncio.create_task(run_game(client, channel)) await channel.send("Starting game...") @@ -145,7 +159,7 @@ async def on_message(message): await channel.send(f"@{username}: You will be removed after this round") return elif content == "!stop": - if username == "citadel_941": + if username in ADMINS: game.stopping = True await channel.send("Stopping after this round") else: @@ -211,3 +225,7 @@ async def run_game(client, channel): if __name__ == "__main__": client.run(TOKEN) + + +usersdb.close() +cardsdb.close()