Боты — миниатюрные приложения, при помощи которых можно автоматизировать рутинные операции. Расскажем, как написать бота на Python буквально за полчаса. Для этого потребуются только начальные знания программирования и любой редактор кода.

Мы будем создавать простой Телеграм бот на Python, способный выводить в чат напоминания. Первым делом нам нужно дать ему имя и получить адрес.

Подготовка

Для начала нужно будет посетить отца всех ботов. Для этого вбейте в поисковую строку Телеграмма «BotFather». Нажмите /start, чтобы начать с ним работать.

Он сразу выдаст огромное полотно с различными командами. Нас интересует первая — /newbot, позволяющая начать разработку Телеграмм бота на Python.

Затем у вас попросят придумать имя бота, оно может каким угодно. Для примера возьмем в качестве названия Kuzya. Далее потребуется придумать адрес, он должен быть уникальным. В нашем случае это kuzya_reminder_bot.

В ответ отец ботов пришлет нам уникальный токен. Он понадобится для создания Телеграм бота Python, так что стоит его сохранить. При помощи токенов можно контролировать боты и просматривать пользовательскую информацию, их нельзя передавать другим людям.

Окружение

Размещать Телеграм бот Python будем в отдельной папке. Создайте ее на жестком диске, а затем откройте в среде разработке. Там нужно будет создать новый рабочий файл.

Затем в редакторе кода потребуется сделать новое окружение.

Обычно оно активируется само. Если этого не произошло, пропишите путь к файлу:

Библиотеки

Перед тем, как сделать бота в Телеграм Python требует поставить несколько библиотек. Для функционирования приложения необходимо, чтобы оно могло узнавать время и логировать сообщения.

Python Telegram bot будет работать на асинхронной библиотеке Aiogram. Она считается одной из самых гибких, хотя и не самой простой для новичков. Некоторые предпочитают ее альтернативу — Telebot. Но у него более урезанный функционал, например, он не умеет работать с базами данными, обрабатывать аудио- и видеофайлы. Сейчас этот функционал нам не нужен, но в дальнейшем может понадобиться, поэтому лучше сразу учиться работать с Aiogram.

Инсталлируем ее через терминал, введя туда «pip install aiogram». Затем импортируем через редактор кода нужные нам возможности. Это отдельные классы и функции. Сделаем это так:

Так как мы создаем Телеграм бота на Python с нуля, первым делом необходимо задать статические переменные. Ими будет полученный от отца ботов токен и сообщение, которое будет выводиться.

Вот пример:

Основная часть

Когда мы пишем Телеграм бота на Python, имеет смысл хранить информацию безопасным способом. Это можно сделать через файлы конфигурации или переменные окружения. Но сейчас мы не будем в это углубляться, а просто сохраним все в одном файле, чтобы не усложнять эту инструкцию.

Напишем такой код:

Так мы создаем экземпляр класса — бот, которому присвоим аргумент в виде полученного ранее токена. Второй экземпляр класса получает в виде аргумента — бот. Таким образом у нас создается связка объекта класса бот с ключом, который в свою очередь привязан к боту, а также диспетчера с такой же связью.

Добавляем следующую часть кода:

Так в наш Python Telegram bot будет добавлен декоратор. Это специальная конструкция, при помощи которой он сможет получать необходимые функции от диспетчера. Для декоратора прописываем аргумент — ею будет команда для начала работы.

Далее пишем:

Здесь указана функция, отвечающая за обработку команды старт. Таким образом мы задаем основную логику, согласно которой будет работать наш чат бот Телеграм Python. Не забываем про асинхронность, за которую отвечает async в начале.

Продолжаем работу над логикой:

Так мы создали переменную, в которой будет храниться айди пользователя. Таким образом функция сможет здороваться и получать данные из ответных сообщений. Наш Телеграм бот Python научится выделять время отправки и ID своего собеседника.

А это поможет ему выделить короткое и полное имя пользователя.

Далее поработаем с логами:

Так мы разрабатываем функционал для передачи в логах данных о пользователе. Теперь там будет записан в текстовом виде его айди и полное имя. А за счет добавление библиотеки появится возможность узнать, в какое время было получено сообщение.

А теперь добавим функционал приветствия:

Сообщение для бота мы уже придумали, теперь нужно задать его частоту. Пусть он напоминает о зарядке 7 раз в сутки в течение недели после начала работы.

Для этого пишем:

И напоследок сделаем так, чтобы в том же цикле сообщение уходило с именем пользователя. Для этого нужно написать:

Запуск

Наш простой Телеграм бот на Python почти готов. Дело осталось за малым — выложить его. Для этого используем код:

Можно сохраняться и закрывать файл. Запускаем наше приложение в терминале. Для проверки его работы просто перейдите по ссылке, которую прислал отец ботов. Теперь вы точно не забудете делать зарядку.

Этот материал подготовили специалисты веб-услуг и разработки в YuSMP Group. Наши сотрудники рады поделиться информацией со всеми, кто хочет научиться создавать чат-ботов. Больше интересных статей об IT и программировании в блоге студии web-разработки YuSMP Group. А идей для вдохновения — в проектах, которые мы создали.