Группа консольных сервисов решает задачи наполнения контентом Вашего телеграмм-канала - скачивает медиа-файлы и публикует их через заданные Вами промежутки времени. Скачивание контента реализовано с API сервисов SpaceX и NASA.
Рекомендуется использовать virtualenv/venv для изоляции проекта. Для работы Вам также понадобятся:
- Токен API-сервиса NASA. Положите его в переменную окружения NASA_API_KEY.
- Токен Вашего телеграмм-бота, в переменной окружения TELEGRAM_BOT_TOKEN.
- Ссылка на Ваш телеграмм-канал в переменной TELEGRAM_CHANEL_ID.
Python3 должен быть уже установлен. Затем используйте pip (или pip3 если есть конфликт с Python2) для установки зависимостей:
pip install -r requirements.txt
$ python fetch_spacex_images.py folder -lid LANCH_ID
где
- folder - обязательный параметр - каталог для загружаемых файлов;
- LANCH_ID - id интересующего Вас запуска. Необязательный параметр. По умолчанию скачиваться фото последнего запуска. В случае отсутствия фото запуска, будет выдано сообщение об этом.
$ python fetch_nasa_apod.py folder -count COUNT
где
- folder - обязательный параметр - каталог для загружаемых файлов;
- COUNT - число скачиваемых изображений. По умолчанию 10.
$ python fetch_nasa_epic.py folder -date DATE
где
- folder - обязательный параметр - каталог для загружаемых файлов;
- DATE - загрузка изображений за указанную дату. По умолчанию загрузятся последние (свежие) фото
$ python publish_this.py -f FILE
где FILE - публикуемое фото. По умолчанию публикуемое изображение выбирается случайным образом из папки images.
$ python publisher_bot.py photo_folder -timer TIMER
где
- photo_folder - директория с публикуемыми изображениями;
- TIMER - интервал времени между публикациями в секундах. По умолчанию 4 часа.
Код написан в образовательных целях на онлайн-курсах школы Devman.