diff --git a/bot/handlers/admin.py b/bot/handlers/admin.py index 83e2487..f3c7224 100644 --- a/bot/handlers/admin.py +++ b/bot/handlers/admin.py @@ -100,3 +100,31 @@ async def admin_close(callback: CallbackQuery): await callback.message.delete() await callback.answer() + + +@router.message(Command("generate_wod")) +async def cmd_generate_wod(message: Message): + """Принудительная генерация слов дня""" + if not is_admin(message.from_user.id): + return + + from services.wordofday_service import wordofday_service + + await message.answer("⏳ Запускаю генерацию слов дня...") + + try: + results = await wordofday_service.generate_all_words_for_today() + total = results.get("en", 0) + results.get("ja", 0) + errors = results.get("errors", 0) + + text = ( + "✅ Генерация завершена\n\n" + f"📊 Всего сгенерировано: {total}\n" + f"🇬🇧 Английский: {results.get('en', 0)}\n" + f"🇯🇵 Японский: {results.get('ja', 0)}\n" + f"❌ Ошибок: {errors}" + ) + except Exception as e: + text = f"❌ Ошибка генерации: {e}" + + await message.answer(text) diff --git a/services/ai_service.py b/services/ai_service.py index 434c66e..cd9a84a 100644 --- a/services/ai_service.py +++ b/services/ai_service.py @@ -1,3 +1,4 @@ +import json import logging import httpx from openai import AsyncOpenAI