prod preparations
This commit is contained in:
41
config.py
41
config.py
@@ -1,5 +1,10 @@
|
||||
from pathlib import Path
|
||||
import json
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Load environment variables from .env file (if it exists)
|
||||
load_dotenv()
|
||||
|
||||
def load_from_json():
|
||||
#Load config from JSON file if it exists
|
||||
@@ -18,28 +23,40 @@ def load_from_json():
|
||||
# Load from JSON or use defaults
|
||||
_config = load_from_json()
|
||||
|
||||
# Torn API
|
||||
TORN_API_KEY = _config.get("TORN_API_KEY", "YOUR_TORN_API_KEY_HERE")
|
||||
# Helper function to get config value from environment, then JSON, then default
|
||||
def get_config(key: str, default, is_int: bool = False):
|
||||
# 1. Try environment variable first
|
||||
env_val = os.getenv(key)
|
||||
if env_val is not None:
|
||||
return int(env_val) if is_int else env_val
|
||||
# 2. Try JSON config
|
||||
json_val = _config.get(key)
|
||||
if json_val is not None:
|
||||
return json_val
|
||||
# 3. Use default
|
||||
return default
|
||||
|
||||
# Torn API
|
||||
TORN_API_KEY = get_config("TORN_API_KEY", "YOUR_TORN_API_KEY_HERE")
|
||||
|
||||
# FFScouter API
|
||||
FFSCOUTER_KEY = _config.get("FFSCOUTER_KEY", "YOUR_FFSCOUTER_KEY_HERE")
|
||||
FFSCOUTER_KEY = get_config("FFSCOUTER_KEY", "YOUR_FFSCOUTER_KEY_HERE")
|
||||
|
||||
# Discord Bot
|
||||
DISCORD_TOKEN = _config.get("DISCORD_TOKEN", "YOUR_DISCORD_BOT_TOKEN_HERE")
|
||||
ALLOWED_CHANNEL_ID = _config.get("ALLOWED_CHANNEL_ID", 0)
|
||||
DISCORD_TOKEN = get_config("DISCORD_TOKEN", "YOUR_DISCORD_BOT_TOKEN_HERE")
|
||||
ALLOWED_CHANNEL_ID = get_config("ALLOWED_CHANNEL_ID", 0, is_int=True)
|
||||
|
||||
# Intervals
|
||||
HIT_CHECK_INTERVAL = _config.get("HIT_CHECK_INTERVAL", 60)
|
||||
REASSIGN_DELAY = _config.get("REASSIGN_DELAY", 120)
|
||||
HIT_CHECK_INTERVAL = get_config("HIT_CHECK_INTERVAL", 60, is_int=True)
|
||||
REASSIGN_DELAY = get_config("REASSIGN_DELAY", 120, is_int=True)
|
||||
|
||||
# Bot Assignment Settings
|
||||
ASSIGNMENT_TIMEOUT = _config.get("ASSIGNMENT_TIMEOUT", 60) # Seconds before reassigning a target
|
||||
ASSIGNMENT_REMINDER = _config.get("ASSIGNMENT_REMINDER", 45) # Seconds before sending reminder message
|
||||
ASSIGNMENT_TIMEOUT = get_config("ASSIGNMENT_TIMEOUT", 60, is_int=True) # Seconds before reassigning a target
|
||||
ASSIGNMENT_REMINDER = get_config("ASSIGNMENT_REMINDER", 45, is_int=True) # Seconds before sending reminder message
|
||||
|
||||
# Chain Timer Settings
|
||||
CHAIN_TIMER_THRESHOLD = _config.get("CHAIN_TIMER_THRESHOLD", 5) # Minutes - start assigning hits when chain timer is at or below this
|
||||
CHAIN_TIMER_THRESHOLD = get_config("CHAIN_TIMER_THRESHOLD", 5, is_int=True) # Minutes - start assigning hits when chain timer is at or below this
|
||||
|
||||
# Authentication
|
||||
AUTH_PASSWORD = _config.get("AUTH_PASSWORD", "YOUR_AUTH_PASSWORD_HERE") # Universal password for all users
|
||||
JWT_SECRET = _config.get("JWT_SECRET", "your-secret-key-change-this") # Secret key for JWT tokens
|
||||
AUTH_PASSWORD = get_config("AUTH_PASSWORD", "YOUR_AUTH_PASSWORD_HERE") # Universal password for all users
|
||||
JWT_SECRET = get_config("JWT_SECRET", "your-secret-key-change-this") # Secret key for JWT tokens
|
||||
|
||||
Reference in New Issue
Block a user