Benutzerskript oder Erweiterung, um anzugeben, wann eine Stack Exchange-Frage automatisch gelöscht werden soll

Fragen zu Stack Exchange unterliegen Regeln zum automatischen Löschen, die für die meisten Menschen etwas zu komplex sind, um sie sich leicht zu merken. Ich würde gerne wissen, ob eine Frage, die ich mir ansehe, gelöscht werden soll, weil ich sie vielleicht speichern oder meine Stimmen zum Schließen/Löschen nicht dafür verschwenden möchte.

Ich suche nach einem Benutzerskript oder einer Browsererweiterung, die:

  1. Fügt der Fragenseite von Stack Exchange einen visuellen Hinweis hinzu, wenn die Frage zum Löschen geplant ist*.
  2. Gibt an , wann (ungefähr) die Löschung geplant ist.
  3. Funktioniert in Chrome.

Eine Suche in Stack Apps ergab nichts diesbezügliches.


* Ich verstehe, dass jede neue Frage in 365 Tagen gelöscht werden kann, wenn nichts damit passiert. Wenn nur 9-Tage- und 30-Tage-Regeln überprüft werden, ist das in Ordnung.

4. Benutzer im IE beleidigt

Antworten (1)

Dazu habe ich ein Userscript erstellt. Ich habe es an einigen Fragen getestet, die von Francks hilfreicher Abfrage gezeigt wurden, und es funktioniert, also sollte es für den Rest der Fragen funktionieren :)

Zur Installation installieren Sie bitte zuerst Tampermonkey und dann das Skript .

// ==UserScript==
// @name         Will question be deleted?
// @namespace    http://stackexchange.com/users/4337810/%E1%94%95%E1%96%BA%E1%98%8E%E1%95%8A
// @version      1.2
// @description  Adds a message on questions which *might* be deleted by the SE delete bot
// @author       ᔕᖺᘎᕊ (http://stackexchange.com/users/4337810/%E1%94%95%E1%96%BA%E1%98%8E%E1%95%8A)
// @match        *://*.stackexchange.com/*
// @match        *://*.stackoverflow.com/*
// @match        *://*.superuser.com/*
// @match        *://*.serverfault.com/*
// @match        *://*.askubuntu.com/*
// @match        *://*.stackapps.com/*
// @match        *://*.mathoverflow.net/*
// @grant        none
// ==/UserScript==
function addWarning(title) {
    if (! $('#riskOfDeletion').length ) {
        $('#qinfo').append("<tr><td><p class='label-key' id='riskOfDeletion'>Risk of <br />deletion?</p></td><td style='padding-left:10px'><p class='label-key' title='"+title+"'><b>Yes</b></p></td></tr>");    
    }
}

var askedDaysAgo = $('.question-stats td:eq(1) p').text().split(' ')[0],
    voteCount = $('.vote-count-post').text(),
    answerCount = $('#answers-header div h2').text().split(' ')[0],
    id = $(location).attr('href').split('/')[4],
    sitename = $(location).attr('hostname').split('.')[0],
    currentTime = (new Date).getTime(),
    elevenMonths = 28927183,
    nineDays = 777600,
    fifteenDays = 1296000,
    commentCount = $('.question .comment').length;

//More than 30 days old:
if( voteCount <= -1 ) { //if the vote count is <= -1
    if( answerCount.trim() == '' ) { //if there are no answers
        $.getJSON("https://api.stackexchange.com/2.2/questions/" + id + "?order=desc&sort=activity&site=" + sitename, function(json) {
            if( !json.items[0].locked_date ) { //if it isn't locked
                if ( currentTime - json.items[0].creation_date >= fifteenDays ) { //only care if it will happen in the next 15 days
                    addWarning('Within 15 days');
                }
            }
        });
    }
}

//More than 365 days old:
$.getJSON("https://api.stackexchange.com/2.2/questions/" + id + "?order=desc&sort=activity&site=" + sitename, function(json) {
    var creationDate = json.items[0].creation_date,
        score = json.items[0].score,
        answers = json.items[0].answer_count,
        views = json.items[0].view_count;

    if( currentTime - creationDate <= elevenMonths ) { //If it's been at least 11 months (we don't care about questions newer than that, yet...)
        if( answers == 0 ) { //if there aren't any answers
            if( !json.items[0].locked_date ) { //if it is not locked
                if( views <= (Math.floor(currentTime/8.64e7) * 1.5)) { //if view count <= the age of the question in days times 1.5
                    if( commentCount <= 1 ) { //if there are 1 or 0 comments
                        addWarning('Within a month');
                    }
                }
            }            
        }        
    }    
});

//More than 9 days since closure:
$.getJSON("https://api.stackexchange.com/2.2/questions/" + id + "?order=desc&sort=activity&site=" + sitename, function(json) {
    if( json.items[0].closed_date ) { //if the question is closed
        var closedDate = json.items[0].closed_date,
            closedReason = json.items[0].closed_reason,
            score = json.items[0].score,
            answers = json.items[0].answer_count;

        if( closedReason != 'duplicate' ) { //if it's not been closed as a duplicate
            if( score <= 0 ) { //if the score is less than or equal to 0
                if( !json.items[0].locked_date ) { //if it is not locked
                    if( answerCount == 0 ) { //if it has 0 answers
                        if (!json.items[0].accepted_answer_id) { //if it has no accepted answer
                            addWarning('Within 9 days');
                        }
                    }
                }
            }
        }
    }
});

Wenn die Gefahr einer Löschung innerhalb der unten angegebenen Zeit besteht, sollten Sie Folgendes sehen:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie den Mauszeiger darüber bewegen, wird Ihnen angezeigt, wann es möglicherweise gelöscht wird.

So funktioniert das:

  1. Wenn die Frage älter als 30 Tage ist und ...

    • hat -1 oder niedrigere Punktzahl
    • hat keine Antworten
    • ist nicht gesperrt

Beginnt nur mit der Überprüfung, wenn die Punktzahl kleiner oder gleich -1 ist


  1. Wenn die Frage älter als 365 Tage ist und ...

    • hat eine Punktzahl von 0 oder eine Punktzahl von 1 im Falle eines gelöschten Eigentümers
    • hat keine Antworten
    • ist nicht gesperrt
    • hat Aufrufanzahl <= das Alter der Frage in Tagen mal 1,5
    • hat 1 oder 0 Kommentare

Die Überprüfung beginnt nur, wenn seit der Fragestellung mindestens 11 Monate vergangen sind


  1. Wenn die Frage vor mehr als 9 Tagen geschlossen wurde und ...

    • nicht als Duplikat geschlossen
    • hat eine Punktzahl von 0 oder weniger
    • ist nicht gesperrt
    • hat keine Antworten mit einer Punktzahl > 0
    • hat keine akzeptierte Antwort
    • hat keine ausstehenden Wiedereröffnungsabstimmungen
    • wurde in den letzten 9 Tagen nicht bearbeitet

Beginnt nur mit der Überprüfung, wenn die Frage bereits geschlossen ist

@Woodface Sind alle Bedingungen nicht UND? Und das aktuelle Datum war ein Fehler - Datum, Uhrzeit - dasselbe ;p Ich werde das Skript nach der 9-tägigen Klärung aktualisieren - ich muss das möglicherweise auch entfernen :)
Scheint auch mit Firefox und Greasemonkey gut zu funktionieren.
@galacticninja großartig! Ich habe ausdrücklich über Chrom gesprochen, weil sich die Fragen darum drehten