lay295 / TwitchDownloader

Twitch VOD/Clip Downloader - Chat Download/Render/Replay
MIT License
2.72k stars 261 forks source link

Feature request: Ability to download playlists from Twitch #794

Open Imflyin2023 opened 1 year ago

Imflyin2023 commented 1 year ago

Checklist

Write your feature request here

Can you add the ability to download the entire playlist from Twitch? That is, the program downloads several videos at the same time without having to download them separately, and if you want, you can also make it possible to download the entire playlist in one file.

For example, https://www.twitch.tv/collections/Bl3xtMYtPxcTcg [I know these videos are in Russian, but it doesn't matter]

superbonaci commented 7 months ago

That URL is no longer valid. Can you share any permanent one?

Valgard commented 4 months ago

Hello,

another URL is https://www.twitch.tv/collections/Eb9h5skuhRecGg.

The following GraphQL query should do the job:

query Collection {
    collection(id: "Eb9h5skuhRecGg") {
        id
        title
        items(first: 50) {
            edges {
                node {
                    ... on Video {
                        id
                        title
                        thumbnailURLs(height: 180, width: 320)
                        createdAt
                        lengthSeconds
                        owner {
                            id
                            displayName
                        }
                        viewCount
                        game {
                            id
                            displayName
                            boxArtURL
                        }
                        description
                    }
                }
                cursor
            }
            totalCount
            pageInfo {
                hasNextPage
                hasPreviousPage
            }
        }
        description
        lengthSeconds
        owner {
            displayName
            id
        }
        thumbnailURL(width: 320, height: 180)
        updatedAt
        viewCount
        type
    }
}