Найти тему
3,4K подписчиков

Написание телеграм-бота на Python. Часть вторая

932 прочитали

Данный бот не будет самым простым, это будет почти полноценное приложение для поиска отелей в разных городах и странах через сервисы API сайта hotels.com.

Не буду описывать про установку среды разработки PyCharm (именно в ней я и работаю), ибо там все предельно просто: скачал (версию community) и установил, сложного ничего нет. А при желании можно код вообще писать... в блокноте!

В предыдущей статье мы создали бота в телеграмм и получили наш уникальный токен (ключ), который и будет использоваться для управления ботом.

Для своего проекта телеграмм-бота я использовал готовую структуру проекта (ссылка на гилаб). Это поможет структурировать наш код, он логически будет раскидан по папкам, чтобы спустя время можно было легко разобраться "что к чему и куда".

Специально для написания статьи я создал новый проект в PyCharm.

Копируем структуру нашего бота в новый проект, для этого делаем следующие шаги:

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

Данный бот не будет самым простым, это будет почти полноценное приложение для поиска отелей в разных городах и странах через сервисы API сайта hotels.com.-3

Теперь нужно создать "виртуальное окружение" самостоятельно. Окружение поможет вам не засорять основной интерпретатор лишними библиотеками. В работе ни один проект не обходится без виртуального окружения. Для его создания нужно открыть командную оболочку cmd, перейти в директорию где будет располагаться наш бот и выполнить:

Папку с виртуальным окружением я назвал bot, если после выполнения всех действий появилось слово bot в скобках, значит окружение создано
Папку с виртуальным окружением я назвал bot, если после выполнения всех действий появилось слово bot в скобках, значит окружение создано

Теперь нужно установить необходимые "зависимости" в наше виртуальное окружение. Те модули, которые необходимы для работы нашей программы.

тут указан путь где лежит файл requirements.txt
тут указан путь где лежит файл requirements.txt

Для этого выполняется команда:

  • pip install -r requirements.txt

После чего скачаются и установятся все необходимые файлы.

Затем нужно добавить наш виртуальный интерпретатор python.exe:

Вот почти собственно всё, верней почти всё. Мы можем открыть в корневой директории проекта файл main.py и попытаться запустить наш скрипт управления телеграмм-ботом:

красненьким он ругается, что не может запуститься поскольку отсутствует файл .env в котором должны храниться секретные данные - пароли к нашим ресурсам в интернете.
красненьким он ругается, что не может запуститься поскольку отсутствует файл .env в котором должны храниться секретные данные - пароли к нашим ресурсам в интернете.

Нужно создать файл .env, делается это из файла .env.template, открываем его, и в нем указываем токен (ключ доступа) к нашему боту, ключ доступа к сайту hotels.com пока не прописываем. Ибо для запуска скрипта он нам пока не нужен.

ключ вставляется вместо записи "ваш токен для бота, полученный от @botfather", между кавычек!!! чтобы получилось что-то типа BOT_TOKEN = "1234567890"
ключ вставляется вместо записи "ваш токен для бота, полученный от @botfather", между кавычек!!! чтобы получилось что-то типа BOT_TOKEN = "1234567890"

После чего файл переименовываем в .env и среда разработки сразу возбудилась сообщив мне это:

Ну вот теперь то точно всё, минимальная функциональность бота соблюдена и можно его запускать. Бот запустился и может выполнять минимально возможные команды:

Ну вот пока как-то так. В следующей части публикации я попытаюсь как-нибудь, на пальцах, объяснить структуру данного бота по папкам.

Ну а на сегодня всё!