---
project: vibe-coding
type: plan
date: 2026-04-10
status: superseded
superseded_by: "{vibe-coding} {plan} tasks-bot obsidian – 2026-04-29.md"
---

> **Заменён** новым дизайном от 2026-04-29: `{vibe-coding} {plan} tasks-bot obsidian – 2026-04-29.md`.
> Причина: задачи переезжают из TickTick в Obsidian-вальт, чтобы быть контекстом для ИИ. TickTick остаётся только для бэклога текстов.

# TickTick Bot — Design Spec v1.0

## Что это

Telegram-бот для быстрого добавления задач в TickTick. Принимает текстовые сообщения, парсит их по шаблону, кладёт задачу в нужный проект и список. Каждое утро присылает дайджест задач на день.

---

## Архитектура

Один Python-процесс на Railway. Три модуля:

- **bot** — принимает сообщения, отвечает на команды, ведёт диалог при уточнении проекта/списка
- **parser** — парсит текст задачи в структуру (проект, список, название, дата)
- **scheduler** — каждое утро в 8:30 забирает задачи из TickTick и присылает дайджест в чат

**Стек:** Python + python-telegram-bot + TickTick API + Railway

---

## Формат задачи

```
[проект]/[список]: задача — дата   → сразу в список
[проект]: задача — дата            → бот спрашивает список
задача                             → бот спрашивает проект, потом список
```

**Проекты:** `марс` `канал` `консалтинг` `личное`

**Примеры:**
```
Марс/Педагоги: позвонить насчёт расписания — пятница
Канал: написать пост про хор — завтра
Купить кофе
```

**Даты:** сегодня, завтра, день недели, конкретная дата. Не указана — без дедлайна.

---

## Структура TickTick

```
📁 Марс        → списки внутри папки
📁 Канал       → списки внутри папки
📁 Консалтинг  → списки внутри папки
📁 Личное      → списки внутри папки
```

Inbox убран. Каждая задача всегда попадает в конкретный список.

---

## Диалог бота

**Сценарий 1 — указан проект, список не указан:**
```
Ты:  Марс: позвонить педагогу
Бот: В какой список?
     1. Педагоги
     2. Административное
     3. ...
Ты:  1
Бот: ✅ Добавлено в Марс / Педагоги
```

**Сценарий 2 — ничего не указано:**
```
Ты:  Купить кофе
Бот: В какой проект?
     1. Марс  2. Канал  3. Консалтинг  4. Личное
Ты:  4
Бот: В какой список?
     1. ...
Ты:  1
Бот: ✅ Добавлено в Личное / ...
```

---

## Команды

| Команда | Что делает |
|---------|------------|
| просто текст | создаёт задачу в TickTick |
| `/today` | задачи на сегодня по всем проектам |

---

## Дайджест

Каждый день в 8:30 бот сам присылает задачи на сегодня по всем проектам. Ничего делать не нужно.

---

## Вне скоупа v1

- Голосовой ввод
- GPT-парсинг
- Задачи из митингов
- Редактирование задач
- Управление списками
- Статистика

---

## Бэклог

### v2
- Задачи из митингов — Claude разбирает транскрипт из vault, предлагает задачи, пользователь подтверждает, бот пушит в TickTick
- Редактирование задач из бота — команда `/edit`, можно поменять дедлайн или переложить задачу в другой список без открытия TickTick

### v3
- Голосовой ввод — Telegram передаёт транскрипт, бот парсит как обычный текст
- Умное распределение по спискам — GPT определяет список по смыслу задачи, если список не указан

### v4
- Управление списками из бота — создание новых списков
- Статистика — сколько задач закрыто за неделю по каждому проекту
