From aa7121a1af6321228b063c0acbbe2680eb01e96a Mon Sep 17 00:00:00 2001 From: "mamonov.ep" Date: Wed, 10 Dec 2025 10:34:57 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D0=B8=D0=BC=D0=BF=D0=BE=D1=80=D1=82=20jso?= =?UTF-8?q?n=20=D0=B2=20ai=5Fservice,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D0=B0=20/generate=5Fwod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Исправлена ошибка NameError: name 'json' is not defined при генерации слова дня - Добавлена админ-команда /generate_wod для принудительной генерации слов дня 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- bot/handlers/admin.py | 28 ++++++++++++++++++++++++++++ services/ai_service.py | 1 + 2 files changed, 29 insertions(+) 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