Fiction.Live Alert Blacklist

Automatically dismisses stories in the alerts that are blacklisted

Você precisará instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Você precisará instalar uma extensão como o Tampermonkey para instalar este script.

Você precisará instalar um gerenciador de scripts de usuário para instalar este script.

(Eu já tenho um gerenciador de scripts de usuário, me deixe instalá-lo!)

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

(Eu já possuo um gerenciador de estilos de usuário, me deixar fazer a instalação!)

// ==UserScript==
// @name         Fiction.Live Alert Blacklist
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Automatically dismisses stories in the alerts that are blacklisted
// @author       You
// @match        https://fiction.live/*
// @grant        none
// ==/UserScript==

function myCode() {
    'use strict';

    var delayInMilliseconds = 200;
    var html = document.querySelector("html")
    //Blacklisted alert list
    var Blacklist = ["Placeholder",
                     "Placeholder",
                     "Placeholder",
                     "Placeholder",
                     "Placeholder"
                    ]
    //Temporary, for things I may wish to read later
    var tempBlacklist = ["Placeholder"]
    var finalBlacklist = Blacklist.concat(tempBlacklist)
    'use strict';
    alertHandler();


    /**
    * Simulate a click event.
    * @public
    * @param {Element} elem  the element to simulate a click on
    */
    function simclick(elem) {
    // Create our event (with options)
        var evt = new MouseEvent('click', {
            bubbles: true,
            cancelable: true,
            view: window
        });
        // If cancelled, don't dispatch our event
        var canceled = !elem.dispatchEvent(evt);
    };




    //Delays the code by one second
    function alertHandler(){

    //Gets every entry in the alert panel
    var alertsAll=document.querySelectorAll('[ng-repeat="item in type"]'), alertCount=0, currentAlert;
    var count = 0
    while (currentAlert = alertsAll[alertCount++])
    {
        //Adds to the counter
        count++
        //console.log(count)
        //Adds each alert into a variable
        var alertTitle = currentAlert.querySelector('[set-text="item.value.value"]');

        //The actual value of the alert
        alertTitle.textContent

        //Has the method ran for each item in the blacklist
        finalBlacklist.forEach(hideBlacklist);

    }

    function hideBlacklist(value) {
        //console.log(`"WHATS GOING ON ${value}"`);
        //Sets the var to current tag
        var alertCheck = (`${value} went live`);
        //If the tag was applied
        if(alertTitle.textContent == alertCheck) {
            console.log(value)
            console.log(alertTitle.textContent)
            console.log("This alert is blacklisted.");
            var dismiss = currentAlert.querySelector('[ng-click="dismissFeedItem(item)"]');
            simclick(dismiss);
        }
            /*
            if (alertCheck){
            //console.log("yes",bl2)
            //Hides any list items that have a blacklisted tag
            //currentAlert.style.display = "none";
            }
            */
        }}
    //document.body.style.backgroundColor = "grey"
    console.log("Alert Script Complete")
    setTimeout(alertHandler, delayInMilliseconds)

setInterval(alertHandler, 10000)
};

var intervalDelay = 10000; //10 seconds
setInterval(myCode, intervalDelay);