From 69c651c0318b775bee87622ddfdb5aaed022731a Mon Sep 17 00:00:00 2001 From: "mamonov.ep" Date: Mon, 8 Dec 2025 16:56:31 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D1=87=D0=B0=20user=5Fid=20=D0=B2=D0=BE=20=D0=B2=D1=81=D0=B5=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D1=8B=20AI=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B8=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлено: при выполнении задач использовалась глобальная модель вместо привязанной к пользователю. Обновлены все handlers и services для передачи user_id в AI методы. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .DS_Store | Bin 0 -> 8196 bytes bot/handlers/import_text.py | 4 +++- bot/handlers/level_test.py | 2 +- bot/handlers/practice.py | 9 ++++++--- bot/handlers/start.py | 1 + bot/handlers/tasks.py | 12 ++++++++---- bot/handlers/vocabulary.py | 3 ++- bot/handlers/words.py | 1 + services/task_service.py | 6 ++++-- ИДЕИ.txt | 3 +++ 10 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 .DS_Store create mode 100644 ИДЕИ.txt diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..dc14a65f11e7be109049c43082ad02acde23ecbd GIT binary patch literal 8196 zcmeHM!EO^V6dbo(SXv2HsGwYs_6LZ>A1oy~AcQIvPF#RAp+xLvOOhgbL3`&P_yxYN zCz$tap|!IGaY0l(OZIHMGxqbWH;x?u?(ls25EuZ+nFaUvSo9>hFL@(vg_;ARqaK)G zjuQ-7E;iU!VGfuB=72e14wwV~f&*N$CFNJF`~I$#=72fyUpgS)4+XPe8L;)JUmYxT z3qZ_Rt%=v%2dJh9SO#o8s+4W|-Gd8K7q%GA%Xz;LI5Qhj3{e%Hh+V4Lg)>zL*4C#)Mh z4`_HA@Rnx+rwR89ZW_l$js2ijAOGuBbdQ-~?ckHia( ztcu&(I!)TT^P9GM+Q1{W@wMZ~E=HYrWW;ne?pIyxYO>JpD(0z=UEWQ$C1dqZDrJk4 zF}o&HPGN@h<05HWeC)DwJR@6N?2TEy>hgE#C!Z!gm!~ynTni)-i8tzVKT^D+@(7Rdl>#_F4f@BZGq(ES|3zh*}k5VP|x(X9*{TD+lnFH6zfo&h_K=%LRtIz+h z(TFTmbHE(}wBwXE_5^J`{F!fQRMghlj2fS-T list: """Создать задания из списка слов в зависимости от типа (оптимизировано - 1 запрос к AI)""" import random @@ -240,7 +242,8 @@ async def create_tasks_from_words( ai_results = await ai_service.generate_task_sentences_batch( ai_tasks, learning_lang=learning_lang, - translation_lang=translation_lang + translation_lang=translation_lang, + user_id=user_id ) # Создаём маппинг: индекс в word_tasks -> результат AI @@ -401,7 +404,8 @@ async def process_answer(message: Message, state: FSMContext): check_result = await ai_service.check_answer( question=task['question'], correct_answer=task['correct_answer'], - user_answer=user_answer + user_answer=user_answer, + user_id=user.id if user else None ) await checking_msg.delete() diff --git a/bot/handlers/vocabulary.py b/bot/handlers/vocabulary.py index dd7d575..522c2ea 100644 --- a/bot/handlers/vocabulary.py +++ b/bot/handlers/vocabulary.py @@ -75,7 +75,8 @@ async def process_word_addition(message: Message, state: FSMContext, word: str): source_lang = user.learning_language if user else 'en' translation_lang = get_user_translation_lang(user) word_data = await ai_service.translate_word_with_contexts( - word, source_lang=source_lang, translation_lang=translation_lang, max_translations=3 + word, source_lang=source_lang, translation_lang=translation_lang, max_translations=3, + user_id=user.id if user else None ) # Удаляем сообщение о загрузке diff --git a/bot/handlers/words.py b/bot/handlers/words.py index 9fe5c38..eddb3d5 100644 --- a/bot/handlers/words.py +++ b/bot/handlers/words.py @@ -65,6 +65,7 @@ async def generate_words_for_theme(message: Message, state: FSMContext, theme: s count=10, learning_lang=user.learning_language, translation_lang=get_user_translation_lang(user), + user_id=user.id ) await generating_msg.delete() diff --git a/services/task_service.py b/services/task_service.py index 319810d..a1bcb89 100644 --- a/services/task_service.py +++ b/services/task_service.py @@ -205,7 +205,8 @@ class TaskService: sentence_data = await ai_service.generate_fill_in_sentence( word.word_original, learning_lang=learning_lang, - translation_lang=translation_lang + translation_lang=translation_lang, + user_id=user_id ) # Локализация заголовка @@ -321,7 +322,8 @@ class TaskService: ai_results = await ai_service.generate_task_sentences_batch( ai_tasks, learning_lang=learning_lang, - translation_lang=translation_lang + translation_lang=translation_lang, + user_id=user_id ) # Маппинг результатов diff --git a/ИДЕИ.txt b/ИДЕИ.txt new file mode 100644 index 0000000..73b9310 --- /dev/null +++ b/ИДЕИ.txt @@ -0,0 +1,3 @@ +Сделать задачки с помощью голосовых, человек должен написать что услышал, человек должен записать голосовой слова +Сделать задачки с картинками, человек должен написать что изоображено на картинке +Сделать задания по темам тип времён или неправильных глаголов на английском \ No newline at end of file