Создание Telegram-бота на Python

Все статьи
Все статьи
Серёжа
Серёжа
AI-копирайтер Neurounit
7 февраля 2026
Обновлено 6 июля 2026
Нейросети
Создание Telegram-бота на Python
Телеграм бот на Python с нуля: пошаговый гайд, готовый код, выбор библиотеки (telebot, aiogram, python-telegram-bot), примеры и частые ошибки.

Коротко. Телеграм бот на Python с нуля собирается за 15 минут: берёте токен у @BotFather, ставите библиотеку через pip, пишете 15 строк кода. Для старта подойдёт telebot из-за простого синтаксиса, для нагрузки: aiogram. Ниже разберём весь путь до рабочего бота с готовым кодом и без воды.

Зачем бизнесу свой бот и что он реально закрывает

Бот в Telegram: это не игрушка, а рабочий инструмент. Он отвечает клиенту в 3 часа ночи, принимает заявки, собирает лиды, шлёт уведомления о заказе. Всё это без зарплаты и выходных.

Разберём конкретные сценарии, где бот окупается быстро.

  • Приём заявок. Клиент заполняет анкету прямо в чате, данные летят в вашу CRM или Google-таблицу.
  • Автоответчик службы поддержки. Бот закрывает 70% типовых вопросов: график работы, статус заказа, реквизиты.
  • Уведомления. Новый заказ на сайте: и вам сразу падает сообщение с деталями.
  • Рассылки и прогрев. Серия сообщений по подписчикам без сторонних сервисов.
  • Внутренние инструменты. Бот дёргает отчёт из базы или запускает деплой по команде.

Python выбирают потому, что порог входа низкий, а библиотек под Telegram много. Чат боты в telegram на python пишут и новички за вечер, и крупные команды под миллионы пользователей.

Что нужно перед стартом: токен и окружение

Прежде чем писать телеграм бот на python с нуля, соберите три вещи: токен бота, установленный Python и библиотеку. Это фундамент, без которого код не запустится.

Шаг 1. Получаем токен у BotFather

BotFather: официальный бот Telegram для создания других ботов. Токен это ключ, который связывает ваш код с конкретным ботом.

  1. Откройте Telegram и найдите @BotFather (с синей галочкой).
  2. Отправьте команду /newbot.
  3. Введите имя бота (отображаемое) и username (должен заканчиваться на bot).
  4. Скопируйте токен вида 123456789:AAF… и никому его не показывайте.

Токен: это пароль. Утёк токен: чужой человек управляет вашим ботом. Держите его в переменной окружения, а не в коде.

Шаг 2. Ставим Python и библиотеку

Нужен Python версии 3.9 или выше. Проверьте командой python —version в терминале. Если нет: скачайте с python.org.

Дальше ставим библиотеку через pip. Для первого бота возьмём telebot:

  • pip install pytelegrambotapi: устанавливает библиотеку telebot.
  • pip install aiogram: если сразу хотите асинхронный вариант.
  • pip install python-telegram-bot: третий популярный вариант.

Совет: создайте виртуальное окружение командой python -m venv venv, чтобы зависимости не смешивались с другими проектами.

Какую библиотеку выбрать: telebot, aiogram или python-telegram-bot

Это первый серьёзный выбор. От него зависит скорость разработки и то, потянет ли бот нагрузку. Три библиотеки покрывают 95% задач.

Сравним их по ключевым критериям.

Критерий telebot (pyTelegramBotAPI) aiogram python-telegram-bot
Тип Синхронный (есть async) Асинхронный Асинхронный
Порог входа Очень низкий Средний Средний
Скорость под нагрузкой Средняя Высокая Высокая
FSM (машина состояний) Есть, простая Мощная, встроенная Через ConversationHandler
Документация Простая Подробная Очень подробная
Кому подходит Новичкам, MVP, простым ботам Продакшену, высокой нагрузке Крупным проектам, командам

Логика выбора простая. Первый бот или прототип: берите телеграм бот на python telebot, он читается как обычный текст. Бот на тысячи активных пользователей: aiogram, потому что асинхронность держит нагрузку. Большая команда с типовыми паттернами: python-telegram-bot.

Не гонитесь за модностью. Готовый чат бот на python на telebot запустится сегодня, а переписать его на aiogram вы всегда успеете.

Готовый код: первый бот на telebot за 15 строк

Разберём готовый код телеграм бота на python, который отвечает на команды. Это минимальный рабочий пример, который вы запустите прямо сейчас.

Базовый эхо-бот

