Telegram

Бот отвечает инвесторам без меня: автоматические отчёты по виллам прямо в Telegram

Каждый месяц у меня была одна и та же история. Инвесторы начинали писать. «Юрий, как дела по вилле за март?» «Какая загрузка в феврале?» «Когда будет выплата?» Семь человек, у каждого вилла или доля в нескольких. Каждый хочет знать свои цифры.

Я лезу в систему. Нахожу нужную виллу. Вытаскиваю бронирования за месяц. Считаю загрузку. Проверяю выручку. Форматирую ответ. Отправляю. Следующий. Ещё раз. И так семь раз.

Полчаса минимум. Каждый месяц. Иногда в выходной, иногда поздно вечером, потому что инвесторы живут в разных часовых поясах и пишут, когда им удобно.

31 марта 2026 года я закрыл этот вопрос раз и навсегда.

Почему это вообще было ручным

Технически данные уже были в системе. У меня с нескольких месяцев назад работал финансовый мониторинг — база данных с бронированиями, выручкой, загрузкой по каждой вилле. Информация актуальная, обновляется автоматически.

Проблема была в интерфейсе. Данные были в базе, а инвестор был в Telegram. Между ними стоял я: как переводчик между системой и человеком, который хочет просто получить ответ на свой вопрос.

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

Значит, нужен бот, который понимает вопрос и сам достаёт нужные данные.

Как это работает

Архитектура получилась простой. Бот работает через Telegram API. У него есть список авторизованных пользователей — только те Telegram ID, которые есть в базе как инвесторы. Все остальные получают стандартный ответ «этот бот не для публичного использования».

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

  • Определяет Telegram ID отправителя
  • Ищет его в таблице инвесторов в базе данных
  • Смотрит, какие виллы за ним закреплены
  • Запрашивает данные по этим виллам за нужный период
  • Форматирует ответ и отправляет

Весь этот процесс занимает несколько секунд. Инвестор не ждёт, пока я открою ноутбук и полезу в базу. Бот отвечает мгновенно.

Что хранится в базе

Ключевое дизайн-решение: вся конфигурация в базе данных, не в коде. Это значит, что добавить нового инвестора или изменить привязку вилл — это одна SQL-команда, после которой всё работает сразу. Не нужно менять код, перезапускать бот или деплоить обновление.

Таблица инвесторов простая:

investors:
  id, telegram_id, name, telegram_username, active

investor_villas:
  investor_id, villa_id, share_percentage, notes

Когда нужно подключить нового партнёра — добавляю его Telegram ID в таблицу инвесторов, привязываю вилл через investor_villas, и через минуту он уже может писать боту и получать данные.

31 марта именно так подключил нового партнёра по вилле 061#. Добавил запись в базу. Написал ему, что теперь может писать боту напрямую. Через минуту он прислал первый вопрос и получил полный отчёт за март: 110 забронированных ночей, 32,5 миллиона рупий выручки, 40 бронирований.

Как бот понимает вопрос

Инвесторы не пишут SQL-запросы. Они пишут живым языком: «покажи март», «что по загрузке за прошлый месяц», «когда ближайшая свободная дата у виллы».

Для распознавания намерения использую Claude API. Бот передаёт сообщение в Claude с системным промптом, описывающим доступные типы запросов. Claude возвращает структурированный ответ: тип запроса (статистика за период, ближайшие бронирования, история выплат) и параметры (период, конкретная вилла если упомянута).

Это намного надёжнее, чем пытаться распарсить текст регулярными выражениями. Инвестор может написать «как апрель?» или «апрельские цифры» или «что там по апрелю» — Claude понимает все три варианта одинаково.

Если запрос непонятен или выходит за рамки того, что бот умеет, — он вежливо объясняет, что может и чего не может: «Могу показать статистику по вашим виллам за любой период, ближайшие бронирования или историю выплат. Что именно вас интересует?»

Пример отчёта

Вот как выглядит типичный ответ на вопрос «покажи март»:

Статистика по вашим виллам за март 2026

Вилла 061# (Чангу)
Загрузка: 73% (22 из 31 ночи)
Выручка: 32 500 000 IDR
Бронирований: 8 (средняя длина 2.7 ночи)
Ваша доля (50%): 16 250 000 IDR

Вилла 044# (Семиньяк)
Загрузка: 61% (19 из 31 ночи)
Выручка: 24 200 000 IDR
Бронирований: 6 (средняя длина 3.2 ночи)
Ваша доля (30%): 7 260 000 IDR

Итого доля: 23 510 000 IDR (~$1 440)

Инвестор видит именно то, что ему нужно: свои виллы, своя доля, конкретные цифры. Не чужие данные, не весь портфель из 16 объектов — только то, что к нему относится.

Важная деталь: изоляция данных

У меня 11 инвесторов с разными виллами и долями. Принципиально важно, чтобы каждый видел только своё. Инвестор А не должен видеть виллы инвестора Б, даже если случайно спросит о них.

