我正在寻找以下用户脚本或浏览器扩展:
如果计划删除该问题,则会在Stack Exchange问题页面上添加可视指示*。
指示删除的时间(大约)。
在Chrome中工作。
通过Stack Apps进行的搜索未发现任何相关内容。
*我知道,如果没有任何问题,每个新问题都可以在365天内删除。如果只检查9天和30天规则,那很好。
#1 楼
我为此做了一个用户脚本。我已经对Franck有用的查询显示的几个问题进行了测试,它可以正常工作,因此它应该适用于其余问题:)要安装,请先安装Tampermonkey,然后安装脚本。
// ==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');
}
}
}
}
}
}
});
如果存在删除风险,请在下面指定的时间内查看:
上面的内容将向您显示何时删除它。
这是它的工作方式:
如果问题已超过30天,并且...
得分为-1或更低
没有答案
没有锁定
>
仅开始检查分数是否小于或等于-1
如果出现问题已超过365天,并且...
的分数为0,如果所有者被删除,则分数为1
没有答案
未锁定
观看次数<=问题的天数乘以天数1.5
有1或0条评论
仅开始检查距提出问题至少11个月了
/>
如果问题已在9天前结束,并且...
没有作为重复项被关闭
得分为0或以下
没有锁定
没有分数> 0的答案
没有被接受的答案
没有悬而未决的重开投票
过去九天没有被编辑
/>
仅开始检查问题是否已经结束
评论
@Woodface所有条件不是AND吗?而且currentDate是一个错误日期和时间相同的东西; p我将在澄清9天后更新脚本-我可能也需要删除它:)
–ᔕᖺᘎᕊ
15年3月29日在19:34
似乎也可以与Firefox和Greasemonkey一起使用。
–银河忍者
15年3月30日在7:09
@galacticninja太好了!我特别提到铬,因为问题是关于铬的
–ᔕᖺᘎᕊ
15年3月30日在11:09
评论
4.在IE中侮辱用户