фикс1

This commit is contained in:
dv 2026-03-26 11:27:56 +03:00
parent b9e9b5d51b
commit a10824f8d6
7 changed files with 36 additions and 3 deletions

2
.env
View file

@ -1,7 +1,7 @@
MAX_BOT_TOKEN=f9LHodD0cOJHqFlGFuM7t9dFSt0jA36NxLc5aSP0CwDuCyWzssGKsFwuP4ymzoP64uqe6Ivl4_bEWKAOl6MI MAX_BOT_TOKEN=f9LHodD0cOJHqFlGFuM7t9dFSt0jA36NxLc5aSP0CwDuCyWzssGKsFwuP4ymzoP64uqe6Ivl4_bEWKAOl6MI
# При локальном запуске (python main.py): # При локальном запуске (python main.py):
DB_PATH=support.db DB_PATH=data/support.db
# При запуске через Docker DB_PATH переопределяется в docker-compose.yml # При запуске через Docker DB_PATH переопределяется в docker-compose.yml
# и указывает на /app/data/support.db (volume ./data/) # и указывает на /app/data/support.db (volume ./data/)

View file

@ -1,7 +1,7 @@
MAX_BOT_TOKEN=your_token_here MAX_BOT_TOKEN=your_token_here
# При локальном запуске (python main.py): # При локальном запуске (python main.py):
DB_PATH=support.db DB_PATH=data/support.db
# При запуске через Docker DB_PATH переопределяется в docker-compose.yml # При запуске через Docker DB_PATH переопределяется в docker-compose.yml
# и указывает на /app/data/support.db (volume ./data/) # и указывает на /app/data/support.db (volume ./data/)

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.env
__pycache__

View file

@ -1,10 +1,16 @@
import os import os
from pathlib import Path
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
BOT_TOKEN: str = os.environ["MAX_BOT_TOKEN"] BOT_TOKEN: str = os.environ["MAX_BOT_TOKEN"]
DB_PATH: str = os.environ.get("DB_PATH", "support.db")
_project_root = Path(__file__).parent
_db_path_raw = os.environ.get("DB_PATH", "data/support.db")
DB_PATH: str = str(
Path(_db_path_raw) if Path(_db_path_raw).is_absolute() else _project_root / _db_path_raw
)
ADMIN_USERNAME: str = os.environ.get("ADMIN_USERNAME", "admin") ADMIN_USERNAME: str = os.environ.get("ADMIN_USERNAME", "admin")
ADMIN_PASSWORD: str = os.environ.get("ADMIN_PASSWORD", "changeme") ADMIN_PASSWORD: str = os.environ.get("ADMIN_PASSWORD", "changeme")
ADMIN_HOST: str = os.environ.get("ADMIN_HOST", "0.0.0.0") ADMIN_HOST: str = os.environ.get("ADMIN_HOST", "0.0.0.0")

Binary file not shown.

View file

@ -9,6 +9,7 @@ _db: aiosqlite.Connection | None = None
async def init_db() -> None: async def init_db() -> None:
global _db global _db
Path(config.DB_PATH).parent.mkdir(parents=True, exist_ok=True)
_db = await aiosqlite.connect(config.DB_PATH) _db = await aiosqlite.connect(config.DB_PATH)
_db.row_factory = aiosqlite.Row _db.row_factory = aiosqlite.Row
await _db.execute("PRAGMA journal_mode=WAL") await _db.execute("PRAGMA journal_mode=WAL")

24
run.bat Normal file
View file

@ -0,0 +1,24 @@
@echo off
chcp 65001 >nul
title Support Bot
:: Переходим в папку скрипта
cd /d "%~dp0"
:: Активируем venv если есть
if exist "venv\Scripts\activate.bat" (
call venv\Scripts\activate.bat
) else if exist ".venv\Scripts\activate.bat" (
call .venv\Scripts\activate.bat
)
:: Устанавливаем зависимости если нужно (раскомментировать при первом запуске)
:: pip install -r requirements.txt
python main.py
if %ERRORLEVEL% neq 0 (
echo.
echo [ОШИБКА] Бот завершился с кодом %ERRORLEVEL%
pause
)