diff --git a/bot/handlers/start.py b/bot/handlers/start.py
index 5975188..f8ab611 100644
--- a/bot/handlers/start.py
+++ b/bot/handlers/start.py
@@ -13,14 +13,19 @@ router = Router()
async def cmd_start(message: Message, state: FSMContext):
"""Обработчик команды /start"""
async with async_session_maker() as session:
+ # Проверяем, существует ли пользователь
+ existing_user = await UserService.get_user_by_telegram_id(session, message.from_user.id)
+ is_new_user = existing_user is None
+
+ # Создаём или получаем пользователя
user = await UserService.get_or_create_user(
session,
telegram_id=message.from_user.id,
username=message.from_user.username
)
- if user.created_at.timestamp() > (message.date.timestamp() - 60):
- # Новый пользователь (создан менее минуты назад)
+ if is_new_user:
+ # Новый пользователь
await message.answer(
f"👋 Привет, {message.from_user.first_name}!\n\n"
f"Я бот для изучения английского языка. Помогу тебе:\n"
@@ -28,15 +33,17 @@ async def cmd_start(message: Message, state: FSMContext):
f"✍️ Выполнять интерактивные задания\n"
f"💬 Практиковать язык в диалоге с AI\n"
f"📊 Отслеживать свой прогресс\n\n"
- f"Основные команды:\n"
- f"/add [слово] - добавить слово в словарь\n"
- f"/words [тема] - тематическая подборка\n"
- f"/vocabulary - мой словарь\n"
- f"/task - получить задание\n"
- f"/practice - диалог с AI\n"
- f"/stats - статистика\n"
- f"/settings - настройки\n"
- f"/help - справка\n\n"
+ f"Команды:\n"
+ f"• /add [слово] - добавить слово\n"
+ f"• /words [тема] - тематическая подборка\n"
+ f"• /import - импорт из текста\n"
+ f"• /vocabulary - мой словарь\n"
+ f"• /task - задания\n"
+ f"• /practice - диалог с AI\n"
+ f"• /stats - статистика\n"
+ f"• /settings - настройки\n"
+ f"• /reminder - напоминания\n"
+ f"• /help - полная справка"
)
# Предлагаем пройти тест уровня
@@ -56,11 +63,14 @@ async def cmd_start(message: Message, state: FSMContext):
# Существующий пользователь
await message.answer(
f"С возвращением, {message.from_user.first_name}! 👋\n\n"
- f"Готов продолжить обучение?\n"
- f"/vocabulary - посмотреть словарь\n"
- f"/task - получить задание\n"
- f"/practice - практика диалога\n"
- f"/stats - статистика"
+ f"Готов продолжить обучение?\n\n"
+ f"Быстрый доступ:\n"
+ f"• /vocabulary - посмотреть словарь\n"
+ f"• /task - получить задание\n"
+ f"• /practice - практика диалога\n"
+ f"• /words [тема] - тематическая подборка\n"
+ f"• /stats - статистика\n"
+ f"• /help - все команды"
)
@@ -70,19 +80,20 @@ async def cmd_help(message: Message):
await message.answer(
"📖 Справка по командам:\n\n"
"Управление словарём:\n"
- "/add [слово] - добавить слово в словарь\n"
- "/vocabulary - просмотр словаря\n"
- "/words [тема] - тематическая подборка слов\n"
- "/import - импортировать слова из текста\n\n"
+ "• /add [слово] - добавить слово в словарь\n"
+ "• /vocabulary - просмотр словаря\n"
+ "• /words [тема] - тематическая подборка слов\n"
+ "• /import - импортировать слова из текста\n\n"
"Обучение:\n"
- "/task - получить задание (перевод, заполнение пропусков)\n"
- "/practice - диалоговая практика с ИИ (6 сценариев)\n\n"
+ "• /task - задание (перевод, заполнение пропусков)\n"
+ "• /practice - диалог с ИИ (6 сценариев)\n"
+ "• /level_test - тест определения уровня\n\n"
"Статистика:\n"
- "/stats - твой прогресс\n\n"
+ "• /stats - твой прогресс\n\n"
"Настройки:\n"
- "/settings - настройки бота\n"
- "/reminder - ежедневные напоминания\n\n"
- "Ты также можешь просто отправить мне слово, и я предложу добавить его в словарь!"
+ "• /settings - уровень и язык\n"
+ "• /reminder - ежедневные напоминания\n\n"
+ "💡 Ты также можешь просто отправить мне слово, и я предложу добавить его в словарь!"
)
diff --git a/config/settings.py b/config/settings.py
index 73881d9..1102dc1 100644
--- a/config/settings.py
+++ b/config/settings.py
@@ -16,6 +16,10 @@ class Settings(BaseSettings):
# Database
database_url: str
+ postgres_user: str = "botuser"
+ postgres_password: str = "botpassword"
+ postgres_db: str = "language_bot"
+ db_port: str = "15433"
# App settings
debug: bool = False
diff --git a/requirements.txt b/requirements.txt
index d645cd2..7d24786 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,3 +7,4 @@ openai==1.57.3
pydantic>=2.4.1,<2.10
pydantic-settings==2.6.1
apscheduler==3.10.4
+greenlet==3.1.1