Изоляция работает на уровне базы данных. Бот никогда не достаёт данные «по вилле X» напрямую. Он достаёт данные «по виллам, закреплённым за инвестором с этим Telegram ID». Даже если инвестор каким-то образом укажет ID чужой виллы в сообщении — бот проверит по базе, что эта вилла за ним не закреплена, и ответит только по своим.

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

Когда мои автоответы отключены — бот всё равно работает

Одна из причин, почему я хотел этот бот — разделить «отвечаю инвесторам» и «отвечаю всем остальным».

У меня несколько Telegram-аккаунтов и ботов. Иногда я отключаю автоответы на один аккаунт — например, когда занят конкретным проектом и не хочу отвлекаться на входящие. Но инвесторы должны получать ответы всегда, независимо от того, что я делаю в данный момент.

Инвесторский бот работает отдельно от моих личных ботов и автоответчиков. Он не зависит от того, онлайн я или нет. Инвестор в Москве в 3 часа ночи по Бали может написать «какой апрель?» и получить ответ немедленно — пока я сплю.

Что изменилось после запуска

До запуска: инвестор пишет → я отвечаю через несколько часов (или когда увижу сообщение) → он доволен или немного раздражён ожиданием.

После запуска: инвестор пишет → бот отвечает за несколько секунд → я узнаю об этом из уведомления (или не узнаю, если всё прошло штатно).

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

Это, кстати, полезно и для меня. Чем чаще инвестор проверяет данные, тем лучше он понимает состояние своей виллы. Меньше тревоги, меньше звонков «объясни что происходит», больше доверия к системе в целом.

Что бот не делает (и правильно)

Бот не принимает никаких решений и не выполняет никаких действий. Он только читает данные и отвечает на вопросы. Никаких изменений в базе через бота, никаких транзакций, никаких обязательств.

Это сознательное ограничение. Доверие инвесторов строится на том, что система прозрачна, но не может навредить. Бот — это окно в данные, не рычаг управления.

Если инвестор хочет что-то изменить (поменять даты блокировки, уточнить условия аренды) — это идёт через меня. Бот об этом честно говорит: «Для изменений свяжитесь с управляющим напрямую». Это граница, которую я намеренно не убираю.

Масштабирование: добавить нового инвестора за пять минут

Протестировал сценарий добавления нового инвестора 31 марта, когда подключал партнёра по вилле 061#. Весь процесс:

  • Спросить Telegram username нового инвестора
  • Найти его Telegram ID (через бот или через API)
  • Добавить запись в таблицу investors
  • Добавить привязку виллы в investor_villas с указанием доли
  • Написать инвестору, что теперь может пользоваться ботом

Пять минут. После этого — всё. Инвестор пишет боту, бот видит его в базе, отдаёт данные по его объектам. Никаких дополнительных настроек, никакого кода.

Это работает потому что конфигурация в данных, а не в логике. Если бы я хардкодил список инвесторов в коде — каждое изменение требовало бы деплоя. С базой данных — это просто добавление строки.

Применимость за пределами вилл

Я рассказываю про конкретный кейс с виллами и инвесторами, но схема работает для любой ситуации, где у вас есть:

  • Несколько людей, которым нужен доступ к разным подмножествам одних и тех же данных
  • Данные, которые обновляются автоматически и хранятся в базе
  • Потребность отвечать быстро, независимо от вашей доступности

Это может быть клиентский сервис для SaaS-продукта (каждый клиент видит только свои метрики), HR-бот для сотрудников (каждый получает данные только по своему отпуску и зарплате), партнёрский портал (каждый партнёр видит свои продажи и комиссии).

Технически это одна и та же схема: Telegram-бот + авторизация по ID пользователя + изоляция данных на уровне базы + NLU для распознавания запроса.

Чему я учусь, делая это

Каждая такая автоматизация учит меня одному и тому же уроку в новом контексте: ценность не в технологии, а в устранении потерь.

Полчаса в месяц на ручные отчёты — это не большая потеря. Но это полчаса невозможно предсказуемого времени, которое случается тогда, когда инвестор написал, а не тогда, когда мне удобно. Это прерывание, которое ломает фокус. Это зависимость моей доступности для получения базовой информации.

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

В моей роли наладчика это именно то, что нужно делать: находить места, где я стою между данными и человеком, которому они нужны, и убирать себя из этой цепочки.

Итог:
— Бот авторизует инвестора по Telegram ID, смотрит его виллы в БД
— Claude распознаёт свободный текст → структурированный запрос
— Данные изолированы: каждый видит только свои объекты
— Добавить нового инвестора — 5 минут и 2 SQL-записи
— Работает независимо от моей доступности, в любое время суток
— После запуска инвесторы стали запрашивать данные чаще → больше доверия к системе

Читать также

Строю AI-систему управления бизнесом в прямом эфире

Подписывайся в Telegram — там выходят разборы, кейсы и инсайты прямо из процесса работы.

Подписаться в Telegram