feat(withdraw): add user withdrawal flow using CryptoPay
This commit is contained in:
@@ -5,8 +5,8 @@ from dotenv import load_dotenv
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from pathlib import Path
|
||||
|
||||
from models.config import BotConfig
|
||||
from models.stats import BotStats
|
||||
from models.config import BotConfig
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent
|
||||
|
||||
@@ -22,6 +22,7 @@ def _env_int(name: str, default: int) -> int:
|
||||
raw = os.getenv(name)
|
||||
if raw is None or raw == "":
|
||||
return default
|
||||
|
||||
return int(raw)
|
||||
|
||||
|
||||
@@ -29,6 +30,7 @@ def _env_float(name: str, default: float) -> float:
|
||||
raw = os.getenv(name)
|
||||
if raw is None or raw == "":
|
||||
return default
|
||||
|
||||
return float(raw)
|
||||
|
||||
|
||||
@@ -36,21 +38,23 @@ def _env_bool(name: str, default: bool) -> bool:
|
||||
raw = os.getenv(name)
|
||||
if raw is None or raw == "":
|
||||
return default
|
||||
|
||||
return raw.strip().lower() in {"1", "true", "yes", "on"}
|
||||
|
||||
|
||||
load_dotenv()
|
||||
|
||||
BOT_TOKEN = os.getenv("BOT_TOKEN", "")
|
||||
LOG_BOT_TOKEN = os.getenv("LOG_BOT_TOKEN", "") or None
|
||||
|
||||
LOG_BOT_TOKEN = os.getenv("LOG_BOT_TOKEN", BOT_TOKEN) or None
|
||||
ADMIN_ID = _env_int("ADMIN_ID", 0)
|
||||
|
||||
CRYPTO_PAY_TOKEN = os.getenv("CRYPTO_PAY_TOKEN", "")
|
||||
CRYPTO_PAY_NETWORK = os.getenv("CRYPTO_PAY_NETWORK", "MAINNET")
|
||||
CRYPTO_PAY_ASSET = os.getenv("CRYPTO_PAY_ASSET", "USDT")
|
||||
|
||||
SHOP_NAME = os.getenv("SHOP_NAME", "KILL UNONY MOM")
|
||||
SHOP_CHANNEL = os.getenv("SHOP_CHANNEL", "https://t.me/bot399_start_bot")
|
||||
BOT_USERNAME = os.getenv("BOT_USERNAME", "bot399_start_bot")
|
||||
SHOP_CHANNEL = os.getenv("SHOP_CHANNEL", "")
|
||||
BOT_USERNAME = os.getenv("BOT_USERNAME", "")
|
||||
|
||||
DATABASE_DIR = _resolve_path("DATABASE_DIR", "Users")
|
||||
COOKIE_FILES_DIR = _resolve_path("COOKIE_FILES_DIR", "Cookies")
|
||||
|
||||
Reference in New Issue
Block a user