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.")