42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
import os
|
|
import logging
|
|
from dotenv import load_dotenv
|
|
|
|
# Load environment variables from .env file
|
|
load_dotenv()
|
|
|
|
# Debug mode
|
|
DEBUG_MODE = os.getenv('DEBUG_MODE', 'false').lower() == 'true'
|
|
LOG_LEVEL = logging.DEBUG if DEBUG_MODE else logging.INFO
|
|
|
|
# Bot configuration
|
|
BOT_TOKEN = os.getenv('DISCORD_BOT_TOKEN')
|
|
BOT_PREFIX = os.getenv('BOT_PREFIX', '!') # Default prefix is ! if not specified
|
|
|
|
# Jellyseerr configuration
|
|
JELLYSEERR_URL = os.getenv('JELLYSEERR_URL')
|
|
JELLYSEERR_EMAIL = os.getenv('JELLYSEERR_EMAIL')
|
|
JELLYSEERR_PASSWORD = os.getenv('JELLYSEERR_PASSWORD')
|
|
JELLYSEERR_LOCAL_LOGIN = os.getenv('JELLYSEERR_LOCAL_LOGIN', 'true').lower() == 'true'
|
|
|
|
# Bot settings
|
|
EMBED_COLOR = int(os.getenv('EMBED_COLOR', '0x3498db'), 0) # Default color is blue
|
|
|
|
# Authentication settings
|
|
AUTH_COOKIE_EXPIRY = int(os.getenv('AUTH_COOKIE_EXPIRY', '7')) # Days until cookie expires
|
|
|
|
# Notification settings are not used as Jellyseerr webhooks are preferred
|
|
# You can configure webhooks directly in Jellyseerr's settings
|
|
|
|
# Debug settings
|
|
REQUEST_TIMEOUT = int(os.getenv('REQUEST_TIMEOUT', '30')) # Seconds to wait for API response
|
|
|
|
# Validation
|
|
if not BOT_TOKEN:
|
|
raise ValueError("No Discord bot token found. Please set DISCORD_BOT_TOKEN in your .env file.")
|
|
|
|
if not JELLYSEERR_URL:
|
|
raise ValueError("No Jellyseerr URL found. Please set JELLYSEERR_URL in your .env file.")
|
|
|
|
if JELLYSEERR_LOCAL_LOGIN and (not JELLYSEERR_EMAIL or not JELLYSEERR_PASSWORD):
|
|
raise ValueError("Jellyseerr email and password are required for local login. Please set JELLYSEERR_EMAIL and JELLYSEERR_PASSWORD in your .env file.") |