Этот бот здоровается по команде /start и повторяет любое сообщение. Классический старт.

  1. Создайте файл bot.py.
  2. Вставьте код ниже, подставив свой токен.
  3. Запустите командой python bot.py.

Код готового кода для бота телеграм на telebot выглядит так:

  • import telebot: подключаем библиотеку.
  • bot = telebot.TeleBot(«ВАШ_ТОКЕН»): создаём объект бота.
  • @bot.message_handler(commands=[‘start’]): декоратор ловит команду /start.
  • Внутри функции: bot.reply_to(message, «Привет! Я на связи»).
  • @bot.message_handler(func=lambda m: True): ловит любое сообщение и через bot.reply_to(message, message.text) возвращает его обратно.
  • В конце: bot.polling(): запускает бесконечное прослушивание сообщений.

Всё. Бот работает. Он уже полноценный чат бот в telegram на python, который реагирует на пользователя в реальном времени.

Добавляем кнопки

Голый текст: скучно. Кнопки делают бота удобным. В telebot их два вида.

  • ReplyKeyboardMarkup: кнопки под полем ввода, заменяют клавиатуру. Годятся для меню: Каталог, Цены, Контакты.
  • InlineKeyboardMarkup: кнопки прямо под сообщением. Годятся для выбора внутри карточки: Купить, Подробнее, callback-действия.

Для inline-кнопок нужен отдельный обработчик @bot.callback_query_handler, который ловит нажатие и решает, что делать дальше. Это основа любого интерактивного бота: магазина, записи, опроса.

Как собрать анкету: работа с состояниями

Реальный бизнес-бот почти всегда собирает данные по шагам: имя, потом телефон, потом услуга. Чтобы бот помнил, на каком шаге пользователь, нужна машина состояний (FSM).

Без состояний бот забывает контекст после каждого сообщения. С FSM он ведёт диалог как живой оператор.

Логика по шагам

  1. Пользователь жмёт Оставить заявку: бот переводит его в состояние ждём_имя.
  2. Пользователь пишет имя: бот сохраняет его и переходит в ждём_телефон.
  3. Пользователь пишет телефон: бот сохраняет и переходит в ждём_услугу.
  4. Данные собраны: бот отправляет их в таблицу или менеджеру и благодарит.

В telebot состояния хранятся через bot.set_state и bot.retrieve_data. В aiogram для этого есть встроенный класс StatesGroup, который считается более удобным для сложных сценариев. Если ваш бот собирает больше трёх полей: смотрите в сторону aiogram.

Polling или webhook: как бот получает сообщения

Бот узнаёт о новых сообщениях двумя способами. Выбор влияет на хостинг и надёжность.

Параметр Polling Webhook
Как работает Бот сам опрашивает Telegram Telegram шлёт запрос на ваш сервер
Нужен домен и HTTPS Нет Да
Сложность настройки Минимальная Выше
Нагрузка на сервер Выше (постоянные запросы) Ниже
Когда использовать Разработка, малые боты Продакшен, высокая нагрузка

Начинайте с polling: он работает из коробки на вашем ноутбуке. Когда бот пойдёт в продакшен и вырастет аудитория: переводите на webhook, он экономит ресурсы и отвечает быстрее.

Куда залить бота, чтобы он работал 24/7

На вашем компьютере бот живёт, только пока открыт терминал. Для постоянной работы нужен сервер. Вариантов несколько, под разный бюджет.

  • VPS (виртуальный сервер). Самый гибкий вариант. Полный контроль, от 200 рублей в месяц. Запускаете бота через systemd или Docker, чтобы он перезапускался сам.
  • Облачные платформы. Railway, Render и подобные: деплой из GitHub в пару кликов, есть бесплатные тарифы для старта.
  • Хостинг для ботов. Специализированные сервисы, где не надо настраивать сервер вручную.

Для боевого бота обязательны две вещи: автоперезапуск при падении и логи. Без логов вы не узнаете, почему бот замолчал в самый нужный момент.

Можно ли создать телеграм бота python на телефоне

Да, полноценно писать бота можно и без компьютера. Вопрос как создать телеграм бота python на телефоне решается через мобильные среды исполнения кода.

Реальные рабочие способы.

  • Termux (Android). Полноценный терминал Linux в телефоне. Ставите Python, pip, библиотеку: и запускаете бота прямо с телефона. Ближе всего к настоящей разработке.
  • Pydroid 3 (Android). Приложение с редактором и интерпретатором Python. Устанавливаете telebot через встроенный pip и жмёте запуск.
  • Онлайн-IDE. Replit и подобные открываются в мобильном браузере. Код пишете и запускаете в облаке, телефон нужен только для доступа.

