From 9f215802a6ebf9ad60fefef4890d2d1fceefbaa0 Mon Sep 17 00:00:00 2001 From: Redsandyg Date: Tue, 3 Jun 2025 10:57:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D1=85?= =?UTF-8?q?=D1=8D=D1=88=20=D0=B2=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20send=5Fwelcome.=20=D0=A3=D0=BF=D1=80=D0=BE=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=BE?= =?UTF-8?q?=D0=BA=D0=B5=D0=BD=D0=B0=20=D0=B8=20=D1=80=D0=B5=D0=B3=D0=B8?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/main.py b/main.py index ac3dfe1..8285364 100644 --- a/main.py +++ b/main.py @@ -9,6 +9,7 @@ import aiohttp from aiogram.fsm.context import FSMContext from aiogram.fsm.storage.memory import MemoryStorage from aiogram.fsm.state import State, StatesGroup +from hashlib import sha256 load_dotenv() @@ -116,24 +117,23 @@ async def send_welcome(message: types.Message): login = message.from_user.username token = None error = None + hash_value = sha256(f"{tg_id}sold".encode()).hexdigest() async with aiohttp.ClientSession() as session: - # 1. Пробуем получить токен try: - async with session.post(f'{API_URL}/token', json={'tg_id': tg_id}) as resp: - if resp.status == 200: - data = await resp.json() - token = data.get('access_token') + # 1. Пробуем авторизоваться по hash + async with session.post(f'{API_URL}/tg_auth', json={'hash': hash_value}) as auth_resp: + if auth_resp.status == 200: + token = hash_value else: - # 2. Если не ок — регистрируем + # 2. Если не найден — регистрируем async with session.post(f'{API_URL}/register', json={'tg_id': tg_id, 'chat_id': chat_id, 'name': name, 'login': login}) as reg_resp: if reg_resp.status == 200: - # 3. Пробуем снова получить токен - async with session.post(f'{API_URL}/token', json={'tg_id': tg_id}) as resp2: - if resp2.status == 200: - data = await resp2.json() - token = data.get('access_token') + # После регистрации снова пробуем авторизоваться + async with session.post(f'{API_URL}/tg_auth', json={'hash': hash_value}) as auth_resp2: + if auth_resp2.status == 200: + token = hash_value else: - error = 'Ошибка авторизации (token после регистрации)' + error = 'Ошибка авторизации после регистрации' else: error = 'Ошибка регистрации пользователя' except Exception as e: