Deprecated: Creation of dynamic property Yoast\Presenters\CommonArticlePresenter::$metaPropertyType is deprecated in /var/www/html/web/app/themes/tutortop-blog/Yoast/Presenters/CommonArticlePresenter.php on line 26

Deprecated: Creation of dynamic property Yoast\Presenters\CommonArticlePresenter::$metaPropertyType is deprecated in /var/www/html/web/app/themes/tutortop-blog/Yoast/Presenters/CommonArticlePresenter.php on line 26

Deprecated: Creation of dynamic property Yoast\Presenters\CommonArticlePresenter::$metaPropertyType is deprecated in /var/www/html/web/app/themes/tutortop-blog/Yoast/Presenters/CommonArticlePresenter.php on line 26
Как создать Telegram-бота на Python: пошаговое руководство с примерами
Дата обновления: 22 Апреля 2026
06.05.2025
6457
15 мин

Как создать телеграм-бота Python: подробное руководство для начинающих

Что такое Telegram-бот и почему стоит его создать

Telegram-бот — это специальная программа, которая работает в мессенджере Telegram и может выполнять различные функции: от простых ответов на сообщения до сложных операций с данными. По статистике Telegram, ежемесячно пользователи взаимодействуют более чем с 4 миллионами ботов, а их популярность растет на 20% каждый год.

Ключевые преимущества Telegram-ботов:

  • Доступность 24/7 без перерывов
  • Масштабируемость (могут обслуживать тысячи пользователей одновременно)
  • Относительная простота разработки
  • Быстрая интеграция с другими сервисами
  • Автоматизация рутинных задач

Как отметил Павел Дуров, основатель Telegram: «Боты делают для мессенджеров то же, что приложения сделали для операционных систем, открывая новую эру в развитии коммуникационных платформ.»

Подготовка к созданию бота: необходимые инструменты

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

КомпонентГде получитьСложность установкиНазначение
Python 3.6+python.orgНизкаяОснова для написания кода
Библиотека python-telegram-botpip install python-telegram-botНизкаяВзаимодействие с API Telegram
Токен ботаBotFather в TelegramСредняяАутентификация бота
Текстовый редакторVSCode, PyCharm, и др.НизкаяНаписание и редактирование кода

Представьте, что вы готовите все ингредиенты перед началом готовки сложного блюда. Здесь тот же принцип — правильная подготовка сделает процесс создания бота намного приятнее. А если в процессе создания бота вы поймете, что не хватает каких-то базовых навыков, поищите подходящее обучение Python-разработке, чтобы их восполнить.

Шаг 1: Регистрация бота в BotFather

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

  1. Откройте Telegram и найдите @BotFather
  2. Отправьте команду /newbot
  3. Придумайте имя для своего бота (например, «Мой первый бот»)
  4. Придумайте username для бота, который обязательно должен заканчиваться на «bot» (например, «my_first_test_bot»)
  5. Получите токен — длинную строку символов, которая выглядит примерно так: 1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghi

Важно! Храните токен в безопасном месте и не публикуйте его в открытом доступе. Это как ключ от вашей квартиры — с его помощью любой сможет управлять вашим ботом.

Совет от профессионала: Создайте отдельный файл config.py для хранения токена и других конфиденциальных данных. Затем добавьте этот файл в .gitignore, если используете систему контроля версий, чтобы случайно не опубликовать его.

Шаг 2: Установка Python и библиотек

Если у вас еще не установлен Python, скачайте и установите последнюю версию с официального сайта. При установке на Windows обязательно отметьте галочку «Add Python to PATH».

После установки Python откройте терминал (командную строку) и установите библиотеку для работы с Telegram API:

Существуют и другие библиотеки для создания Telegram-ботов на Python, каждая со своими особенностями:

Для нашего руководства мы выбрали python-telegram-bot, так как эта библиотека имеет отличную документацию и подходит для начинающих. Но знайте, что aiogram становится все популярнее среди русскоязычных разработчиков из-за хорошей поддержки асинхронного программирования.

Шаг 3: Создание базового бота

Давайте создадим простой бот, который будет отвечать на команду /start и обрабатывать текстовые сообщения. Создайте файл bot.py и скопируйте в него следующий код:

# Включаем логирование

# Определяем функцию для обработки команды /start

# Определяем функцию для обработки текстовых сообщений

# Основная функция

    # Создаем приложение

    # Добавляем обработчики

    # Запускаем бота

Замените ‘ВАШТОКЕНЗДЕСЬ’ на токен, полученный от BotFather. Этот простой скрипт создает бота, который:

  1. Отвечает на команду /start приветственным сообщением
  2. Повторяет все текстовые сообщения, которые ему отправляют

Представьте, что ваш бот — это новорожденный ребенок, который только учится общаться. Сначала он просто повторяет за вами, но скоро научится гораздо большему!

Шаг 4: Запуск и тестирование бота

Теперь давайте запустим нашего бота. Откройте терминал, перейдите в папку с файлом bot.py и выполните команду:

