Переписанный бот с архитектурой толстое ядро (core/) + тонкие расширяемые модули (modules/).
/start- Пользователь вводит свой API-ключ
- Загружает Telegram-экспорт
- Выбирает цель
- Нажимает нужный модуль
Интерфейс — одно меню (одно редактируемое сообщение).
- Файл, загруженный через веб, сохраняется только в зашифрованном виде (
Fernet) и удаляется после чтения ботом. - При загрузке файла напрямую в Telegram — парсинг идет из байтов, без хранения raw-файла на диске.
Добавление новой функции делается как новый модуль, без переписывания ядра:
- зарегистрировать
BotModuleвModuleRegistry - реализовать
run(...)в новом модуле - кнопка появится в общем меню модулей
Встроенные модули сейчас:
🧬 AI Twin Prompt📖 Биография
core/config.py— env + settingscore/state.py— in-memory сессииcore/engine.py— key-pool + fallback моделей + валидация ключаcore/bot_app.py— Telegram-оркестрация и меню модулейmodules/module_registry.py— реестр модулейmodules/builtin_modules.py— встроенные модулиmodules/telegram_data.py— разбор Telegram экспорта + статистика стиляmodules/prompt_pipeline.py— шаблон генератора финального промптаmodules/secure_store.py— шифрованные blob-и загрузокmodules/access_store.py— SQLite ключи пользователейmodules/i18n.py+locales/ru.json— i18n слой
pip install -r requirements.txt
python tg_bot.pyВеб-загрузка:
python web_server.pyTG_BOT_TOKEN=...
ADMIN_ID=123456789
API_KEYS=key1,key2
BASE_URL=http://localhost:5000
LOCAL_DATA_DIR=/app/data
DEFAULT_LANG=ru
SECURE_BLOB_KEY=some_secret_for_fernet_derivation