Читать книгу: «Создаём телеграм-бота на python»

Шрифт:

Об авторе

Меня зовут Никита Войтов. Я – backend-разработчик с трёхлетним опытом коммерческой работы. За это время я участвовал в создании и поддержке различных веб-сервисов, REST API и, конечно, Telegram-ботов для бизнеса и развлечений.

Мой основной стек – Python, FastAPI, PostgreSQL, Docker, а также современные инструменты для асинхронного программирования. Я активно использую aiogram для разработки ботов, потому что считаю его лучшим выбором для быстрого и удобного создания сложных Telegram-ботов.

В этой книге я делюсь своим опытом, практическими советами и примерами кода, чтобы помочь вам быстро освоить aiogram и начать создавать собственных ботов. Если у вас возникнут вопросы или предложения, вы всегда можете связаться со мной через Telegram: @voitov23 или по почте: pochta5343@mail.ru.

Глава 1. Введение

Что такое aiogram?

aiogram – это современный асинхронный Python-фреймворк для создания Telegram-ботов. Он построен на основе asyncio и позволяет эффективно обрабатывать множество одновременных запросов, что особенно важно для популярных и быстрорастущих ботов.

Почему стоит выбрать aiogram?

Асинхронность: aiogram использует возможности asyncio, что делает бота быстрым и отзывчивым даже при большом количестве пользователей.

Простота: Чистый и лаконичный синтаксис, который легко читать и поддерживать.

Гибкость: aiogram поддерживает все возможности Telegram Bot API, включая работу с медиа, inline-кнопками, платежами и многим другим.

Активное сообщество: aiogram постоянно развивается, а сообщество предоставляет множество примеров и готовых решений.

Для кого эта книга?

Эта книга предназначена для начинающих и продолжающих разработчиков, которые хотят быстро и эффективно научиться создавать Telegram-ботов на Python. Предполагается, что у читателя есть базовые знания Python и желание изучать новые технологии.

Глава 2. Установка и настройка

2.1. Установка Python

Перед началом убедитесь, что у вас установлен Python версии 3.8 или выше. Скачать актуальную версию можно с официального сайта Python.

Проверьте версию Python в терминале:

bash

python –version

или

bash

python3 –version

2.2. Установка aiogram

Установить aiogram очень просто с помощью pip:

bash

pip install aiogram

Рекомендуется использовать виртуальное окружение для каждого проекта. Например:

bash

python -m venv venv

source venv/bin/activate # Для Linux/Mac

venv\Scripts\activate # Для Windows

pip install aiogram

2.3. Получение токена у BotFather

Откройте Telegram и найдите пользователя @BotFather.

Отправьте команду /newbot и следуйте инструкциям: придумайте имя и username для бота.

После создания BotFather пришлёт вам токен – длинную строку символов. Сохраните его, он понадобится для запуска бота.

Глава 3. Первая программа: Эхо-бот

3.1. Создание проекта

Создайте новую папку для своего проекта, например, my_aiogram_bot.

Перейдите в неё и (по желанию) создайте виртуальное окружение:

bash

python -m venv venv

source venv/bin/activate # Linux/Mac

venv\Scripts\activate # Windows

Установите aiogram (если ещё не установлен):

bash

pip install aiogram

3.2. Создание файла бота

Создайте файл, например, bot.py и откройте его в любимом редакторе кода.

3.3. Минимальный эхо-бот на aiogram

Вставьте следующий код в файл bot.py. Не забудьте заменить 'ВАШ_ТОКЕН_ЗДЕСЬ' на токен, полученный от BotFather.

python

from aiogram import Bot, Dispatcher, types

from aiogram.utils import executor

API_TOKEN = 'ВАШ_ТОКЕН_ЗДЕСЬ'

# Создаём объекты бота и диспетчера

bot = Bot(token=API_TOKEN)

dp = Dispatcher(bot)

# Хэндлер для всех входящих сообщений

@dp.message_handler()

async def echo_message(message: types.Message):

await message.answer(message.text)

if __name__ == '__main__':

executor.start_polling(dp, skip_updates=True)

3.4. Запуск бота

В терминале bash запустите файл:

python bot.py

Если всё сделано правильно, бот начнёт работать. Теперь напишите ему любое сообщение в Telegram – он должен ответить вам тем же текстом.

3.5. Как это работает?

Bot – объект для общения с Telegram API.

Dispatcher – объект, который получает и распределяет входящие сообщения по хэндлерам.

@dp.message_handler() – декоратор, который регистрирует функцию для обработки всех сообщений.

executor.start_polling() – запускает цикл обработки новых сообщений (polling).

Поздравляю!

Вы только что создали своего первого Telegram-бота на aiogram. В следующих главах мы разберём, как обрабатывать команды, использовать кнопки, хранить данные и многое другое.

Глава 4. Обработка сообщений и команд

4.1. Обработка команд

В Telegram-ботах команды – это специальные сообщения, которые начинаются с символа / (например, /start, /help). Aiogram позволяет легко обрабатывать такие команды с помощью фильтров.

Покупайте книги и получайте бонусы в Литрес, Читай-городе и Буквоеде.

Участвовать в бонусной программе
Возрастное ограничение:
16+
Дата выхода на Литрес:
06 мая 2025
Дата написания:
2025
Объем:
16 стр. 1 иллюстрация
Правообладатель:
Автор
Формат скачивания:
Аудио
Средний рейтинг 4 на основе 1 оценок
По подписке
Текст PDF
Средний рейтинг 5 на основе 2 оценок
Текст PDF
Средний рейтинг 5 на основе 2 оценок
Текст
Средний рейтинг 0 на основе 0 оценок
По подписке
Текст
Средний рейтинг 5 на основе 4 оценок
По подписке
Текст PDF
Средний рейтинг 5 на основе 1 оценок
Текст PDF
Средний рейтинг 0 на основе 0 оценок
Текст, доступен аудиоформат
Средний рейтинг 3,2 на основе 5 оценок
По подписке
Текст
Средний рейтинг 5 на основе 1 оценок
По подписке
Текст
Средний рейтинг 5 на основе 2 оценок