Создаём телеграм-бота на python - страница 2

Шрифт
Интервал


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 позволяет легко обрабатывать такие команды с помощью фильтров.