LBO Task
Трекер задач, который живёт в чате команды. Бот Ошка ставит задачи из обычных сообщений, сам напоминает о сроках, каждое утро присылает сводку и считает деньги по проектам.
Открыть task.lbo.ru
Открыть сайт ↗Результат
- Ошка в чатевместо отдельного трекера — команда не уходит из Telegram
- 10 командили просто «Ошка, …» обычным текстом
- Каждое утросводка по задачам, по пятницам — итоги недели
- 3 входачат, мини-приложение и веб
Что сделали.
Бот
Ошка работает в групповом чате команды. «/task Сделать лендинг #lbo @misha до пятницы !!» — и задача уже на канбане нужного проекта, с исполнителем, сроком и важностью; строки с «- » становятся чек-листом. Можно ответить /task на любое сообщение, а если бот админ — просто написать «+ купить домен завтра» или «Ошка, напомни в 18 отправить счёт».
Интеграции
Бот общается с командой по карточкам задач: ответ «беру», «в работу», «на проверку» или «готово» меняет статус, любой другой текст становится комментарием. Всё, что происходит в приложении, Ошка пересказывает в чат: кто взял задачу, что закрыли, что ушло на проверку.
Бот
Напоминает обо всём сам. Понимает «завтра в 11», «в пятницу», «через 2 часа», присылает напоминания и наступившие сроки в чат с кнопками «+15 мин», «+1 час», «Завтра». «/remind завтра в 10 созвон» напомнит всему чату. По будням утром — сводка: просрочено, на сегодня, в работе, ждёт проверки. В пятницу вечером — итоги недели: кто что закрыл и что опаздывает.
Веб-приложение
Доска проектов в мини-приложении Telegram и на task.lbo.ru: колонки «Сделать», «В работе», «На проверке», «Готово», перетаскивание, подзадачи, ответственный, приоритет, метки, комментарии, файлы и история изменений. Вход на компьютере — одной кнопкой в боте, без пароля.
CRM
Финансы по проектам: доходы и расходы по месяцам, регулярные платежи создаются сами. Вкладка «Доли» делит профит между партнёрами по формулам, которые раньше жили в Google-таблице: договор, налог, оплачено, расходы, кубышка и выплаты. Команда /money присылает финансы за месяц прямо в чат.
Зачем
Команда LBO вела задачи в чатах, и они терялись в переписке. Отдельный трекер никто не открывал, поэтому мы не стали уводить людей из Telegram, а посадили трекер прямо в рабочий чат. Ошка — такой же участник группы: ему пишут обычными словами, он отвечает, ставит задачи на доску, напоминает о сроках и сам подводит итоги. Менять задачи могут только участники проекта, остальные в чате видят сводки.
Посмотреть можно без регистрации: демо на task.lbo.ru с вымышленными данными или бот @LBOshka_bot.
Инженерные задачи
- Хостинг без вебхуков. Серверы Telegram не могут достучаться до обычного shared-хостинга, поэтому бот сам опрашивает Telegram каждую минуту по cron, по IPv6 и короткими запросами по 5 секунд. Из того же цикла уходят напоминания, утренние сводки и регулярные платежи.
- Один чат — несколько проектов. Группу можно привязать к нескольким проектам; бот угадывает проект по #тегу, а при превращении группы в супергруппу переносит привязки сам.
- Безопасный вход. В мини-приложении бэкенд проверяет подпись Telegram. На сайте вход подтверждается в боте одноразовой ссылкой, которая живёт 5 минут. Сессия хранится в защищённой cookie с защитой от CSRF.
- Файлы без публичного доступа. Вложения лежат вне веб-папки, и скачать их можно только по подписанной ссылке с ограниченным сроком.
- Старая SQLite на хостинге. Миграции только добавляют таблицы и колонки и идут в транзакции, а бэкап работает без новых команд SQLite.
Около 6 500 строк кода, 22 таблицы в базе, ни одного фреймворка и ни одной runtime-зависимости.





