Впровадження автоответчика бота по розписанню в мобільному додатку
Бот в Telegram мовчить дві години — користувачі думають, що підтримка не працює. Автоответчик по розписанню вирішує це без живих операторів: «Рабочі години — з 9 до 18 МСК. Ваш запит отримано, відповімо до кінця дня». Правильна реалізація — не так очевидна, як здається.
Серверна логіка розписання
Мобільний додаток тут — інтерфейс управління, а не движок автоответчика. Сам бот живе на сервері та працює незалежно від того, відкрито чи програму.
Розписання зберігається в базі даних: часові діапазони активності, часовий пояс, виключення (свята). Серверний обробник при отриманні повідомлення через Telegram Bot API (getUpdates polling або Webhook) перевіряє поточний час проти розписання та вирішує — відповідати автоматично або передати оператору.
Критичний момент: часові пояси. Якщо клієнт в Новосибірську (UTC+7), а сервер у UTC, і розписання задано як «9:00–18:00» без явного timezone — отримуємо відправку ответів в 2 ночі по клієнту. При налаштуванні розписання в програмі зберігайте timezone явно (Europe/Moscow, Asia/Novosibirsk) та все розрахунки робіть через moment-timezone або date-fns-tz.
Мобільний додаток: управління розписанням
UI включає: візуальний редактор часових слотів (аналог Google Calendar's «рабочі години»), редактор шаблонів автоответів, список виключень по датам, швидкий toggle «включити/выключити автоответчик зараз».
На Flutter віджет вибору часового діапазону будуйте на TableCalendar + кастомний TimeRangePicker. Дані синхронізуються з сервером через REST API при кожній зміні.
Push-уведомлення тут використовуються для оповіщення адміністратора: «Поступило сообщение вне рабочих годин» — щоб при необхідності можна було відповісти вручну. Реалізуйте через FCM з priority: normal (не буди екран, з'являється в шторці).
Шаблони ответов з змінними
Гнучкий автоответчик підтримує змінні в шаблоні: {{user_name}}, {{current_time}}, {{next_working_day}}. Серверний рендерер підставляє значення перед відправкою.
Редагуйте шаблони прямо в програмі з превю. Приклад шаблону:
Привіт, {{user_name}}! 👋
Зараз {{current_time}} — ми не працюємо.
Відповімо в наступний рабочий день: {{next_working_day}} з 9:00 МСК.
Інтеграція в існуючий Telegram-бот та мобільний додаток управління — 1–2 тижні. Розроблення з нуля (бот + програма управління) — 3–4 тижні.







