Что это
python-telegram-bot помогает написать Telegram-бота на Python. Она принимает обновления, направляет их в обработчики и позволяет отвечать текстом или отправлять файлы. Прикладную логику - например, поиск заказа или ответ модели - пишет разработчик.
Для первого запуска удобно polling: программа сама получает обновления, поэтому входящий публичный адрес не нужен. Webhook - другой способ доставки, который требует подходящей настройки сервера. Одновременно получать обновления обоими способами не следует.
Поддержка изображений, аудио и видео здесь означает передачу через Bot API, а не распознавание или генерацию содержимого. Библиотека не включает нейросеть, RAG или готовую память AI-ассистента.
Ключевые параметры
- Категория: Инструменты разработчика
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Обработчики разделяют команды, текст и нажатия кнопок без ручного разбора всех обновлений.
- Асинхронный интерфейс подходит для сетевых интеграций Python.
- Можно начать с polling и перейти на webhook по требованиям развертывания.
- Официальные примеры дают рабочую основу, включая простой echo-бот.
Ограничения
- Нужны Python, токен бота и постоянно работающий процесс для регулярной доступности.
- Долгий блокирующий код мешает обработке сообщений; архитектуру ожидания нужно продумать.
- Правила Telegram, лимиты отправки и privacy mode влияют на сообщения, доступные боту.
- Дополнительные возможности вроде JobQueue и встроенного webhook-сервера требуют соответствующих optional dependencies.
Как использовать
1. Подготовка. Создайте отдельного учебного бота через BotFather и сохраните токен вне кода, например в BOT_TOKEN. Подготовьте Python 3.10+ и отдельное виртуальное окружение; рабочие чаты не подключайте.
2. Настройка. Установите python -m pip install python-telegram-bot. Возьмите официальный echobot.py, замените получение токена на os.environ["BOT_TOKEN"] с import os. Для старта используйте run_polling(), один запущенный процесс и отключенный прежний webhook.
3. Первый результат. Запустите файл, откройте личный чат со своим ботом, нажмите Start и отправьте «Проверка 123». Echo-обработчик должен вернуть тот же текст без обращения к нейросети.
4. Проверка. Убедитесь, что ответ приходит один раз и не появляется в чужом чате. Остановите процесс и проверьте журнал без токена. Перед подключением модели добавьте проверку разрешенного пользователя, обработку ошибок и ограничение частоты; отправку файлов тестируйте отдельно.
Примеры сценариев
- Принять учебную заявку и подтвердить ее получение.
- Добавить кнопки согласования к собственному сервису.
- Передать разрешенное сообщение отдельному AI-обработчику.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
Открытая библиотека имеет LGPL-3.0. Использующее ее приложение не обязано автоматически становиться LGPL, но изменения библиотеки и распространение требуют соблюдения лицензии. Доступ к Telegram из конкретной сети здесь не проверен; модели и инфраструктура имеют отдельную стоимость.
Когда не подходит
- Собрать бота без программирования
- Распознавать голос без отдельного сервиса
- Раздавать доступ к внутренним данным по одному chat_id без проверки
Альтернативы
Aiogram - другой Python-фреймворк для Telegram. Telegram Bot API можно вызывать напрямую HTTP-клиентом. n8n удобен для визуальной автоматизации, но сложную логику и безопасность все равно нужно настроить.