Документация по Telegram-ботам
Telegram-бот — это автоматизированный аккаунт, который взаимодействует с пользователями через Telegram Bot API. Данная документация описывает принципы работы, архитектуру и лучшие практики создания ботов.
Материал подходит для:
- обучения и курсов
- самостоятельного изучения
- подготовки к реальным проектам
- документации к собственному боту
Основы Telegram-ботов
Что такое бот
Telegram-бот — это программа, которая получает сообщения от пользователей и отвечает на них автоматически. Бот не имеет номера телефона и управляется исключительно через API.
Как происходит взаимодействие
- Пользователь отправляет сообщение
- Telegram формирует объект
Update - Ваш сервер принимает данные
- Сервер отправляет ответ
Способы получения обновлений
- Long Polling — бот сам запрашивает обновления
- Webhook — Telegram отправляет обновления на сервер
Telegram Bot API
Telegram Bot API — это HTTP-интерфейс, через который бот отправляет и получает данные. Все методы вызываются по URL:
https://api.telegram.org/bot<TOKEN>/METHOD
Пример отправки сообщения
POST /sendMessage
{
"chat_id": 123456789,
"text": "Привет! Это сообщение от бота"
}
Основные методы
getUpdates— получение сообщенийsendMessage— отправка текстаsendPhoto— отправка изображенийanswerCallbackQuery— ответы на кнопки
Архитектура Telegram-бота
Правильная архитектура позволяет легко масштабировать и поддерживать бота. Рекомендуется разделять логику.
bot/
├── handlers # обработка сообщений
├── services # бизнес-логика
├── api # работа с внешними сервисами
├── database # БД и модели
├── config # настройки
└── logs # логи
Принципы
- Разделение ответственности
- Минимум логики в обработчиках
- Конфигурация отдельно от кода
Безопасность
Хранение токена
- Никогда не публикуйте токен
- Используйте переменные окружения
Webhook безопасность
- Используйте HTTPS
- Проверяйте IP Telegram
Общие рекомендации
- Валидируйте входящие данные
- Ограничивайте админ-команды
- Логируйте ошибки