Skip to content

nosovegor178/telegram-photos

Repository files navigation

Скачанивае фото NASA и SpaceX

Этот проект для того, чтобы скачивать фото с разных разделов NASA, а именно: APOD (A Picture Of The Day) и EPIC (Earth Polychromatic Imaging Camera), а также с серверов SpaceX в больщих количествах, а после публиковать их в телеграм каналах при помощи бота.

Как установить

На компьютере пользователя должен быть установлен Python3. Затем используйте pip (или pip3, есть конфликт Python2) для установки зависимостей:

pip install -r requirments.txt

Рекомендуется использовать virtulenv/venv для изоляци проекта.

Переменные окружения

В данном проекте переменными окружения являются NASA_API_KEY, TELEGRAM_BOT_TOKEN и TG_CHAT_ID. В этих переменных хранятся ваш api key от сайта NASA, токен от вашего телеграм-бота и id от канала или чата в телеграме. Чтобы в этой переменной хранился ваши ключ и токен вам надо создать файл .env и в нём написать строки

NASA_API_KEY="Ваш ключ"
TELEGRAM_BOT_TOKEN="Ваш токен"
TG_CHAT_ID="Ваш id"

, где вместо "Ваш ключ" надо подставить api key без кавычек, вместо TELEGRAM_BOT_TOKEN - токен телеграм бота, а вместо TG_CHAT_ID - id от канала или чата в телеграме.

Скачивание фотографий из космоса

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

fetch_spacex_images.py
fetch_EPIC_photos.py
fetch_apod_images.py

Чтобы воспользоваться любой из этих функций, вам надо перейти в командной строке в местоположение вашей директории с проектом и ввести эту команду

python script_name directory,

где вместо script_name вам надо ввести название одного из этих 3 скриптов, а вместо directory - то название директори, которое вы хотите.

Также в скрипте под названием fetch_spacex_photos.py Вам нужно после названия директории ввести id запуска:

python fetch_spacex_photos.py directory launch_id,

где вместо launch_id - вы вводите id запуска. Если не ввести id запуска то будут скачаны снимки с последнего запуска. Примерная команда в консоли должна выглядеть так:

python fetch_EPIC_photos.py images,

а для скрипта fetch_spacex_photos.py так:

python fetch_spacex_photos.py 5eb87d47ffd86e000604b38a images,

Примечание: У некоторых запусков может не быть снимков. Если их нет, то на экран выведется ошибка, однако по id запуска, указанного в примере, снимки есть, поэтому можно использоавть его.

Телеграм бот

Чтобы опубликовать фото вам нужно добавить Вашего бота в свой канал, перейти в командной строке в местонахождение вашей папки и написать эту команду

python space_photos_bot.py chat_id time image,

где вместо chat_id Вы должны написать id своего канала в Телеграм, вместо time - временной интервал, через который будет публиковаться картинка, а вместо image - название изображения (с указанием расширения).

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

Чтобы узнать id своего Телеграм-канала вам надо перейти по этой ссылке и отправить боту приглашение в свой канал. После этого бот вернет вам id вашего канала.

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

Директория - images,
Временной интервал - 14400 (4 часа),
Название изображения - случайное изображение из указанной директории

Chat_id указывать обязательно!

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

Цель проекта

Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages