Данный проект помогает автоматизировать процессы скачивания и публикации фотографий NASA и SpaceX в Telegram.
Должен быть установлен python3. Затем используйте pip (или pip3, если есть конфликт с python2) для установки зависимостей:
pip install -r requirements.txt
или
pip3 install -r requirements.txt
Рекомендуется использовать venv для изоляции проекта.
Сохраните ключи/токены/параметры в .env
файл в директорию проекта в следующем формате:
NASA_API_KEY=вместо этого текста вставьте ключ
TELEGRAM_TOKEN=вместо этого текста вставьте токен
TELEGRAM_CHAT_ID=вместо этого текста вставьте @имя канала
Для получения API ключа NASA зарегистрируйтесь на https://api.nasa.gov .
Для получения токена Telegram, воспользуйтесь telegram ботом @BotFather
.
В качестве chat_id используйте @имя вашего telegram канала (добавьте бота в список администраторов канала).
PUBLICATION_INTERVAL=вместо этого текста вставьте число
Интервал публикаций задаётся в часах. По умолчанию установлен на 4 часа.
Осуществляет скачивание фотографий последнего или конкретного запуска spaceX.
Находясь в директории проекта, откройте с помощью python3 файл fetch_spacex_images.py
python3 fetch_spacex_images.py
Если добавить необязательный параметр --id и номер запуска, скрипт скачает его фотографии, а не последние из доступных на сайте.
python3 fetch_spacex_images.py --id 5eb87d47ffd86e000604b38a
Осуществляет скачивание избранного фото дня.
Находясь в директории проекта, откройте с помощью python3 файл fetch_nasa_apod_images.py
python3 fetch_nasa_apod_images.py
Осуществляет скачивание последней эпической серии фотографий Земли.
Находясь в директории проекта, откройте с помощью python3 файл fetch_nasa_epic_images.py
python3 fetch_nasa_epic_images.py
Осуществляет единоразовую публикацию указанной или случайной фотографии (при отсутствии указанной).
Находясь в директории проекта, откройте с помощью python3 файл single_publishing.py
python3 single_publishing.py
Путь с именем фотографии не является обязательным параметром.
python3 single_publishing.py --path "вместо этого текста вставьте в кавычки полный путь с именем и расширением файла для следующей публикации"
Осуществляет автоматическую постепенную публикацию по одной всех имеющихся фотографий с заданным временным интервалом или же раз в 4 часа (по умолчанию). Если все фотографии уже опубликованы, программа перемешает список и продолжит выкладывать в том же цикле.
Находясь в директории проекта, откройте с помощью python3 файл circular_publishing.py
python3 circular_publishing.py
Настройка временного интервала производится через переменную окружения.
Подробности описаны выше, в пункте Необязательные
раздела Ключи и параметры
.
Данный модуль содержит общие функции, необходимые для работы вышеперечисленных скриптов.
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков https://dvmn.org/.