Токен вы всё так же берёте у BotFather внутри самого Telegram, а это уже мобильное приложение. Так что весь цикл, от создания бота до запуска кода, реально пройти со смартфона. Минус один: набирать код на маленьком экране неудобно, а телефон должен оставаться включённым. Для продакшена всё равно нужен сервер.

Частые ошибки новичков

Эти грабли собирает почти каждый, кто пишет первого бота. Знание экономит часы отладки.

  • Токен прямо в коде. Загрузили файл на GitHub: токен утёк, бота угнали. Выносите токен в переменную окружения или файл .env.
  • Забыли bot.polling(). Код без запуска прослушивания просто завершается и ничего не делает.
  • Две копии бота одновременно. Запустили polling дважды: Telegram выдаёт ошибку Conflict. Один токен: один запущенный процесс.
  • Нет обработки исключений. Одна ошибка в обработчике роняет весь бот. Оборачивайте рискованные места в try/except и настройте перезапуск.
  • Игнор лимитов Telegram. При массовой рассылке Telegram банит за спам. Максимум около 30 сообщений в секунду, для рассылок делайте паузы.
  • Синхронный код в асинхронном боте. В aiogram тяжёлая синхронная операция замораживает всё. Используйте асинхронные библиотеки для запросов и базы.
  • Нет валидации ввода. Пользователь вместо телефона пишет что попало. Проверяйте формат данных перед сохранением.

Чек-лист: от нуля до рабочего бота

Пройдите по пунктам, и телеграм бот на python с нуля будет готов и запущен.

  1. Получить токен у @BotFather.
  2. Установить Python 3.9+ и создать виртуальное окружение.
  3. Поставить библиотеку: telebot для старта или aiogram под нагрузку.
  4. Написать базовый обработчик /start и проверить ответ.
  5. Добавить кнопки и нужные команды.
  6. Прикрутить сбор данных через состояния, если нужна анкета.
  7. Вынести токен в переменную окружения.
  8. Добавить обработку ошибок и логи.
  9. Залить на сервер с автоперезапуском.
  10. Перевести на webhook, когда вырастет нагрузка.

Первые пять пунктов проходятся за один вечер. Остальное: по мере роста бота.

Частые вопросы

Сколько стоит запустить бота на Python?

Сама разработка бесплатна: Python, библиотеки и токен ничего не стоят. Платить придётся только за сервер, где бот работает круглосуточно. VPS начинается примерно от 200 рублей в месяц, а на облачных платформах вроде Railway есть бесплатные тарифы для старта и небольших ботов.

Нужно ли знать программирование, чтобы написать бота?

Для простого бота хватит базового понимания Python: переменные, функции, условия. Готовый код телеграм бота на python по гайду вы запустите даже без опыта, просто подставив токен. Но для реального бизнес-бота с базой данных, оплатой и логикой знания уже нужны, либо помощь разработчика.

Чем telebot отличается от aiogram простыми словами?

Telebot проще и читается как обычный текст, поэтому им пишут первого бота и прототипы. Aiogram сложнее, зато асинхронный: он держит высокую нагрузку, когда с ботом одновременно работают тысячи людей. Правило простое: начинайте на telebot, переходите на aiogram, когда упрётесь в производительность.

Где взять готовые примеры кода?

Python telegram bot примеры есть в официальной документации каждой библиотеки и в их репозиториях на GitHub, в папке examples. Там разобраны кнопки, оплата, работа с медиа и состояниями. Не копируйте вслепую: разберите логику, чтобы потом чинить и дорабатывать бота самому.

Бот работает на телефоне, но выключается. Почему?

Скорее всего, вы запускали его через Termux или Pydroid, а телефон ушёл в сон или закрыл приложение. Мобильный запуск годится для тестов, но не для постоянной работы. Чтобы бот жил 24/7, залейте его на сервер или облачную платформу с автоперезапуском.

Поделиться:
X
Серёжа
Автор: Серёжа · AI-копирайтер Neurounit

Пишу про нейросети, AI-маркетинг и автоматизацию: разборы инструментов, гайды и новости индустрии. Тексты создаются с помощью AI и проходят редакционную проверку фактов командой агентства Neurounit перед публикацией.

Факты и цифры проверяет редакция агентства Neurounit. Вопросы и уточнения: Telegram.

Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга