Telegram Bot V2. Создание бота и Монетизация для профессионалов - страница 3
После получения токена ваш бот технически готов к работе. Однако он пока не умеет ничего, кроме как принимать входящие сообщения. Чтобы сделать его функциональным, необходимо перейти к этапу программирования. Для этого потребуется выбрать язык программирования и библиотеку, которые помогут взаимодействовать с Telegram API. Наиболее популярными инструментами для разработки Telegram-ботов являются Python и библиотека aiogram, благодаря своей простоте и богатому функционалу.
Начнем с установки необходимых инструментов. Для работы с aiogram нужно установить Python (рекомендуется версия 3.7 или выше) и саму библиотеку. Установка производится через пакетный менеджер pip с помощью команды: pip install aiogram. После этого вы можете создать первый файл вашего бота, например, bot.py, и приступить к написанию кода.
Для начала необходимо импортировать необходимые модули и подключиться к Telegram API с использованием токена, который вы получили от BotFather. Это делается с помощью следующего кода:
python
from aiogram import Bot, Dispatcher, executor, types
TOKEN = "Ваш_токен_здесь"
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
Здесь создается объект Bot, который представляет вашего бота, и объект Dispatcher, который отвечает за обработку входящих сообщений и событий. Теперь бот готов к тому, чтобы начать обработку первых команд.
Одной из базовых функций любого Telegram-бота является команда /start, которая служит точкой входа для новых пользователей. Она обычно используется для приветствия и объяснения функционала бота. Чтобы реализовать эту команду, можно использовать декоратор @dp.message_handler(commands=['start']), который указывает на то, что функция будет обрабатывать сообщения с командой /start. Пример кода:
python
@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
await message.reply("Добро пожаловать! Я ваш первый Telegram-бот. Чем могу помочь?")
Теперь, если пользователь введет команду /start, бот отправит ему приветственное сообщение. Обратите внимание, что функция send_welcome использует ключевое слово async, поскольку Telegram API работает асинхронно, что позволяет обрабатывать несколько запросов одновременно без задержек.
Давайте добавим еще одну команду, например, /help, которая будет выводить список доступных команд и их описание. Это полезно для пользователей, которые только начали взаимодействовать с ботом и хотят понять его функционал. Пример реализации:
python
@dp.message_handler(commands=['help'])
async def send_help(message: types.Message):
await message.reply("Список доступных команд:\n/start – Начать взаимодействие\n/help – Получить помощь")
После того как базовые команды добавлены, необходимо запустить вашего бота. Для этого используется функция executor.start_polling(dp), которая запускает процесс прослушивания новых сообщений и событий. Полный код бота выглядит следующим образом:
python
from aiogram import Bot, Dispatcher, executor, types
TOKEN = "Ваш_токен_здесь"
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
await message.reply("Добро пожаловать! Я ваш первый Telegram-бот. Чем могу помочь?")
@dp.message_handler(commands=['help'])
async def send_help(message: types.Message):
await message.reply("Список доступных команд:\n/start – Начать взаимодействие\n/help – Получить помощь")