aboutsummaryrefslogtreecommitdiff
path: root/code/cogs/newaccount.py
diff options
context:
space:
mode:
Diffstat (limited to 'code/cogs/newaccount.py')
-rw-r--r--code/cogs/newaccount.py70
1 files changed, 52 insertions, 18 deletions
diff --git a/code/cogs/newaccount.py b/code/cogs/newaccount.py
index db5abd0..b341147 100644
--- a/code/cogs/newaccount.py
+++ b/code/cogs/newaccount.py
@@ -3,8 +3,12 @@ from discord import app_commands
from discord.ext import commands
import sqlite3
-from func.jellyfin import create_jellyfin_account
-from global_variables import JELLYFIN_URL, ENABLE_JELLYFIN_TEMP_ACCOUNTS, ACCOUNT_TIME
+from utils.jellyfin_create import create_jellyfin_account
+from utils.config import (
+ JELLYFIN_URL,
+ JELLYFIN_ENABLED,
+ ACCOUNT_TIME,
+)
class NewAccount(commands.Cog):
@@ -12,47 +16,77 @@ class NewAccount(commands.Cog):
self.bot = bot
@app_commands.command()
- @app_commands.check(lambda inter: ENABLE_JELLYFIN_TEMP_ACCOUNTS)
- async def newaccount(self, interaction: discord.Interaction):
- "Create a new temporary Jellyfin account"
+ @app_commands.check(lambda inter: JELLYFIN_ENABLED)
+ async def newaccount(self, interaction: discord.Interaction) -> None:
+ """Create a new temporary Jellyfin account"""
# Make sure the user doesn't already have an account
db = sqlite3.connect("cordarr.db")
cursor = db.cursor()
cursor.execute(
- "SELECT * FROM jellyfin_accounts WHERE user_id = ?", (interaction.user.id,)
+ "SELECT * FROM jellyfin_accounts WHERE user_id = ?",
+ (interaction.user.id,),
)
- if cursor.fetchone():
+ account = cursor.fetchone()
+ db.close()
+ # Account already allocated
+ if account:
embed = discord.Embed(
title="Account Already Exists",
- description="Look at your previous DMs with me to find your account information. You will be permitted to create a new account after your current one expires.",
- color=0xD01B86
+ description=(
+ "Look at your previous DMs with me to find your account"
+ " information. You will be permitted to create a new"
+ " account after your current one expires."
+ ),
+ color=0xD01B86,
+ )
+ return await interaction.response.send_message(
+ embed=embed, ephemeral=True
)
- return await interaction.response.send_message(embed=embed, ephemeral=True)
# Create a new Jellyfin account for the user
response = create_jellyfin_account(interaction.user.id)
if response:
embed = discord.Embed(
title="Account Created",
- description="Your account has been successfully created. Check your DMs for your account information.",
- color=0xD01B86
+ description=(
+ "Your account has been successfully created. Check your"
+ " DMs for your account information."
+ ),
+ color=0xD01B86,
+ )
+ await interaction.response.send_message(
+ embed=embed, ephemeral=True
)
- await interaction.response.send_message(embed=embed, ephemeral=True)
# Send the user their account information
embed = discord.Embed(
title="Jellyfin Account Information",
- description=f"Here is your temporary account information. You will need this to access the Jellyfin server.\n\n**Server URL:** `{JELLYFIN_URL}`\n**Username:** `{response[0]}`\n**Password:** `{response[1]}`\n\nYour account will be automatically deleted in {ACCOUNT_TIME} hours.",
- color=0xD01B86
+ description=(
+ # fmt: off
+ "Here is your temporary account information.\n\n"
+ f"**Server URL:** `{JELLYFIN_URL}`\n"
+ f"**Username:** `{response[0]}`\n"
+ f"**Password:** `{response[1]}`\n\n"
+ "Your account will be automatically deleted in"
+ f" {ACCOUNT_TIME} hours."
+ # fmt: on
+ ),
+ color=0xD01B86,
)
await interaction.user.send(embed=embed)
+ # If account not created for some reason
else:
embed = discord.Embed(
title="Unknown Error Occured",
- description="Error creating Jellyfin account. Please try again. If the error persists, contact an administrator.",
- color=0xD01B86
+ description=(
+ "Error creating Jellyfin account. Please try again. If the"
+ " error persists, contact an administrator."
+ ),
+ color=0xD01B86,
+ )
+ return await interaction.response.send_message(
+ embed=embed, ephemeral=True
)
- return await interaction.response.send_message(embed=embed, ephemeral=True)
async def setup(bot):