Telegram-бот на Python: aiogram 3 — пошаговый туториал

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

aiogramtelegram-ботpython

Если вы ищете, как быстро создать Telegram-бота на Python, связка aiogram 3 + BotFather — один из самых удобных вариантов. Ниже — понятный пошаговый разбор для новичков и тех, кто переходит с aiogram 2.

Что такое aiogram 3

  • Это асинхронный Python-фреймворк для разработки Telegram-ботов
  • Работает через Telegram Bot API
  • Подходит для команд, кнопок, FSM, middleware, фильтров и интеграций с БД/API
  • В версии 3 изменилась архитектура: вместо старого подхода активно используются Router, новые фильтры и более чистая структура проекта

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

  • Python 3.10+
  • Токен бота от @BotFather
  • Установленный пакет aiogram

Команда установки:

pip install aiogram

Шаг 1. Создайте бота

  • Откройте @BotFather
  • Выполните команду /newbot
  • Задайте имя и username
  • Сохраните токен — он понадобится в коде

Шаг 2. Минимальный бот на aiogram 3

import asyncio
from aiogram import Bot, Dispatcher, Router
from aiogram.filters import Command
from aiogram.types import Message

TOKEN = "ВАШ_ТОКЕН"

router = Router()

@router.message(Command("start"))
async def start_handler(message: Message):
    await message.answer("Привет! Бот на aiogram 3 запущен 🚀")

async def main():
    bot = Bot(token=TOKEN)
    dp = Dispatcher()
    dp.include_router(router)
    await dp.start_polling(bot)

if __name__ == "__main__":
    asyncio.run(main())

Шаг 3. Как запустить

  • Сохраните файл как bot.py
  • Выполните в терминале:
python bot.py
  • Откройте бота в Telegram
  • Отправьте /start

Что здесь происходит

  • Bot — подключение к Telegram API
  • Dispatcher — обработка входящих событий
  • Router — маршрутизация хендлеров
  • @router.message(Command("start")) — обработчик команды /start
  • start_polling() — запуск бота в режиме long polling

Частые ошибки ⚠️

  • Unauthorized — неверный токен
  • Conflict: terminated by other getUpdates request — бот уже запущен где-то ещё
  • Команда /start не работает — проверьте, подключён ли router через dp.include_router(router)
  • Ошибка импорта — убедитесь, что установлен именно актуальный aiogram

Почему aiogram 3 удобен

  • Чистая архитектура проекта
  • Простое масштабирование под большой бот
  • Удобная работа с фильтрами и состояниями
  • Хорошо подходит для production-задач 💡

Когда использовать webhook вместо polling

  • Если нужен production на сервере
  • Если важна стабильная доставка обновлений
  • Если бот интегрирован с веб-приложением или backend

Для первых шагов polling проще и быстрее, а для боевого проекта чаще выбирают webhook.

Итог: чтобы написать Telegram-бота на Python с aiogram 3, достаточно создать токен, установить библиотеку, подключить Router и запустить polling. Это хорошая база для команд, меню, inline-кнопок и более сложной логики. ✅

👀 Ниже стоит посмотреть подборку каналов про IT — там часто публикуют полезные разборы, инструменты и практические кейсы.

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