Fix
@@ -50,4 +50,5 @@ handlers/texts.py
|
||||
Thumbs.db
|
||||
|
||||
nginx.conf
|
||||
scripts
|
||||
scripts
|
||||
models.py
|
||||
@@ -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()
|
||||
|
||||
@@ -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 |
@@ -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,
|
||||
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||