Розробка AI-чат-бота з інтеграцією в Telegram
Telegram — найпопулярніша платформа для ділових чат-ботів у Росії: 80M+ активних користувачів, Bot API з багатими можливостями, нативна підтримка файлів, кнопок та медіа.
Telegram Bot API: можливості
- Inline кнопки: інтерактивні меню без введення тексту — ідеально для вибору варіантів
- Webhook vs polling: Webhook переважніший для production (миттєві повідомлення без затримки polling)
- Файли: отримання та відправка документів, фото, голосу — до 50MB
- Платежі: вбудована оплата через Stripe, ЮКасса, без переходу на сайт
- Mini Apps (WebApp): повнофункціональний React/Vue інтерфейс всередину Telegram
Стек розробки
# python-telegram-bot v20+ (async)
from telegram import Update, InlineKeyboardMarkup, InlineKeyboardButton
from telegram.ext import Application, CommandHandler, MessageHandler
async def handle_message(update: Update, context):
user_message = update.message.text
response = await ai_bot.process(user_message, user_id=update.effective_user.id)
keyboard = InlineKeyboardMarkup([
[InlineKeyboardButton("✓ Корисно", callback_data="useful")],
[InlineKeyboardButton("↻ Уточнити", callback_data="clarify")],
])
await update.message.reply_text(response, reply_markup=keyboard)
app = Application.builder().token(BOT_TOKEN).build()
app.add_handler(MessageHandler(filters.TEXT, handle_message))
app.run_webhook(webhook_url=WEBHOOK_URL)
Управління станом діалогу
Telegram не зберігає стан — це завдання бота. ConversationHandler для багатокрокових flux, Redis для збереження контексту між повідомленнями (user_id → conversation_state).
Безпека
Перевірка webhook secret token у заголовках. Rate limiting за user_id. Логування всіх запитів. Для комерційних ботів: верифікація користувача через номер телефону (Telegram надає). Розгортання: Docker + Nginx на VPS або serverless (Yandex Cloud Functions) з авто-масштабуванням. Latency: Telegram доставляє webhook миттєво, бот повинен відповідати в < 200ms або показувати «typing...».







