Факт в Telegram: текстом и голосом

Прорабу на объекте некогда открывать браузер. Бот @evanalysis_bot принимает факт обычным сообщением или голосовым до 30 секунд, показывает карточку с тем, что собирается записать, и записывает только после «Подтвердить».

Что это и кому доступно

Прорабу на объекте некогда открывать браузер. Поэтому факт выполнения можно записать прямо из Telegram — обычным сообщением или голосовым: бот @evanalysis_bot понимает, о какой работе речь, и показывает карточку с тем, что собирается записать. Пока вы не нажали «Подтвердить», в проекте не меняется ничего.

Это не отдельный упрощённый продукт: и бот, и панель «Спросить ИИ» в приложении обращаются к одному серверному механизму, поэтому одна и та же фраза означает в них одно и то же — вплоть до цифр на карточке. Различается только оформление: в чате это сообщение с кнопками, в приложении — карточка в переписке.

Права — ваши обычные. Бот видит и меняет ровно то же, что вы видите и меняете в вебе: ту же компанию, ту же роль, ту же область доступа к проектам. Участник с ролью «Наблюдатель» получит отказ: «У вас роль «Наблюдатель» — записывать факты может участник с правом редактирования».

Что нужно один раз настроить

Нужны две вещи, обе делаются один раз.

  • Привязать Telegram к аккаунту — в «Настройки» → «Telegram» нажать «Привязать Telegram» и перейти по ссылке (она живёт 10 минут). Пошагово, со скриншотами — в «Триггеры и Telegram». Там же объяснено, что по этой же привязке приходят уведомления о срабатывании триггеров.
  • Включить ИИ-функции — это делает владелец компании в «Настройки» → «ИИ-функции», подтверждая согласие. Что именно уходит поставщику и что не уходит никогда — в «Включение ИИ и данные».

Пока ИИ у компании не включён, бот работает как раньше: пересылает сообщение в вашу переписку с поддержкой. Включение добавляет возможность, выключение её убирает — поддержка не ломается ни в одном из состояний. Команда /help отвечает всегда, даже до включения, и перечисляет ровно те примеры, которые бот понимает сегодня.

Факт текстом: сообщение и карточка

Напишите боту факт обычной фразой — работа, процент выполнения и сумма затрат, в любом порядке и своими словами:

Рабочка 80 %, оплатили 5 млн

В ответ приходит карточка подтверждения. Сумма в ней — точная, а не «5 млн»: вы подтверждаете запись, а не намерение. Часть, которую вы не называли, на карточке не показывается — строки «затраты +0 ₽» там не будет.

Записать: Рабочая документация — 80 % выполнения, затраты +5 000 000 ₽, дата 21.10.2026? Проект: Модернизация цеха №5 Выполнение: 60 % → 80 % Затраты накопленным итогом: 12 000 000 ₽ → 17 000 000 ₽ [ Подтвердить ] [ Исправить ] [ Отмена ]

Строки «было → стало» важнее заголовка: по ним видно не только результат, но и шаг, который вы делаете. «Исправить» снимает карточку и просит написать факт заново с исправленными цифрами — старые цифры после этого подтвердить уже нельзя. После «Подтвердить» карточка перерисовывается:

Записано: Рабочая документация — Модернизация цеха №5. Выполнение: 80 %. Затраты накопленным итогом: 17 000 000 ₽. [ Как это повлияло на CPI? ] [ Отменить ]

Запись идёт тем же путём, что и ввод факта в приложении, — она сразу видна на экране задач, в истории работы и в пересчитанных показателях проекта (см. «Ввод факта по задаче»). «Отменить» помечает запись отменённой и пересчитывает показатели обратно; отменить можно только свою запись — чужую не может отменить никто, ни в боте, ни в приложении.

Та же фраза работает и в приложении: наберите её в панели «Спросить ИИ» в карточке проекта — и придёт та же карточка, с тем же заголовком и теми же строками «было → стало», потому что их собирает один и тот же серверный код. Разница в мелочи: в панели проект уже открыт, поэтому про него не спрашивают, а «Исправить» не просит набрать фразу заново — оно подставляет в поле ввода распознанные значения, чтобы поправить нужное.

Когда помощник переспрашивает и когда отказывает

Помощник не угадывает. Если под названием подходит несколько работ, он спрашивает кнопками — нажатие возвращает ту же фразу уже с выбранной работой, переписывать её не нужно:

Нашёл несколько похожих работ. По какой записать? [ Монтаж металлоконструкций ] [ Монтаж оборудования ] [ Отмена ]

Проект, в отличие от работы, вопросом не становится. У фразы в чате нет экрана, с которого можно прочитать текущий проект, поэтому при нескольких проектах бот отвечает по последнему активному — тому, куда вы последним записали факт, — и ставит под ответом кнопку «Другой проект». Спрашивать сначала значило бы сделать каждое сообщение двухтактным.

Остальные отказы называют следующий шаг, а не просто «нельзя»:

  • «Не нашёл работу «…» в этом проекте. Напишите название так, как оно звучит в списке задач» — выдуманное название просто не находится и запись не создаёт.
  • «„Коробка“ состоит из подзадач — факт вводится по ним, а по этой работе показатели считаются сами».
  • «Дата 25.10.2026 ещё не наступила — факт можно записать на сегодня или на прошедший день» — будущей датой факт не записывается.
  • «По „Кладке стен“ уже записано 60 % — 40 % меньше. Исправить прошлую запись можно в приложении» — выполнение не уменьшается задним числом.

А если непонятно вообще, бот не делает вид, что понял: «Не понял, что нужно. Можно так: «рабочка 80 %, оплатили 5 млн», «сдвинь кладку на неделю», «что изменилось за неделю?»».

