2025-12-22 08:31:07 +03:00

71 lines
2.9 KiB
Python

from aiogram import Router, types
from aiogram.filters import Command
from aiogram.types import Message
from datetime import datetime
from tg_bot.config.settings import settings
from tg_bot.infrastructure.database.database import SessionLocal
from tg_bot.infrastructure.database.models import UserModel
router = Router()
@router.message(Command("start"))
async def cmd_start(message: Message):
user_id = message.from_user.id
username = message.from_user.username or ""
first_name = message.from_user.first_name or ""
last_name = message.from_user.last_name or ""
session = SessionLocal()
try:
user = session.query(UserModel).filter_by(
telegram_id=str(user_id)
).first()
if not user:
user = UserModel(
telegram_id=str(user_id),
username=username,
first_name=first_name,
last_name=last_name
)
session.add(user)
session.commit()
print(f"Новый пользователь: {user_id}")
else:
user.username = username
user.first_name = first_name
user.last_name = last_name
session.commit()
except Exception as e:
print(f"Ошибка сохранения пользователя: {e}")
session.rollback()
finally:
session.close()
welcome_text = (
f"<b>Привет, {first_name}!</b>\n\n"
f"Я <b>VibeLawyerBot</b> - ваш помощник в юридических вопросах.\n\n"
f"<b>Как я работаю:</b>\n"
f"1. Администратор загружает документы в коллекции\n"
f"2. Вы задаёте вопрос на любую юридическую тему\n"
f"3. Я ищу ответы в ваших коллекциях документов\n"
f"4. Даю развернутый ответ на основе найденных документов\n"
f"5. Первые {settings.FREE_QUESTIONS_LIMIT} вопросов - бесплатно\n"
f"6. Для продолжения нужна подписка (/buy)\n\n"
f"<b>Основные команды:</b>\n"
f"• /help - подробная помощь\n"
f"• /buy - купить подписку\n"
f"• /stats - ваша статистика\n"
f"• /mypayments - история платежей\n"
f"• /mycollections - мои коллекции документов\n"
f"• /search - поиск в коллекции\n\n"
f"<b>Готовы начать?</b> Просто напишите ваш вопрос!\n\n"
f"<i>Для получения полного доступа используйте /buy</i>"
)
await message.answer(welcome_text, parse_mode="HTML")