Установка#

В данном разделе будет подробно описан процесс установки и развёртки своей собственной платформы для распространения расписания.

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

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

  • Обёртка это некоторая платформа, которая позволяет вам взаимодействовать с ядром. На данный момент доступны обёртки для Telegram и ВКонтакте ботов.

Итак, для начала мы установим ядро, а после уже обёртки. Это будет не сложно.

Примечание

Установка ВК бота.

Если вас интересует как установить бота для ВКонтакте, то можете сразу прыгать до раздела Установка ВК бота, поскольку его установка несколько отличается.

Подготовка к установке#

Перед тем как приступить к установке проекта, убедитесь что у вас установлен python версии выше 3.8, а также git и poetry.

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

Советую потратитить некоторое время на базовое изучение работы с poetry, думаю вам понравится этот инструмент.

Установка ядра#

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

Для начала скопируем репозиторий проекта в удобную для нас директорию.

git clone https://codeberg.org/Salormoon/sparser

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

poetry install

Вот и всё, ядро установлено, проверить что всё работает вы сможете при помощи spcli.py.

poetry shell
python spcli.py -v

Подсказка

Про spcli.

Более подробно узнать как пользоваться spcli вы сможете в соответствующем разделе документации.

Примечание

А где же venv?

В ранних версиях документации было описание как использовать venv. Однако было принято решение откзааться от него, в пользу poetry.

Если же вы намерены использовать venv, то проделйате следующие шаги:

# Создаём новое виртуальное окружение
python -m venv venv

# Активируем виртуальное окружение (linux)
. venv/bin/activate

# Устанавливаем ВСЕ необходимые зависимости
pip install -r requirements.txt

# Теперь вы можете воспользовать spcli
# не забывайте каждый раз активировать окржение, как создаётё
# новый терминал
python spcli.py -v

Установка Telegram бота#

Когда вы скачивали ядро, то вместе с ним скачали и Telegram бота. Они поставляеются вместе, так что можете пропустить шаг клонирования репозитория с проектом.

Как и в случае с ядром, нам будет необходимо установить зависимости для работы бота:

poetry install --with telegram

Когда все зависимости установлены, вы можете перейти к простой первоначальной настройке бота. Для этого необходимо будет скопировать файл .env.dist в .env. А полсе поместить TELEGRAM_TOKEN токен от вашего бота.

После всех нстроек, вы можете запустить бота, также через poetry:

poetry run python -m sp_tg

Установка бота ВКонтакте#

Можно считать этого бота в некотором роде особенным. Для начала данная платформа получает обновления реже и чаще использует ветки обновлений с долгосрочным обслуживанием.

Тем не менее, установка несколько схожа, как и прочими платформами.

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

git clone https://codeberg.org/Salormoon/spvk

Теперь перейдём в директорию бота и утсановим все необходимые зависимости. poetry за нас загрузит ядро из стабильной ветки обновлений. Именно поэтому мы можем не беспокоиться об отдельной установке ядра.

poetry install

Когда все необходимые завиисимости для бота установлены, мы можем приступить к базовой настройке, она тут такая же, как и в Telegram. Скопируйте файл .env.dist в .env и замените VK_TOKEN на токен от группы, где собираетесь использовать бота.

Можно считать что всё готово и вы уже можете запускать бота:

poetry run python -m spvk