Голосом: 30 секунд и строка «Услышал»

Всё то же самое можно сказать голосовым сообщением — до 30 секунд. Отдельных «голосовых команд» не существует: распознанный текст идёт туда же, куда напечатанный, поэтому голосом работают и факт, и перенос сроков, и вопрос по проекту.

Единственное, что добавляет голос, — строка над ответом. Она обязательна и стоит на любом исходе, а не только на карточке: подтверждать цифру, которую помощник лишь услышал, можно только увидев, что именно он услышал.

Услышал: «рабочая документация 80 процентов, оплатили 5 млн» Записать: Рабочая документация — 80 % выполнения, затраты +5 000 000 ₽, дата 21.10.2026?

Если вы сказали «рабочка восемьдесят процентов, оплатили пять лямов», а в строке «Услышал» стоит другое — всё в порядке. Стройку распознаватель слышит не так, как диктофон в офисе, поэтому между распознаванием и разбором текст проходит через словарь строительного жаргона: «рабочка» → «рабочая документация», «нулевик» → «нулевой цикл», «вентфасад» → «вентилируемый фасад», «лямы» → «млн», «косари» → «тыс», «СМР» и «ПНР» — в полные названия. Числа приходят от распознавателя цифрами, так что «пять» становится «5» и без словаря. В строке «Услышал» показан результат этой нормализации — то есть ровно тот текст, который помощник и будет разбирать.

Словарь растёт по обращениям: если помощник не понял слово, которое у вас на объекте говорят все, напишите в поддержку — это одна строка в справочнике. Название работы, кроме того, сопоставляется с задачами вашего проекта тем же механизмом, что и у напечатанного факта, поэтому точного попадания в формулировку из графика не требуется.

Что бот отвечает, когда не получилось:

  • «Голосовое длиннее 30 секунд я не разберу. Скажите покороче — одна работа, один факт или один вопрос — или напишите текстом». Ограничение не про цену: в длинном сообщении почти всегда несколько разных намерений, и на нём ошибается уже разбор, а не распознавание.
  • «Не разобрал ни слова — шумно или запись пустая. Попробуйте ещё раз или напишите текстом».

Сроки и вопросы — в том же чате

В том же чате работает всё остальное, что умеет помощник, — потому что бот и приложение используют один и тот же механизм.

  • Перенос сроков. «Сдвинь кладку на неделю» приходит карточкой с датами до и после, расширением родительского этапа, сдвигом плановой S-кривой и строкой о том, что связанные задачи не двигаются, — ровно той же, что в приложении. Кнопки: «Подтвердить» и «Отмена», после применения — «Отменить». Подробно — в «Сдвиг дат по запросу».
  • Вопросы по проекту. «Что изменилось за неделю?» — ответ текстом с датой данных внизу: «Данные на 21.10.2026». Таблицы разворачиваются в компактный список вида «Кладка стен: CPI 0,92 · SPI 1,01»: четыре колонки на телефоне складываются друг на друга и читаются хуже, чем строки. Что помощник отвечает и откуда берёт числа — в «ИИ-аналитик».
  • «Как это повлияло на CPI?» — кнопка под только что записанным фактом. Это обычный вопрос аналитику, просто заданный нажатием вместо набора.

Чего в чате нет: выбора модели (в Telegram работает «Быстрая», как по умолчанию в панели) и списка чатов — переписка с помощником по темам живёт в приложении.

Лимиты, данные и что делать, если не сработало

Одно сообщение — один запрос из лимита компании, и голосовое здесь ничем не отличается от напечатанного: распознавание речи оплачивается отдельно в рублях месячного бюджета, но запроса не расходует. Нажатия кнопок — выбор работы, «Подтвердить» — тоже не расходуют ничего: помощника уже спросили один раз. «Отменить» не проходит проверку лимитов вовсе, иначе исчерпанный месяц оставлял бы человека с правкой, которую он просит убрать.

Когда лимит кончился, бот говорит об этом прямо и называет, когда счётчик обнулится. Полоски остатка видны в приложении — в «Настройки» → «ИИ-функции» и под полем ввода панели «Спросить ИИ».

Что уходит поставщику. Текст вашего сообщения и — для голосового — сама аудиозапись, плюс выборки по проекту, нужные для ответа. ФИО, почта, телефоны и платёжные данные не передаются. Сам файл голосового скачивает приложение, а не бот. Полный перечень, срок хранения и то, как всё это выключить, — в «Включение ИИ и данные».

Если бот молчит или отвечает не по делу. Сообщение, которое помощник не обрабатывает, уходит в вашу переписку с поддержкой — там на него ответит человек (см. «Обращение в поддержку»). Карточка живёт 30 минут: если нажать «Подтвердить» позже, бот ответит «Предложение устарело — с момента, когда я его посчитал, прошло больше получаса, и данные могли измениться. Повторите запрос». Это не придирка: за полчаса ту же работу мог поправить коллега, и подтверждать старые цифры было бы неверно.

Теория в «Аналитике»

Как этот экран считает то, что показывает, и почему метрика устроена именно так.

  • План-факт анализ

    Классический план-факт сравнивает «потратили vs бюджет» — и может врать: можно быть в рамках бюджета и при этом отставать по объёму на 20%. Объясняем, как CV/SV из метода освоенного объёма выявляют это до конца квартала, и даём шаблон разбора отклонений из 5 блоков.

  • Метод за 10 минут

    Отчёт подрядчика говорит «работы идут по графику». Бухгалтерия говорит «потратили 75 из 120 миллионов». Оба правы — и оба ничего не сказали о судьбе проекта. Метод освоенного объёма отвечает третьим числом.