Разработка AI-чат-бота с интеграцией в Telegram
Telegram — самая популярная платформа для деловых чат-ботов в России: 80M+ активных пользователей, Bot API с богатыми возможностями, нативная поддержка файлов, кнопок и медиа.
Telegram Bot API: возможности
- Inline кнопки: интерактивные меню без ввода текста — идеально для выбора вариантов
- Webhook vs polling: Webhook предпочтительнее для production (мгновенные сообщения без задержки polling)
- Файлы: получение и отправка документов, фото, голосовых — до 50MB
- Payments: встроенная оплата через 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 для многошаговых флоу, Redis для хранения context между сообщениями (user_id → conversation_state).
Безопасность
Проверка webhook secret token в заголовке. Rate limiting по user_id. Логирование всех запросов. Для коммерческих ботов: верификация пользователя через номер телефона (Telegram предоставляет).
Развёртывание: Docker + Nginx на VPS или serverless (Yandex Cloud Functions) с автомасштабированием. Latency: Telegram доставляет webhook немедленно, бот должен отвечать в < 200ms или показывать «typing...».







