-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
feat: Added Instagram direct download without using yt-dlp #297
Conversation
Reviewer's Guide by SourceryThis pull request adds the functionality to download videos from Instagram by introducing a new Instagram downloader API configuration and implementing the necessary logic to support it. It includes updates to the configuration files and the addition of a new method to handle Instagram links. Sequence diagram for Instagram direct link generationsequenceDiagram
participant User
participant direct_link_generator
participant instagram
participant Config
participant Instadownload API
User->>direct_link_generator: Provides Instagram link
direct_link_generator->>instagram: Calls instagram(link)
instagram->>Config: Checks INSTADL_API
alt INSTADL_API is not configured
instagram-->>direct_link_generator: Raises DirectDownloadLinkException
else INSTADL_API is configured
instagram->>Instadownload API: GET /api/video?postUrl=link
Instadownload API-->>instagram: Returns JSON response (videoUrl)
alt status == success and videoUrl in data
instagram-->>direct_link_generator: Returns videoUrl
else
instagram-->>direct_link_generator: Raises DirectDownloadLinkException
end
end
direct_link_generator-->>User: Returns direct video URL
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @rjriajul - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider adding input validation for the
INSTADL_API
configuration parameter to ensure it's a valid URL. - It would be helpful to include error handling or logging within the
instagram
function to diagnose issues with the API calls.
Here's what I looked at during the review
- 🟡 General issues: 2 issues found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
except Exception as e: | ||
raise DirectDownloadLinkException(f"ERROR: {e}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: Preserve original traceback using exception chaining.
Consider using 'raise DirectDownloadLinkException(f"ERROR: {e}") from e' so that the underlying exception’s trace is retained, which can assist in debugging.
@@ -27,6 +27,9 @@ | |||
# Hyper Tg Downloader | |||
HELPER_TOKENS = "" | |||
|
|||
#Ista video downloader api |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick (typo): Typo in configuration comment.
It appears 'Ista' might be a typo; consider correcting it to 'Insta' or 'Instagram' for clarity.
#Ista video downloader api | |
#Insta video downloader API |
This pull request introduces new functionality for downloading videos from Instagram by adding an Instagram downloader API configuration and implementing the necessary logic to support it. The most important changes include updates to the configuration files and the addition of a new method to handle Instagram links.
Configuration updates:
bot/core/config_manager.py
: AddedINSTADL_API
configuration parameter to store the Instagram downloader API URL.config_sample.py
: Added a sampleINSTADL_API
configuration parameter for users to set their Instagram downloader API URL.Functionality updates:
bot/helper/mirror_leech_utils/download_utils/direct_link_generator.py
: Added a new methodinstagram
to fetch direct video download URLs from Instagram posts using the configured API.bot/helper/mirror_leech_utils/download_utils/direct_link_generator.py
: Updated thedirect_link_generator
function to handle Instagram links by calling the newinstagram
method.Summary by Sourcery
New Features: