Aiogram - Основы и Пример Бота
Aiogram — это Python-фреймворк для разработки ботов для
Telegram, построенный на асинхронной архитектуре.
Благодаря использованию библиотеки asyncio, Aiogram
отличается высокой производительностью и удобством в
написании асинхронного кода.
Основные особенности Aiogram:
1. Асинхронность: Использование asyncio для обработки
запросов, что обеспечивает высокую скорость работы.
2. Гибкость: Подходит как для простых ботов, так и для
сложных проектов.
3. Совместимость: Полностью поддерживает Telegram Bot
API.
4. Удобный роутинг: Легко задавать обработчики для команд,
сообщений, callback-данных и других событий.
5. Модули фильтрации: Простая настройка условий для
обработки событий.
Установка Aiogram:
Установить библиотеку можно через pip:
pip install aiogram
Пример простого Telegram-бота:
from aiogram import Bot, Dispatcher, executor, types
# Токен вашего бота
API_TOKEN = "YOUR_BOT_API_TOKEN"
# Создаем объекты Bot и Dispatcher
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
# Обработчик команды /start
@dp.message_handler(commands=['start'])
async def send_welcome(message: [Link]):
await [Link]("Привет! Я бот на Aiogram.")
# Обработчик текстовых сообщений
@dp.message_handler()
async def echo(message: [Link]):
await [Link]([Link])
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
Основные компоненты Aiogram:
1. Bot: Используется для взаимодействия с Telegram API.
bot = Bot(token="YOUR_BOT_API_TOKEN")
2. Dispatcher: Управляет обработкой событий.
dp = Dispatcher(bot)
3. Executor: Запускает бот.
executor.start_polling(dp, skip_updates=True)
4. Обработчики (Handlers): Реагируют на команды, текстовые
сообщения, нажатия кнопок и другие события.
@dp.message_handler(commands=['start'])
async def start_command(message: [Link]):
await [Link]("Привет!")
Полезные ресурсы:
- Документация Aiogram: [Link]
- Примеры на GitHub: [Link]
- Telegram-группа разработчиков Aiogram