Логотип
Главная | Статьи | Создание Telegram-бота на Python за час: Пошаговый туториал с библиотекой aiogram
Создание Telegram-бота на Python за час: Пошаговый туториал с библиотекой aiogram

Создание Telegram-бота на Python за час: Пошаговый туториал с библиотекой aiogram

18 февраля, 2025

142

Создание Telegram-бота может показаться сложной задачей для новичков, но с использованием правильных инструментов и подхода это можно сделать всего за час. В этом пошаговом руководстве мы создадим простого Telegram-бота с помощью популярной библиотеки aiogram . Библиотека aiogram — это современный фреймворк для работы с Telegram Bot API, который позволяет легко создавать асинхронные боты.

Что понадобится для создания бота?

  1. Python 3.7+ : Убедитесь, что у вас установлен Python версии 3.7 или выше.
  2. Библиотека aiogram : Мы будем использовать эту библиотеку для взаимодействия с Telegram API.
  3. Telegram-аккаунт : Для создания и тестирования бота.
  4. BotFather в Telegram : Это официальный бот от Telegram для создания новых ботов.

Шаг 1: Создание нового бота через BotFather

Для начала нам нужно создать нового бота в Telegram. Для этого:

  1. Откройте Telegram и найдите бота @BotFather.
  2. Начните диалог с ним, отправив команду /start.
  3. Чтобы создать нового бота, отправьте команду /newbot.
  4. BotFather попросит вас придумать имя для вашего бота (например, “MyFirstBot”).
  5. Затем вам нужно будет выбрать username для бота (например, “my_first_bot”). Username должен заканчиваться на _bot.
  6. После успешного создания бота BotFather предоставит вам токен API. Сохраните его — он понадобится для подключения к Telegram API.

Пример ответа от BotFather:

Этот токен нужен для аутентификации вашего бота в Telegram.

Шаг 2: Установка необходимых библиотек

Теперь, когда у нас есть токен, установим библиотеку aiogram. Вы можете установить её с помощью pip:

Если вы используете Python в виртуальном окружении, активируйте его перед установкой.

Шаг 3: Создание базового скрипта бота

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

Разберём код:

  1. Импорты : Мы импортируем необходимые классы из библиотеки aiogram для работы с ботом.
  2. Логирование : Настройка логирования помогает отслеживать ошибки и события.
  3. Инициализация бота : Мы создаём экземпляр класса Bot с нашим токеном и диспетчер Dispatcher, который будет обрабатывать входящие сообщения.
  4. Обработчики команд :
    • Команда /start: Когда пользователь отправляет команду /start, бот отвечает приветственным сообщением.
    • Текстовые сообщения: Если пользователь отправляет любое текстовое сообщение, бот просто повторяет его.
  5. Запуск бота : С помощью executor.start_polling() запускается процесс получения обновлений от Telegram.

Шаг 4: Запуск бота

Теперь, когда код готов, можно запустить бота. Просто выполните следующую команду в терминале:

Если всё сделано правильно, вы увидите сообщение о том, что бот запущен и начинает получать обновления.

Шаг 5: Тестирование бота

Откройте Telegram, найдите своего бота по имени пользователя (например, @my_first_bot) и начните с ним диалог:

  1. Отправьте команду /start. Бот должен ответить: “Привет! Я твой первый Telegram-бот. Отправь мне любое сообщение, и я его повторю.”
  2. Отправьте любое текстовое сообщение. Бот должен повторить его.

Поздравляем! Вы только что создали своего первого Telegram-бота!

Дополнительные возможности

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

  1. Кнопки : Добавьте кнопки для удобного взаимодействия с ботом.
  2. Обработка медиафайлов : Научите бота принимать и обрабатывать фотографии, видео и другие типы контента.
  3. Интеграция с API : Подключите бота к внешним сервисам, например, погодным API или базам данных.
  4. Меню и состояния : Используйте состояния для создания многошаговых диалогов.

Пример добавления кнопок:

Заключение

Создание Telegram-бота на Python с использованием библиотеки aiogram — это простая и увлекательная задача. За один час вы можете создать базового бота, который сможет отвечать на команды и текстовые сообщения. Aiogram предоставляет мощные инструменты для расширения функциональности бота, поэтому не останавливайтесь на достигнутом и продолжайте экспериментировать!

Удачи в разработке ваших ботов!