Импорт старой переписки из экспорта Telegram Desktop
- /import: прислать result.json с подписью /import в чат или боту в личку (или ответить на файл) - Парсер экспорта (zod): текст частями, упоминания по имени-ссылке, медиа, служебные сообщения - Импорт идемпотентен и не перезаписывает живые сообщения и ники - Экспорт другого чата в группе отклоняется; в личке чат определяется по экспорту - CLI import-history для файлов больше 20 МБ - /context показывает ID чата - Общие downloadFile и MEDIA_LABELS для живых сообщений, фото и импорта Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ Telegram-бот на Node.js + TypeScript + grammY, AI через Mastra (OpenRo
|
||||
|
||||
- `pnpm dev` — seed личностей + запуск с автоперезагрузкой (читает `.env`)
|
||||
- `pnpm seed` / `pnpm seed:dev` — синхронизировать личности из `constants/personas.ts` + `prompts/personas/*.md` с БД
|
||||
- `pnpm import-history:dev <result.json>` — загрузить экспорт чата из Telegram Desktop с диска (в проде — `/import` боту)
|
||||
- `pnpm typecheck` — проверка типов
|
||||
- `pnpm build` / `pnpm start` — сборка в `dist/` и запуск
|
||||
- Node.js 24 (`.nvmrc`); Mastra требует Node >= 22.13
|
||||
@@ -20,8 +21,8 @@ src/
|
||||
config.ts — чтение и валидация env
|
||||
types.ts — доменные типы (Persona, ChatMessage, ChatMember)
|
||||
constants/ — список личностей (id, название) и прочие константы
|
||||
scripts/ — отдельные точки входа (seed)
|
||||
libs/ — инфраструктура без бизнес-логики (SQLite и миграции, чтение промптов, форматирование Telegram)
|
||||
scripts/ — отдельные точки входа (seed, import-history)
|
||||
libs/ — инфраструктура без бизнес-логики (SQLite и миграции, промпты, форматирование Telegram, парсер экспорта)
|
||||
repositories/ — только SQL и маппинг строк в доменные типы, по репозиторию на таблицу
|
||||
services/ — бизнес-логика; зависят от репозиториев, не знают про grammY
|
||||
assistant/ — AI на Mastra: агент, промпты, tools
|
||||
|
||||
Reference in New Issue
Block a user