Структура проекта бота (создаём проект) - Блог - Momentum-Bots
+

Структура проекта бота (создаём проект)

admin · Травень 21, 2018 в 6:22 pm

Предисловие

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

Не видел нигде стандартов как правильно структурировать проект бота, по этому дальше – мое субъективное мнение как должен выглядеть фолдер с проектом и если вы имеете замечания или идеи – отпишите мне, обсудим.

bot files structure

Вот к примеру структура проекта нашего викибота.

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

Основные файлы

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

В любом проекте должны быть файлы:

  • config.py (Файл с настройками)
  • bot.py (Файл, который содержит объект бота)
  • bot_handlers.py (Хэндлеры бота)
  • messages.py (Константы сообщений)
  • requirements.txt (Библиотеки/пакеты проекта)

Разберем подробнее

(Расширим бота созданного в первой части)

Создаем папку mybot/ и в ней файлы:

  • Файл config.py

Константы принято писать БОЛЬШИМИ_БУКВАМИ, вконце файла всегда принято оставлять пустую строчку

  • Файл messages.py

Сообщения в отдельном файле, чтобы их было удобно менять

  • Файл bot.py

Теперь при запуске, если все впорядке будем видеть параметры бота, благодаря строчке print(bot.get_me())

  • Файл bot_handlers.py

Обратите внимание – мы добавили важную составляющую любого бота – хэндлер команды “/start” – когда человек впервые заходит в бота. Между функциями принято ставить 2 enter.

Запуск

Зпаускаем файл bot_handlers.py так же, как и bot.py в прошлом уроке. Если все впорядке видим:

Пишем боту. Должно получится так:

bot example

Поздравляю, если все получилось.

UPD requirements.txt

Файл requirements.txt используется для того, чтобы было проще переносить проект и устанавливать библиотеки через pip. Поскольку мы используем pyTelegramBotApi, добавим его в этот файл.

Каждый новый пакет пишется через enter

Чтобы установить все пакеты из файла вводим

На всякий случай вот код урока на github.

Спасибо за внимание.

Anton Yurash

<- Первая часть | Третья часть ->

Все части обучения:

  1. Наш первый бот
  2. Структура проекта бота (создаём проект)
  3. База данных пользователей
  4. Рассылки
  5. Деплоймент бота на Heroku

Всего комментариев: 1

  • Cialis
    Автор: Cialis http://costofcial.com Добавлено Лютий 25, 2019 в 18:52

    Good article. I will be going through many of these issues as well..

    Ответить

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">