Civitai Text Downloader

Make Donload button click to save a description text file.

Verzia zo dňa 05.06.2023. Pozri najnovšiu verziu.

// ==UserScript==
// @name         Civitai Text Downloader
// @namespace    http://tampermonkey.net/
// @version      2.1
// @description  Make Donload button click to save a description text file.
// @author       SenY
// @match        https://civitai.com/*
// @icon         https://civitai.com/favicon.ico
// @grant        none
// @license      BSD
// ==/UserScript==

(function() {
    'use strict';
    setInterval(function(){
        document.querySelectorAll('*[href^="/api/download/"]').forEach(button => {
            if(!button.classList.contains("ctd-done")){
                button.addEventListener("click", function(){
                    let _id = location.pathname.split("/")[2];
                    let file_id = button.getAttribute("href").split("/")[4];
                    fetch("https://civitai.com/api/v1/models/" + _id).then(x => x.json()).then(j => {
                        let file = j.modelVersions.find(x => x.id == file_id);
                        let link = document.createElement('a');
                        let text = [j.description];
                        if(file.trainedWords){
                            text = [file.trainedWords.join("\n")];
                        }
                        link.href = window.URL.createObjectURL(new Blob(text));
                        let filename = file.files[0].name || file_id + ".txt";
                        filename = filename.replace(/\.[a-z]*$/, ".txt")
                        link.download = filename;
                        link.click();
                    });
                });
                button.style.color = "#ffff00";
                button.classList.add("ctd-done");
            }
        });
    }, 500);
})();