Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arthur Munhoz Amaral #8

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

Arthur Munhoz Amaral #8

wants to merge 4 commits into from

Conversation

aar7hur
Copy link

@aar7hur aar7hur commented Oct 23, 2023

🌌 NasaApodImages Bot

Python Version
Code Style: Black
Code Formatter: isort
Commitizen Friendly
Clean Code Principles
SOLID Principles

This bot integrates with the NASA API and the Telegram API to provide users with the Astronomy Picture of the Day (APOD) and more. It allows users to request APOD images from specific dates and provides various other functionalities.

Installation

  1. Clone the repository from GitHub:
git clone https://github.com/aar7hur/NasaApoImages.git


## 🛠️ Installation

1. Clone the repository from GitHub:

   ```bash
   git clone https://github.com/aar7hur/nsr-desafio-01.git
  1. Install required dependencies:

    pip install -e .
  2. Set up the necessary environment variables in a .env file:

    NASA_API_KEY=your_nasa_api_key
    TELEGRAM_BOT_TOKEN=your_telegram_bot_token
  3. Run the script using the provided entry point.

    python3 -m nsrdesafio01.src.main --run

    or

    make run_telegram_bot_listener

🚀 Features

  1. Fetch the Astronomy Picture of the Day (APOD) from NASA.
  2. Send the APOD image to a chat on Telegram automatically.
  3. Allow users to request the APOD image from a specific date by sending a message to the bot.
  4. Implement additional optional commands for a more comprehensive user experience.

🚧 Challenges Faced

During the development of the NasaApoImages bot, we encountered several challenges, including:

  • Integrating with the NASA and Telegram APIs to ensure smooth communication and data retrieval.
  • Ensuring the continuous polling for updates from Telegram and processing the latest messages.
  • Managing the complexities of handling various user commands and requests.
  • Managing and maintaining the codebase and ensuring code quality and best practices.

🔜 Upcoming Features

Please note that some of the required features are still under development. These include:

  • Sending the APOD image daily to each bot subscriber.
  • Adding the ability to filter images based on specific dates.

🔧 Custom API Clients

Both the NASA API client and the Telegram API client were developed from scratch without using any plug-and-play libraries. This approach allowed to have complete control over the functionalities and tailor the clients to our specific needs.

@aar7hur aar7hur changed the title feat: Add NASA APOD Telegram BOT Arthur Munhoz Amaral Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants