redgifs-downloader

    1.0.3 • Public • Published

    Welcome to RedGIFs Downloader 👋

    License: MIT Downloads NPM latest NPM beta

    How many times have you wanted to download videos in bulk from RedGIFs. Downloading videos from your favourite user and any search term has never been easier! Just follow the steps below and make sure to use filters to enhance your experience.

    Usage

    Requires nodejs and npm. There are multiple ways you can use this downloader. Pick one

    1. Clone this repo and run npm i followed by npm start or node cli.js

    2. Clone this project, install dependencies with npm i and build your "shell node binary" with npm run build-bin

    3. Install this package locally with npm i redgifs-downloader or globally with npm i redgifs-downloader -g

    const RedgifsDownloader = require("redgifs-downloader")
    const downloader = RedgifsDownloader.create(__dirname)
    
    downloader.downloadQuery("juicy")
    downloader.downloadUser("your favourite user's id")
    1. EventListeners and more
    const RedgifsDownloader = require("redgifs-downloader")
    const downloader = RedgifsDownloader.instance(__dirname) // Replace __dirname with your prefered directory of choice
    
    // EventListeners
    downloader.addEventListener("onInit", info => {
        console.log("[onInit]", info)
    })
    downloader.addEventListener("onStart", info => {
        console.log("[onStart]", info)
    })
    downloader.addEventListener("onFinish", info => {
        console.log("[onFinish]", info)
    })
    downloader.addEventListener("onFileDownloadStart", info => {
        console.log("[onFileDownloadStart]", info)
    })
    downloader.addEventListener("onFileDownloadFinish", info => {
        console.log("[onFileDownloadFinish]", info)
    })
    downloader.addEventListener("onGetLinks", info => {
        console.log("[onGetLinks]", info)
    })
    downloader.addEventListener("onError", info => {
        console.log("[onError]", info)
    })
    
    downloader.downloadQuery("juicy", options)
    // options object explained down below
    1. Standalone Links API
    const RedgifsDownloader = require("redgifs-downloader")
    //1
    RedgifsDownloader.getUserLinks("your favourite user's id", {numberToDownload: 2}).then(console.log)
    //2
    const links = await RedgifsDownloader.getSearchLinks("juicy", {minLikes: 3})

    Options object structure

    Field Data type Description Default
    minLikes number Minimum amount of likes undefined
    maxLikes number Maximum amount of likes undefined
    minDislikes number Minimum amount of dislikes undefined
    maxDislikes number Maximum amount of dislikes undefined
    minViews number Minimum amount of views undefined
    maxViews number Maximum amount of views undefined
    minDuration number Minimum gfy duration in seconds undefined
    maxDuration number Maximum gfy duration in seconds undefined
    minSize number Minimum gfy size in bytes undefined
    maxSize number Maximum gfy size in bytes undefined
    minHeight number Minimum height in pixels undefined
    maxHeight number Maximum height in pixels undefined
    minWidth number Minimum width in pixels undefined
    maxWidth number Maximum width in pixels undefined
    numberToDownload number Max amount of gfycats to download undefined
    nsfw boolean Whether gfy is tagged as "nsfw" undefined
    hasAudio boolean Whether gfy has audio undefined
    useMobile boolean Whether to use mobile urls instead of mp4 false

    To save on storage space and bandwidth, make sure useMobile is truthy!

    Author

    👤 Mišo Barišić

    Show your support

    Give a ⭐️ if this project helped you!

    📝 License

    Copyright © 2021 misobarisic.
    This project is MIT licensed.

    Install

    npm i redgifs-downloader@1.0.3

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    545 kB

    Total Files

    12

    Last publish

    Collaborators

    • misob