Розробка мобільного чат-бота для Telegram

Який бот вам потрібен: command bot, Mini App чи conversational? Вибір архітектури мобільного Telegram-бота починається зі сценарію. Простий command bot з меню і кнопками — достатньо `InlineKeyboardMarkup` і FSM на `aiogram` або `python-telegram-bot`. Conversational bot з NLP вимагає інтеграції з

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Розробка мобільного чат-бота для Telegram
Простий
від 4 годин до 2 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1218
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Який бот вам потрібен: command bot, Mini App чи conversational?

Вибір архітектури мобільного Telegram-бота починається зі сценарію. Простий command bot з меню і кнопками — достатньо InlineKeyboardMarkup і FSM на aiogram або python-telegram-bot. Conversational bot з NLP вимагає інтеграції з Dialogflow, Rasa або GPT API для генерації відповідей. Повноцінний Mini App — це web-застосунок на React, Vue або чистий HTML/CSS всередині WebView Telegram, з можливістю кастомізованого інтерфейсу та складної логіки. Ми за 5 років розробили понад 30 різноманітних ботів — від простих розсилок до маркетплейсів. Наш досвід дозволяє точно визначити оптимальну архітектуру для вашого завдання, скорочуючи витрати за рахунок готових модулів та перевірених рішень.

Тип бота Складність Терміни Приклади
Command bot Низька 1–2 тижні Підтримка замовлень, FAQ-бот
Conversational Середня 2–4 тижні Консультант, допомога у підборі
Mini App Висока 4–8 тижнів Маркетплейс, повноцінний каталог

Ми розробляємо всі три типи. Найчастіше замовляють саме Mini App з авторизацією через Telegram — це дає безшовний UX без введення логіна/пароля. За нашою статистикою, Mini App конвертує в 5 разів більше цільових дій порівняно з command bot для складних сценаріїв. Для оцінки вашого проекту зв'яжіться з нами — ми запропонуємо оптимальне рішення без зайвих витрат.

Чому webhooks виграють у polling для продакшену?

Telegram Bot API надає два способи отримання оновлень: getUpdates (long polling) і webhooks. Long polling зручний на локальній машині — достатньо ngrok для тесту. Але в бою він забиває чергу повідомленнями: при кожному рестарті бот обробить тисячі накопичених апдейтів, що може заблокувати сервер. Webhook же працює за подією: Telegram сам надсилає POST на ваш HTTPS-ендпоінт, бот відповідає миттєво. Плюс — ви менше витрачаєте мережевий трафік і CPU. За нашою практикою, webhooks забезпечують в 3 рази меншу затримку порівняно з polling при високому навантаженні.

Критерій Long polling Webhook
Затримка 200-500 мс 50-100 мс
Навантаження на сервер Висока (постійні запити) Низька (тільки події)
Простота налаштування Легка (ngrok) Потрібен HTTPS

Обов'язкові умови для webhook:

  • Валідний TLS-сертифікат (Let's Encrypt або платний)
  • Порт 443, 80, 88, 8443 (нестандартні порти не підтримуються)
  • URL має бути унікальним (часто використовують /{BOT_TOKEN} для ізоляції)

Ось приклад реєстрації webhook на aiogram 3.x:

from aiogram import Bot, Dispatcher from aiogram.webhook.aiohttp_server import SimpleRequestHandler bot = Bot(token=BOT_TOKEN) dp = Dispatcher() async def on_startup(): await bot.set_webhook( url=f"https://yourserver.com/webhook/{BOT_TOKEN}", drop_pending_updates=True ) 

Параметр drop_pending_updates=True критичний при рестарті: без нього бот обробить всі повідомлення з черги, створюючи флуд.

Як уникнути обмеження callback_data в 64 байти?

Кожна InlineKeyboardButton містить callback_data до 64 байт. Для простих дій (так/ні) — достатньо. Але для складних діалогів (наприклад, багатоетапне бронювання квитків) цих байт не вистачає.

Рішення — зберігати стан у Redis з коротким ідентифікатором:

import uuid, redis, json r = redis.Redis() async def create_callback(data: dict) -> str: callback_id = str(uuid.uuid4())[:8] r.setex(f"cb:{callback_id}", 3600, json.dumps(data)) return callback_id async def resolve_callback(callback_id: str) -> dict | None: raw = r.get(f"cb:{callback_id}") return json.loads(raw) if raw else None 

Так ми обходимо ліміт і отримуємо зручний FSM-стан. Redis сам очищує застарілі записи по TTL. Цей підхід перевірено на десятках проектів — гарантуємо стабільність і продуктивність.

Як верифікувати initData Telegram Mini App?

Зауважимо: коли бот запущений як Mini App, window.Telegram.WebApp передає initData — рядок з HMAC-підписом. Сервер зобов'язаний провалідувати підпис перед довірою даним користувача (telegram_id, username). Інакше будь-хто може підробити запит від іншого користувача.

Алгоритм верифікації (кроки):

  1. Отримати секретний ключ: HMAC-SHA256 від WebAppData (як message) і bot_token (як key).
  2. Розібрати initData по &, відсортувати параметри (крім hash) за ключами.
  3. Склеїти в data_check_string через \n як key=value.
  4. Обчислити HMAC-SHA256 від data_check_string секретним ключем.
  5. Порівняти результат з хешем з initData.
import hmac, hashlib def verify_telegram_init_data(init_data: str, bot_token: str) -> bool: secret_key = hmac.new(b"WebAppData", bot_token.encode(), hashlib.sha256).digest() params = parse_qs(init_data) data_check_string = "\n".join( f"{k}={v}" for k, v in sorted(params.items()) if k != "hash" ) computed_hash = hmac.new(secret_key, data_check_string.encode(), hashlib.sha256).hexdigest() provided_hash = params.get("hash", [""])[0] return hmac.compare_digest(computed_hash, provided_hash) 

Алгоритм засновано на HMAC. Після верифікації можна використовувати telegram_id для зв'язку з вашою CRM, наприклад, прив'язувати до замовлення або підписки. Зверніться до нас за проектуванням і налагодженням — ми гарантуємо коректну реалізацію.

Що входить у розробку Telegram-бота під ключ?

Ми пропонуємо повний цикл від ідеї до деплою в App Store / Google Play. У роботу включено:

  • Аналіз сценаріїв і прототипування
  • Вибір стеку: aiogram, grammy, react-telegram-web-app
  • Реалізація backend: API, Redis, PostgreSQL (або MongoDB)
  • Дизайн Mini App з адаптацією під тему Telegram (світла/темна)
  • Інтеграція платежів через Telegram Stars (або зовнішні платіжні шлюзи)
  • Налаштування webhook з моніторингом (uptime, алерти)
  • Тестування: unit-тести, e2e-тести на Telegram Bot API
  • Налагодження та публікація: подання на верифікацію, робота з App Store Review Guidelines

Після здачі ми надаємо документацію по API, доступ до сервера і тиждень авторського супроводу.

Ми працюємо з ботами різної складності більше 5 років. За цей час запустили понад 30 проектів — від простих розсилок до маркетплейсів з сотнями товарів через Telegram Mini App. Кожен проект забезпечено гарантією якості та технічною підтримкою.

Як замовити розробку?

Якщо у вас є ідея — пишіть. Ми оцінимо проект, запропонуємо архітектуру і назвемо терміни. Орієнтуйтеся на наступні діапазони:

  • Command bot: від 1 до 2 тижнів
  • Conversational bot з NLP: від 2 до 4 тижнів
  • Mini App: від 4 до 8 тижнів

Вартість розраховується індивідуально, залежить від складності сценаріїв та інтеграцій. Зв'яжіться з нами, і ми підготуємо ТЗ і точний кошторис. Отримайте консультацію безкоштовно.