вова помоги
This commit is contained in:
@@ -5,6 +5,8 @@ import logging
|
||||
from instences.config import BASE_URL_FASTAPI
|
||||
import aiohttp
|
||||
from keyboard.keyboards import main_keyboard
|
||||
from aiogram.enums.parse_mode import ParseMode
|
||||
from .referrals import _build_referral_text
|
||||
|
||||
router = Router()
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -25,7 +27,8 @@ async def call_api(method, endpoint, data=None):
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.request(method, url, json=data) as response:
|
||||
logger.info(
|
||||
f"Получен ответ от {url}: статус {response.status}")
|
||||
f"Получен ответ от {url}: статус {response.status}"
|
||||
)
|
||||
|
||||
if response.status in {200, 201}:
|
||||
result = await response.json()
|
||||
@@ -35,7 +38,8 @@ async def call_api(method, endpoint, data=None):
|
||||
logger.debug(f"Код {response.status}, возвращаю ничего")
|
||||
return None
|
||||
logger.error(
|
||||
f"Ошибка в запросе: статус {response.status}, причина {response.reason}")
|
||||
f"Ошибка в запросе: статус {response.status}, причина {response.reason}"
|
||||
)
|
||||
return "ERROR"
|
||||
except Exception as e:
|
||||
logger.exception(f"Исключение при выполнении запроса к {url}: {e}")
|
||||
@@ -43,18 +47,11 @@ async def call_api(method, endpoint, data=None):
|
||||
|
||||
|
||||
def _welcome_text(username: str | None) -> str:
|
||||
uname = username or "птенец"
|
||||
return (
|
||||
f"🪽 Добро пожаловать в Lark VPN, {uname}!\n\n"
|
||||
"Здесь ты получаешь стабильный доступ к TikTok, YouTube, Discord, Instagram "
|
||||
"и другим сервисам без ограничений.\n\n"
|
||||
"1️⃣ Пополни баланс\n"
|
||||
"2️⃣ Выбери подходящий тариф\n"
|
||||
"3️⃣ Подключай конфиг на своих устройствах и забудь про блокировки.\n\n"
|
||||
"Следи за акциями и розыгрышами в канале:\n"
|
||||
"https://t.me/+0z5xqn3F1m02OTJi\n\n"
|
||||
"Lark держит связь. 🐣🦅"
|
||||
)
|
||||
"""
|
||||
Текст приветствия в /start и в главном меню.
|
||||
Имя пока не используем — оставляем сигнатуру на будущее.
|
||||
"""
|
||||
return "🥚 Lark Security\n\nВыберите действие из меню ниже."
|
||||
|
||||
|
||||
@router.message(Command("start"))
|
||||
@@ -72,8 +69,13 @@ async def start_command(message: Message):
|
||||
user_data = await call_api("GET", f"/user/{message.from_user.id}")
|
||||
if not user_data:
|
||||
logger.debug(
|
||||
"Пользователь не найден в базе, создаем новую запись.")
|
||||
await call_api("POST", "/user/create", {"telegram_id": message.from_user.id})
|
||||
"Пользователь не найден в базе, создаем новую запись."
|
||||
)
|
||||
await call_api(
|
||||
"POST",
|
||||
"/user/create",
|
||||
{"telegram_id": message.from_user.id},
|
||||
)
|
||||
|
||||
logger.debug("Отправка приветственного сообщения пользователю.")
|
||||
await message.answer(
|
||||
@@ -89,6 +91,28 @@ async def start_command(message: Message):
|
||||
await message.answer("Произошла ошибка. Попробуйте позже.")
|
||||
|
||||
|
||||
@router.message(Command("referrals"))
|
||||
async def referrals_menu_command(message: Message):
|
||||
"""
|
||||
Команда /referrals из бокового меню Telegram.
|
||||
Показывает текст реферальной программы.
|
||||
"""
|
||||
logger.info(
|
||||
f"Получена команда /referrals от пользователя: "
|
||||
f"{message.from_user.id} ({message.from_user.username})"
|
||||
)
|
||||
try:
|
||||
text = await _build_referral_text(message.bot, message.from_user.id)
|
||||
await message.answer(text, parse_mode=ParseMode.HTML)
|
||||
logger.info("Реферальная программа отправлена пользователю.")
|
||||
except Exception as e:
|
||||
logger.exception(
|
||||
f"Ошибка при обработке команды /referrals для пользователя "
|
||||
f"{message.from_user.id}: {e}"
|
||||
)
|
||||
await message.answer("Произошла ошибка. Попробуйте позже.")
|
||||
|
||||
|
||||
@router.callback_query(lambda callback: callback.data == "base")
|
||||
async def start_callback_handler(callback: CallbackQuery):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user