Aiogram 3: Основы и хендлеры для Telegram-ботов — обучение с AI на ASI Biont

Введение: Почему aiogram 3 — это стандарт разработки Telegram-ботов

В июне 2026 года Telegram Bot Development — это не просто хобби, а мощный инструмент для бизнеса и автоматизации. Если вы хотите создавать надёжных, масштабируемых ботов, aiogram 3 — ваш выбор. Эта библиотека предлагает асинхронную архитектуру, гибкие хендлеры и продвинутые возможности, такие как машина состояний (FSM) и интеграция с Telegram Web Apps. На платформе ASI Biont мы объединили обучение с AI и практические кейсы, чтобы вы освоили разработку ботов с нуля до продакшена.

В этой статье разберём ключевые аспекты: хендлеры, клавиатуры, middleware и фильтры, а также покажем, как применить их в реальных проектах. Готовы погрузиться? Поехали!

Основы aiogram 3: Хендлеры и их типы

Хендлеры — это сердце любого бота. Они обрабатывают команды, сообщения, коллбэки и даже платежи. В aiogram 3 используется декораторный подход, что делает код чистым и читаемым.

Основные типы хендлеров:

  • MessageHandler — для текстовых сообщений, команд и медиа.
  • CallbackQueryHandler — для обработки нажатий на инлайн-кнопки.
  • PreCheckoutQueryHandler — для работы с платежами через Telegram Stars.
  • MyChatMemberHandler — для администрирования (например, когда бота добавляют в группу).

Пример простого хендлера:

from aiogram import Router, types
from aiogram.filters import Command

router = Router()

@router.message(Command("start"))
async def cmd_start(message: types.Message):
    await message.answer("Привет! Я бот, созданный на aiogram 3.")

Машина состояний (FSM): Управление диалогами

FSM (Finite State Machine) — это способ организовать многошаговые сценарии, такие как регистрация или оформление заказа. В aiogram 3 FSM реализован через State и StatesGroup.

Пример сценария:

  1. Пользователь вводит имя.
  2. Бот запрашивает email.
  3. Данные сохраняются в базу данных (БД).

Код:

from aiogram.fsm.state import State, StatesGroup

class Form(StatesGroup):
    name = State()
    email = State()

@router.message(Form.name)
async def process_name(message: types.Message, state: FSMContext):
    await state.update_data(name=message.text)
    await state.set_state(Form.email)
    await message.answer("Введите ваш email:")

FSM идеально подходит для Telegram Bot Development в бизнесе: от сбора лидов до кастомизации услуг.

Клавиатуры: Инлайн и Reply

Клавиатуры — это интерфейс взаимодействия с пользователем. В aiogram 3 поддерживаются два типа:
- ReplyKeyboardMarkup — стандартные кнопки под полем ввода.
- InlineKeyboardMarkup — кнопки внутри сообщения (для callback’ов и ссылок).

Таблица сравнения:

Тип Применение Пример использования
Reply Простые команды Кнопки «Меню», «Контакты»
Inline Действия внутри чата Кнопки «Купить», «Подробнее»

Пример инлайн-клавиатуры:

from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton

kb = InlineKeyboardMarkup(inline_keyboard=[
    [InlineKeyboardButton(text="Купить", callback_data="buy")],
    [InlineKeyboardButton(text="Помощь", callback_data="help")]
])

Middleware и фильтры: Гибкая логика

Middleware (промежуточное ПО) позволяет выполнять код до или после хендлера. Например, логировать запросы или проверять подписку на канал.

Пример middleware для проверки доступа:

from aiogram import BaseMiddleware

class AccessMiddleware(BaseMiddleware):
    async def __call__(self, handler, event, data):
        user_id = event.from_user.id
        if user_id in ALLOWED_USERS:
            return await handler(event, data)
        await event.answer("Доступ запрещен.")

Фильтры (aiogram.filters) — это быстрые проверки условий. Например, Command("start") или ChatTypeFilter(chat_type="private"). Комбинируйте их для точной маршрутизации.

Интеграция: Платежи, Telegram Web Apps и БД

Современный Telegram-бот не обходится без внешних сервисов. Рассмотрим три ключевых направления:

1. Платежи через Telegram Stars

Боты могут принимать оплату напрямую. Для этого используйте PreCheckoutQueryHandler и Message.successful_payment. Это удобно для продажи цифровых товаров.

2. Telegram Web Apps

Встраивайте веб-приложения в интерфейс бота. Например, форма заказа или калькулятор. Web App передаёт данные обратно боту через WebAppData.

3. Базы данных (БД)

Для хранения пользователей и состояний используйте SQLite, PostgreSQL или Redis. В aiogram 3 легко интегрировать ORM (например, SQLAlchemy).

Пример сохранения данных:

async def save_user(user_id: int, name: str):
    async with async_session() as session:
        session.add(User(id=user_id, name=name))
        await session.commit()

Практика: Создание бота для бизнеса

Допустим, вы разрабатываете бота для интернет-магазина. Вот типичный сценарий:
1. Пользователь нажимает «Каталог» (хендлер с клавиатурой).
2. Бот показывает товары через инлайн-кнопки (callback-хендлер).
3. Пользователь оформляет заказ (FSM с вводом адреса).
4. Оплата через Telegram Stars (платёжный хендлер).
5. Админ получает уведомление (middleware для логирования).

Этот подход масштабируется от простых чат-ботов до сложных ERP-систем.

Вывод

Aiogram 3 — это зрелая экосистема для Telegram Bot Development. Освоив хендлеры, FSM, клавиатуры и middleware, вы сможете создавать ботов любого уровня сложности. На курсе ASI Biont мы углубляемся в каждую тему: от основ до интеграции с платежами и веб-приложениями. Обучение с AI помогает ускорить процесс: нейросеть генерирует примеры и подсказывает оптимальные решения.

Готовы начать? Пройдите курс «Telegram Bot Development» на ASI Biont и создайте своего первого бота уже сегодня!

← Все статьи

Комментарии

Читайте также

Почему заметки не работают — и как заменить их пазлами

5 августа 2026

SpaceX закупила Tesla Megapack на $329 млн: разбор неожиданной сделки и её связь с vibe coding

5 августа 2026

Обзор SEO и продвижения сайтов: как ранжироваться в 2026 году с помощью Google E-E-A-T и AI-инструментов для SEO

5 августа 2026

Курс Cambridge IGCSE Physics (0625): подготовка на основе ИИ по механике, электричеству и не только

5 августа 2026

Как вынесли алгоритм ценообразования из кода Яндекс Такси (и почему это было неочевидно)

5 августа 2026

Интеграция SPI-устройств с AI-агентом ASI Biont: автоматизация мониторинга и управления

5 августа 2026

Vibe Coding с FutureX: от одобрений Cline к доверенному ИИ-парному программированию

5 августа 2026

10 промтов для машинного обучения: от препроцессинга до XGBoost и CatBoost

5 августа 2026

CKA + CKAD — Администратор и разработчик Kubernetes: практическая дорожная карта к сертификации Kubernetes и реальным навыкам DevOps

5 августа 2026