Большинство объяснений внутренностей ботов написаны для программистов. Это — для человека, который за бота платит. Потому что достаточно понять четыре концепции, чтобы задавать любому разработчику острые вопросы, оценивать смету и знать, что будет принадлежать вам в конце.
Три подвижные части
Приложения Telegram, которые у пользователей уже есть
Для клиента бот — просто ещё один чат. Telegram берёт на себя доставку, шифрование в пути и push-уведомления — эту инфраструктуру вы получаете бесплатно.
Bot API — коммутатор Telegram
У Telegram есть официальный интерфейс: ваша программа говорит «отправь это сообщение в этот чат», Telegram доставляет и пересылает входящие сообщения обратно вам. Он бесплатен и одинаков для всех — от хобби-ботов до банков.
Ваш сервер — где бот живёт на самом деле
«Мозг» — это программа на сервере, который контролируете вы. Она решает, что ответить, читает и пишет вашу базу данных, общается с другими вашими системами. Эта часть — по-настоящему ваша.
Вебхуки против поллинга: как сообщения доходят до сервера
Есть два способа, которыми бот узнаёт, что ему написали. Поллинг — сервер по кругу спрашивает Telegram «есть что новое?» — просто, годится для разработки. Вебхук — Telegram толкает каждое сообщение на ваш сервер в момент получения — продакшен-выбор, быстрее и экономнее. Если запомните из этой статьи один технический термин, пусть будет этот: продакшен-боты работают на вебхуках.
Где на самом деле живут ваши данные
Память бота — клиенты, заказы, брони, история — живёт в вашей базе данных на вашем сервере, а не внутри Telegram. Telegram передаёт сообщения; он не ваш склад данных. Это важно коммерчески: если вы когда-нибудь мигрируете, переименуете бота или добавите сверху сайт — данные и логика поедут с вами. По завершении нашего проекта клиенту остаются код, сервер и данные — принцип, которого стоит требовать от любого подрядчика.
Вопрос, который стоит задать любому разработчику ботов
«Если через год мы расстанемся — что именно останется у меня?» Правильный ответ: исходный код, токен бота, доступ к серверу и полная база данных. Всё, что меньше, — аренда, а не покупка.
Практики безопасности, которые действительно важны
- Токен бота — генеральный ключ. Кто им владеет, тот управляет ботом. Его место — в хранилище секретов на сервере, никогда — в общем документе или чате.
- Проверять, что запросы действительно от Telegram. Вебхук-эндпоинты принимают секрет, чтобы посторонние не могли впрыснуть в вашу систему фальшивые «сообщения».
- Хранить минимум. Боту бронирований нужны имя и время, а не копия всех сообщений навсегда. Меньше данных — меньше поверхность GDPR.
- Интеграции с минимальными правами. Если бот только читает статус заказа, его аккаунт в базе не должен уметь заказы удалять.
- Мониторинг. Тихо умерший бот хуже, чем никакого: проверки аптайма и оповещения об ошибках (доставляемые, конечно, через Telegram) — часть серьёзной конфигурации.
Типичный продакшен-стек
Наш — скучный намеренно: Node.js или Python для логики бота, PostgreSQL для данных, небольшой VPS (от ~€5/мес.) за файрволом, вебхуки по HTTPS и автоматические бэкапы. Скучный — значит проверенный боем, дешёвый в содержании и лёгкий для передачи любому будущему разработчику. Тот же стек крутит слой уведомлений AdCloud — построенного нами маркетплейса, подробнее — в гиде по интеграции.
Частые вопросы
Может ли бот читать все мои чаты в Telegram?+
Нет. Бот видит только сообщения, отправленные ему напрямую, или сообщения группы, где ему явно дали доступ. В ваши личные переписки у него нет никакого доступа.
Что будет, если сервер бота упадёт?+
Telegram ставит входящие в очередь и некоторое время повторяет доставку вебхуков, так что короткие сбои разрешаются сами. Мониторинг предупредит разработчика раньше, чем что-то заметят клиенты.
Совместим ли Telegram-бот с GDPR?+
Бот настолько совместим, насколько вы его таким построите: данные живут на вашем сервере в ЕС, вы управляете хранением и удалением, а команда /delete или контакт по приватности закрывает право на забвение. Мы закладываем это по умолчанию.
Нужно ли что-то публиковать в магазине приложений?+
Нет. Регистрация бота в Telegram занимает минуты, процесса ревью нет, а обновления доходят до всех мгновенно — одно из главных практических преимуществ перед мобильным приложением.