Пользовательский скрипт для добавления кнопки «пометить» к удаленным сообщениям Stack Exchange

В рамках своей повседневной жизни я отмечаю удаленные вопросы на Stack Exchange. Обычно я вижу что-то вроде этого:

введите описание изображения здесь

И чтобы пометить удаленный пост, который я не вижу, мне нужно открыть Postman и подделать запрос POST для пометки. Это занимает много времени и неудобно.

Мне нужен пользовательский скрипт/расширение, которое:

  • Добавляет кнопку флага на страницы удаленного сообщения 404.
  • В идеале вызывает стандартный диалог флага, но он абсолютно должен позволять мне вводить пользовательский текст для флага «требует внимания модератора». Меня не интересуют другие типы флагов, поэтому стандартный диалог не требуется.
  • В идеале мне не нужно было бы аутентифицироваться с помощью API, вместо этого я использовал бы стандартные запросы POST, доступные внутри страницы (с моим fkey).

Есть ли скрипт, который может это сделать?

Что касается вашей второй пули: единственный вариант пометки для удаленных сообщений - «другое».
Это разрешено? Это повседневная рутина всех модераторов SE? Если да, то почему такой функции нет? Как найти вескую причину для отметки, если вы больше не видите контент?
@ТомасВ. Это разрешено системой и может быть полезно в нескольких случаях, в первую очередь, когда вы хотите пометить пользователя за что-то, а его единственный контент удаляется. Это не повседневная рутина для всех, это просто хобби, которое у меня есть.

Ответы (1)

// ==UserScript==
// @name         Flag Link for Deleted Messages
// @namespace    http://github.com/
// @version      0.1
// @description  Eh.
// @author       Madara Uchiha
// @include        /http:\/\/.+\.stackexchange.com/
// @include        /http:\/\/.+\.stackoverflow.com/
// @include        /http:\/\/stackoverflow.com/
// @include        /http:\/\/askubuntu.com/
// @include        /https:\/\/.+\.stackexchange.com/
// @include        /https:\/\/.+\.stackoverflow.com/
// @include        /https:\/\/stackoverflow.com/
// @include        /https:\/\/askubuntu.com/
// @grant        none
// ==/UserScript==

if ($('h1:contains(Page Not Found)').length > 0) {
    var postId = document.location.href.match(/questions\/(\d+)\//)[1];
    var $a = $('<a />', {
        text: 'Flag this question',
        css : {
            float: 'right'
        }
    });
    var $spinner = $('<img />', {
        src: 'http://i.imgur.com/YPmA6Jk.gif',
        css: {
            position: 'fixed',
            top     : 0,
            right   : 0
        }
    });
    $a.on('click', function () {
        var flagMessage = prompt('Enter flag message here.');
        $.post('/flags/posts/' + postId + '/add/PostOther', {
            fkey     : StackExchange.options.user.fkey,
            otherText: flagMessage
        }, hideSpinner);
        showSpinner()
    });
    $('#mainbar-full .subheader').append($a);
    $('#mainbar-full .subheader').append($spinner);

    $spinner.hide();

    function showSpinner() {
        $spinner.show();
    }

    function hideSpinner() {
        $spinner.hide('slow');
    }
}

Вышеупомянутый пользовательский скрипт добавляет ссылку справа от заголовка каждой страницы 404, которая позволяет вам пометить вопрос с помощью специального флага с помощью простого prompt()вызова.

Единороги

Я заметил, что пользовательский скрипт не работает (больше?) в случае, если удаленный вопрос удаляется из-за флагов спама, в то время как он работает для удаленных, но не спамовых сообщений.
Ну, тест для того, чтобы «Страница не найдена» была на странице (в <h1>элементе). Если бы это было иначе, то пользовательский скрипт действительно не работал бы.