Если все настроено правильно, вы увидите строки логирования, и ваш бот станет активным. Откройте Telegram, найдите своего бота по username, который вы задали в BotFather, и отправьте ему команду /start. Бот должен ответить приветствием.

Попробуйте отправить боту любой текст — он должен ответить тем же текстом, как эхо.

Распространенная проблема: Если бот не отвечает, проверьте следующее:

  • Правильно ли вы ввели токен
  • Запущен ли скрипт (в терминале должны быть строки логирования)
  • Нет ли ошибок в консоли

Добавляем функциональность: кнопки и команды

Эхо-бот — это только начало. Давайте сделаем нашего бота более интерактивным, добавив кнопки и дополнительные команды.

Обновите файл bot.py следующим образом:

# Включаем логирование

# Определяем функцию для обработки команды /start

# Определяем функцию для обработки текстовых сообщений

# Обработка нажатий на кнопки

# Команда для отображения помощи

# Основная функция

    # Создаем приложение

    # Добавляем обработчики

    # Запускаем бота

В этой версии мы добавили:

  1. Интерактивные кнопки к команде /start
  2. Обработчик нажатий на кнопки
  3. Команду /help для вывода справки

Теперь ваш бот может принимать решения в зависимости от того, какую кнопку нажал пользователь. Это уже серьезный шаг вперед!

Реальный пример: бот для погоды

Давайте создадим более практичного бота, который будет показывать погоду в указанном городе. Для этого нам понадобится API погоды — мы будем использовать OpenWeatherMap.

  1. Зарегистрируйтесь на OpenWeatherMap и получите бесплатный API ключ
  2. Установите библиотеку для работы с API: pip install requests
  3. Создайте файл weather_bot.py со следующим кодом:

# Конфигурация

# Включаем логирование

# Функция для получения погоды

# Команда /start

# Команда /help

# Обработка сообщений с названием города

# Основная функция

    # Создаем приложение

    # Добавляем обработчики

    # Запускаем бота

Этот бот демонстрирует, как интегрировать внешние API и создавать полезное приложение. Пользователь отправляет название города, бот делает запрос к API погоды и возвращает информацию в удобном формате.

История успеха: Михаил, веб-разработчик из Санкт-Петербурга, создал бота для своей компании, который оповещал команду о новых заказах. «Это сэкономило нам около 5 часов работы еженедельно. Вместо ручной проверки CRM, бот сразу оповещал ответственного менеджера о новом заказе, указывая всю необходимую информацию.»

Хостинг и непрерывная работа бота

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

  1. VPS/VDS — виртуальный сервер, где вы можете запустить бота. Стоимость начинается от 200-300 рублей в месяц. Требует базовых знаний администрирования Linux.
  2. PythonAnywhere — сервис, специализирующийся на хостинге Python-приложений. Есть бесплатный план для небольших проектов.
  3. Heroku — популярная платформа для размещения приложений, есть бесплатный тариф с ограничениями.
  4. GitHub Actions — можно использовать для периодического запуска бота (не подходит для ботов, требующих постоянной работы).

Рассмотрим процесс размещения на VPS на примере Ubuntu:

  1. Подключитесь к серверу по SSH
  2. Установите Python и pip:
    sudo apt update
    sudo apt install python3 python3-pip

  3. Создайте отдельную папку для бота и перенесите туда код:
    mkdir ~/mybot
    cd ~/mybot

# Здесь перенесите ваш файл bot.py на сервер

  1. Установите необходимые библиотеки:
    pip3 install python-telegram-bot requests
  1. Запустите бота в фоновом режиме с помощью утилиты screen или nohup:
    screen -S bot
    python3 bot.py
  1. Отсоедините сессию screen (Ctrl+A, затем D), теперь бот будет работать даже после выхода из SSH

Для более профессиональной настройки стоит использовать systemd или supervisor для управления запуском бота как службы.

Продвинутые техники разработки

Когда вы освоите основы, вы можете перейти к более сложным функциям:

1. Асинхронное программирование

Библиотека python-telegram-bot поддерживает асинхронное программирование с использованием async/await. Это позволяет боту обрабатывать несколько запросов одновременно.

2. Состояния и диалоги

Для создания сложных диалогов с пользователем используйте ConversationHandler:

from telegram.ext import ConversationHandler

# Определяем состояния

# В функции main добавляем:

3. Интеграция с базами данных

Для хранения данных пользователей или другой информации можно использовать базы данных. Популярный и простой вариант — SQLite:

import sqlite3

# Создаем или подключаемся к базе данных

# Создаем таблицу пользователей

# Функция для сохранения пользователя

# Добавляем в функцию start:

    # Остальной код…

Для более крупных проектов рассмотрите использование ORM, например, SQLAlchemy или Django ORM.

4. Работа с медиафайлами

Ваш бот может отправлять и получать изображения, видео, аудио и документы:

# Отправка изображения

# Обработка полученных изображений

    # Получаем информацию о фото

Оцените статью

1 5 (2 оценки)
Хочу писать ботов на языке Python
Специально для вас мы собрали отдельную подборку лучших онлайн-курсов по Python на рынке и сравнили их по цене, продолжительности и отзывам студентов.
Смотреть курсы по Пайтон