Создание ECHO Telegram Bot'а

Создание ECHO Telegram Bot'а

Ёрик 👨🏻‍💻

🔥 Приступим к написанию первого кода нашего Telegram-бота. Для начала вам необходимо установить Python + PyCharm (Как это сделать? Открой YouTube)

Первые строчки кода на Python 💌


🔹Мы создали наш первый проект в PyCharm с файлом main.py, но пока что я не буду разделять код на модули и другие директории, для вашего же упрощения, мы это сделаем в одном файле. Постараюсь подробно описывать что куда и зачем!

🔹Разрабатывать мы будем на основе библиотеки aiogram, ее основная документация: (https://docs.aiogram.dev/en/dev-3.x/api/index.html) - здесь есть вся информация для написания кода и примеры по ее использованию.

Наш первый проект 📚


🔹Начнем! У вас уже есть IDE (PyCharm) и вы создали первый проект. Для начала вам необходимо установить библиотеку aiogram в наш проект. Делается это просто в консоли внутри PyCharm снизу, пишем:

Установка библиотеки aiogram

🔸Теперь первое что нам нужно - это импортировать библиотеку в проект.

import aiogram

Бот - это "сервер" который будет взаимодействовать с API Telegram. Скажем так API - это орган Telegram, с помощью которого мы взаимодействуем с самим Telegram. Поэтому для взаимодействия нам необходим наш токен, который мы получили в прошлом уроке курса -->> Создание Telegram бота #1

Фрагмент прошлого урока

🔸Создаем переменную TOKEN_API в которую заносим наш токен. И давайте для вашего удобства, мы все же из библиотеки aiogram импортируем следующее содержимое:

from aiogram import Bot, Dispatcher, executor, types

🔸Создаем экземпляр нашего класса бота. В качестве аргумента передаем наш токен, полученный в прошлых шагах. Далее объявим Dispatcher - он будет осуществлять анализ всех наших событий, далее обсудим. Для инициализации указываем наш экземпляр бота, который мы создали ранее.

bot = Bot(TOKEN_API)
dp = Dispatcher(bot)

🔸Указываем стандартную точку входа (если нужно обсудить подробнее сообщите в комментариях под постом)

if __name__ == "__main__":

🔸И внутри указываем

executor.start_polling(dp)

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

🔸Давайте пропишем обработку входящих сообщений. Для этого нам понадобится специальный объект Хендлер. Хендлер в Python - это декоратор, функция или метод, которая выполняет определенные действия в ответ на определенное событие или запрос. Прописываем Хендлер сообщений, в котором мы указываем функцию, которая является асинхронной, на что указывает - async.

🔸Далее в качестве аргумента мы указываем объект (входящее сообщение) с аннотацией типа - Message. Далее указываем обработчик - await, в котором укажем что в ответ мы должны сообщить тот же текст сообщение.

@dp. message handler ()
async def echo_upper (message: types. Message):
  await message. answer (message. text)

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

Код проекта целиком


🔸Чтобы запустить бота в PyCharm жмем Shift + F10.

Бот работает 💙


Report Page