This commit is contained in:
Zakhar Izmaylov
2024-11-17 14:09:05 +03:00
parent bea360b978
commit 1eab4cf29c
11 changed files with 29 additions and 13 deletions
+2 -1
View File
@@ -50,4 +50,5 @@ handlers/texts.py
Thumbs.db
nginx.conf
scripts
scripts
models.py
+1 -1
View File
@@ -2,10 +2,10 @@ from aiogram import Bot, Dispatcher, Router
from aiogram.fsm.storage.memory import MemoryStorage
from config import API_TOKEN, CRYPTO_BOT_ENABLE, FREEKASSA_ENABLE, ROBOKASSA_ENABLE, STARS_ENABLE, YOOKASSA_ENABLE
from middlewares.user import UserMiddleware
from middlewares.admin import AdminMiddleware
from middlewares.database import DatabaseMiddleware
from middlewares.logging import LoggingMiddleware
from middlewares.user import UserMiddleware
bot = Bot(token=API_TOKEN)
storage = MemoryStorage()
+17 -5
View File
@@ -438,10 +438,17 @@ async def get_tg_id_by_client_id(client_id: str):
await conn.close()
async def upsert_user(tg_id: int, username: str = None, first_name: str = None, last_name: str = None, language_code: str = None, is_bot: bool = False):
async def upsert_user(
tg_id: int,
username: str = None,
first_name: str = None,
last_name: str = None,
language_code: str = None,
is_bot: bool = False,
):
"""
Создает или обновляет информацию о пользователе в базе данных.
Args:
tg_id (int): Уникальный идентификатор пользователя в Telegram
username (str, optional): Никнейм пользователя
@@ -465,9 +472,14 @@ async def upsert_user(tg_id: int, username: str = None, first_name: str = None,
is_bot = EXCLUDED.is_bot,
updated_at = CURRENT_TIMESTAMP
""",
tg_id, username, first_name, last_name, language_code, is_bot
tg_id,
username,
first_name,
last_name,
language_code,
is_bot,
)
# Создаем запись в connections, если ее еще нет
await conn.execute(
"""
@@ -475,7 +487,7 @@ async def upsert_user(tg_id: int, username: str = None, first_name: str = None,
VALUES ($1, 0.0, 0)
ON CONFLICT (tg_id) DO NOTHING
""",
tg_id
tg_id,
)
finally:
await conn.close()

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

+2 -1
View File
@@ -10,7 +10,7 @@ from loguru import logger
from robokassa import HashAlgorithm, Robokassa
from bot import bot
from config import ROBOKASSA_ENABLE,ROBOKASSA_LOGIN, ROBOKASSA_PASSWORD1, ROBOKASSA_PASSWORD2, ROBOKASSA_TEST_MODE
from config import ROBOKASSA_ENABLE, ROBOKASSA_LOGIN, ROBOKASSA_PASSWORD1, ROBOKASSA_PASSWORD2, ROBOKASSA_TEST_MODE
from database import add_connection, check_connection_exists, get_key_count, update_balance
from handlers.texts import PAYMENT_OPTIONS
@@ -21,6 +21,7 @@ class ReplenishBalanceState(StatesGroup):
choosing_amount_robokassa = State()
waiting_for_payment_confirmation_robokassa = State()
if ROBOKASSA_ENABLE:
robokassa = Robokassa(
merchant_login=ROBOKASSA_LOGIN,
View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

+4 -2
View File
@@ -142,6 +142,8 @@ async def invite_handler(callback_query: types.CallbackQuery):
@router.callback_query(F.data == "view_profile")
async def view_profile_handler(callback_query: types.CallbackQuery, state: FSMContext,admin:bool):
async def view_profile_handler(
callback_query: types.CallbackQuery, state: FSMContext, admin: bool
):
await state.clear()
await process_callback_view_profile(callback_query, state,admin)
await process_callback_view_profile(callback_query, state, admin)
+3 -3
View File
@@ -14,7 +14,7 @@ class UserMiddleware(BaseMiddleware):
data: Dict[str, Any],
) -> Any:
user: User = data.get("event_from_user")
if user:
await upsert_user(
tg_id=user.id,
@@ -22,7 +22,7 @@ class UserMiddleware(BaseMiddleware):
first_name=user.first_name,
last_name=user.last_name,
language_code=user.language_code,
is_bot=user.is_bot
is_bot=user.is_bot,
)
return await handler(event, data)