diff --git a/bot.py b/bot.py index 622fc347..7c18c5d8 100644 --- a/bot.py +++ b/bot.py @@ -9,7 +9,7 @@ storage = MemoryStorage() dp = Dispatcher(bot=bot, storage=storage) router = Router() -from handlers import balance, keys, pay, profile, start, notifications +from handlers import balance, keys, notifications, pay, profile, start from key_management import router as key_management_router # Регистрация обработчиков diff --git a/handlers/instructions.py b/handlers/instructions.py index 8a4a9860..1a8db93a 100644 --- a/handlers/instructions.py +++ b/handlers/instructions.py @@ -1,6 +1,7 @@ from aiogram import types from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup + async def send_instructions(callback_query: types.CallbackQuery): instructions_message = ( "*📋 Инструкции по использованию вашего ключа:*\n\n" diff --git a/handlers/keys.py b/handlers/keys.py index 3c5d0b0f..0061644d 100644 --- a/handlers/keys.py +++ b/handlers/keys.py @@ -12,8 +12,10 @@ from database import get_balance, update_balance router = Router() from datetime import datetime, timedelta + import asyncpg from aiogram import Router, types + from auth import login_with_credentials from bot import bot from client import delete_client, extend_client_key diff --git a/handlers/notifications.py b/handlers/notifications.py index 52dbaf86..e2ebddb0 100644 --- a/handlers/notifications.py +++ b/handlers/notifications.py @@ -1,25 +1,28 @@ -import asyncpg from datetime import datetime, timedelta -from aiogram import Bot -from aiogram import Router, types -from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup # Импортируем необходимые классы -from bot import bot -from config import DATABASE_URL, ADMIN_ID + +import asyncpg +from aiogram import Bot, Router, types from aiogram.filters import Command -from database import get_all_users -from aiogram.fsm.state import StatesGroup, State from aiogram.fsm.context import FSMContext +from aiogram.fsm.state import State, StatesGroup +from aiogram.types import ( # Импортируем необходимые классы + InlineKeyboardButton, InlineKeyboardMarkup) + +from bot import bot +from config import ADMIN_ID, DATABASE_URL +from database import get_all_users router = Router() class NotificationStates(StatesGroup): waiting_for_notification_text = State() -import asyncpg from datetime import datetime, timedelta -from aiogram import Bot -from aiogram import Router, types + +import asyncpg +from aiogram import Bot, Router, types from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup + from bot import bot from config import DATABASE_URL diff --git a/handlers/pay.py b/handlers/pay.py index 8cd1a965..af8c9c5d 100644 --- a/handlers/pay.py +++ b/handlers/pay.py @@ -6,7 +6,8 @@ from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup from bot import bot from config import ADMIN_ID, DATABASE_URL -from database import get_balance, get_key_count, update_balance, add_connection, check_connection_exists +from database import (add_connection, check_connection_exists, get_balance, + get_key_count, update_balance) from handlers.profile import process_callback_view_profile router = Router() diff --git a/handlers/profile.py b/handlers/profile.py index 954699d7..da99f7dd 100644 --- a/handlers/profile.py +++ b/handlers/profile.py @@ -5,8 +5,8 @@ from aiogram.fsm.context import FSMContext from aiogram.fsm.state import State, StatesGroup from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup -from database import get_balance, get_key_count from bot import bot # Импортируем объект bot +from database import get_balance, get_key_count router = Router() diff --git a/handlers/start.py b/handlers/start.py index 85501960..401a986f 100644 --- a/handlers/start.py +++ b/handlers/start.py @@ -1,11 +1,11 @@ +import os + from aiogram import Router, types from aiogram.filters import Command from aiogram.fsm.context import FSMContext from aiogram.fsm.state import State, StatesGroup -from aiogram.types import (CallbackQuery, InlineKeyboardButton, - InlineKeyboardMarkup, Message) -from aiogram.types import BufferedInputFile -import os +from aiogram.types import (BufferedInputFile, CallbackQuery, + InlineKeyboardButton, InlineKeyboardMarkup, Message) from bot import bot from config import ADMIN_ID, CHANNEL_URL diff --git a/key_management.py b/key_management.py index 4555e1d3..ea24e9d9 100644 --- a/key_management.py +++ b/key_management.py @@ -13,13 +13,13 @@ from aiogram.types import (CallbackQuery, InlineKeyboardButton, from auth import link, login_with_credentials from bot import bot, dp from client import add_client -from config import (ADMIN_CHAT_ID, ADMIN_PASSWORD, ADMIN_USERNAME, API_TOKEN, +from config import (ADMIN_ID, ADMIN_PASSWORD, ADMIN_USERNAME, API_TOKEN, DATABASE_URL) from database import (add_connection, get_balance, has_active_key, store_key, update_balance) +from handlers.instructions import send_instructions from handlers.profile import process_callback_view_profile from handlers.start import start_command -from handlers.instructions import send_instructions router = Router() diff --git a/path_to_your_database b/path_to_your_database deleted file mode 100644 index e69de29b..00000000 diff --git a/requirements.txt b/requirements.txt index da4ce0e1..79be51df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,6 +6,7 @@ aiosqlite==0.20.0 annotated-types==0.7.0 anyio==4.4.0 async-timeout==4.0.3 +asyncpg==0.29.0 attrs==24.2.0 certifi==2024.8.30 charset-normalizer==3.3.2 @@ -16,11 +17,14 @@ h11==0.14.0 httpcore==1.0.5 httpx==0.27.2 idna==3.8 +isort==5.13.2 magic-filter==1.0.12 multidict==6.1.0 +numpy==2.1.1 py3xui==0.2.3 pydantic==2.5.3 pydantic_core==2.14.6 +pytz==2024.2 requests==2.32.3 sniffio==1.3.1 SQLAlchemy==2.0.34