57 lines
2.5 KiB
Python
57 lines
2.5 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.domain.user_service import UserService
|
|
|
|
router = Router()
|
|
user_service = UserService()
|
|
|
|
@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 ""
|
|
try:
|
|
existing_user = await user_service.get_user_by_telegram_id(user_id)
|
|
user = await user_service.get_or_create_user(
|
|
user_id,
|
|
username,
|
|
first_name,
|
|
last_name
|
|
)
|
|
if not existing_user:
|
|
print(f"Новый пользователь: {user_id}")
|
|
|
|
except Exception as e:
|
|
print(f"Ошибка сохранения пользователя: {e}")
|
|
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")
|