Studio
Телеграм-бот · Голос и календарь

Ассистент расписания в Телеграме

Бот-ассистент расписания: наговариваешь или пишешь обычными словами, он сам разбирает дату, время и повтор, кладёт событие в общий календарь и напоминает всем участникам.

Ассистент расписания в Телеграме

Контекст

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

Переписка с ассистентом: голосовое превратилось в запись, следом напоминания и список дел на неделю

Решение

Боту пишут или наговаривают обычными словами: «созвон завтра в 15:30», «обед с Аней сегодня в 14:00 в кафе», «тренировки по вторникам и четвергам в 19:00 до конца мая». Он распознаёт голосовое, разбирает фразу и сразу отвечает подтверждением — что именно он записал и на какое время, чтобы ошибка была видна сразу, а не в день встречи.

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

Расписание можно не только пополнять, но и править словами: «перенеси созвон на 19:00», «переименуй планёрку в стендап», «удали встречу завтра». Если под фразу подходит несколько событий, бот присылает список и просит уточнить, а не удаляет наугад.

Утренний список дел и напоминания за 30 и за 10 минут до события

Голосовое превратилось в запись в расписании, рядом — сводка на неделю по дням

Как устроено

  • Ввод. Текст и голосовые сообщения, обычные формулировки без команд и шаблонов.
  • Разбор. Дата, время, длительность, место и правило повтора вытаскиваются из фразы; по умолчанию встреча длится час.
  • Повторы. Бессрочные, до указанной даты или заданное число раз.
  • Общий календарь. Событие одно на всех участников, видно в обычном календаре на телефоне.
  • Напоминания. Список дел утром и отдельные напоминания за 30 и за 10 минут до каждого события.
  • Доступ. Бот отвечает только заранее добавленным участникам, посторонним он просто не отвечает.

Роль и результат

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

Расскажите о своём проекте

Шаг 1 из 3