Can a script be written that checks for single post users who only post a url with no associated text and delete the post and user automatically, or delete the post and block the user account pending a check?

2 Answers 2


There are several quality filters and automated tools / heuristics that are designed to prevent the most basic posts that one might characterize as unredeemingly bad.

  1. Quality filter stops posting entirely
  2. Spam Ram then attacks spam head on as part of the site (it blocks known spamming sources with the data fed in the flagging step that is next)
  3. Automated “Charcoal” filtering and auto-flagging then tries to mop up the rest. This uses API and is external to the site. In the end, this flagging feeds the Spam Ram to hobble known spammers with post throttles and/or blocks.

When you see a post, it's almost certain that the post has passed the bar that was set and not that the tool is broken. There are “2017 - A year in Spam” posts on the main meta with details how this works.

We have the third highest absolute total spam posts that get by the filter.

| Site Name                                | Post Count | % of Total |
| Stack Overflow                           |      10220 | 21.3624%   |
| Ask Ubuntu                               |       7058 | 14.7530%   |
| Ask Different                            |       4353 | 9.0989%    |
YAY US! :-( not...  

The problem comes when the filter is cranked up to stop more posts that get by and then looking at the false positives and harm to the site when legitimate posts get blocked.


  • Does this exist today? YES - there are three layers of filter on all sites in Stack Exchange
  • Should the filter be changed? The best place for that detailed question might be on the main meta in questions tagged as quality-filter

Sadly, the tools and people just react to the filters to keep getting things by.

  • I get it, thanks. As you say it’s only a few that get by - I’ll flag though - not downvote like some...
    – Solar Mike
    Commented Aug 18, 2018 at 12:20
  • @SolarMike I’ll edit the post - it was a few percent of the total that got past. So if we have 10,000 spam attempts a month - that would be 100-300 get by the quality filter requiring charcoal to cast the first few automatic flags and then someone else to manually flag or see it in a review queue. You are correct - flag and move on is the best.
    – bmike Mod
    Commented Aug 18, 2018 at 13:58

Not necessary.

Such a script, well quite similar, is already running: SmokeDetector

How does it work?

Warning: technical programming details ahead.

SmokeDetector sets up a websocket connection to the same feed that powers the Stack Exchange realtime page. This websocket provides us with the feed of posts to scan.

Every time a post comes in, we grab the full details of the post from the Stack Exchange API. Requests are bundled up wherever possible to save on our 20,000 requests per day API quota. Once we have the details, including the full text of the body, we run the post’s body text, title, and owner’s username through a whole load of tests, including several miles of regex (not literally) to determine whether or not the post is spam.

If we determine that the post is spam, we post a report of that fact to Charcoal HQ (and to some other chatrooms, based on certain conditions). This report is the cue for some humans to go and look at the post, check if it’s spam, and flag it if so. This gets spam posts destroyed quickly. Those humans can then feed back to SmokeDetector to say whether the report was correct or not. We store this feedback in our web dashboard, metasmoke, which is itself complex enough that it’s a story for another day.

Since early 2017, we also have the possibility to automatically flag a post on behalf of volunteers who signed up for autoflagging. A post will never receive more than four of these automatic flags; we want to make sure every post is also reviewed by humans.

As you see, full automation is not wanted, and in my opinion should not be implemented.

Lacking the reputation or tools necessary to see more of what's going on behind the scenes: this community is not lacking in very zealous members doing the flagging and deletion. The immune system is working well, perhaps too well already.

  • Well, I only ask as I just flagged a post about body building products so it got through and it only contained a url with no other text...
    – Solar Mike
    Commented Aug 18, 2018 at 11:48
  • @SolarMike Link-only questions or answers tend not to survive even an hour or so. What do you mean with "got through"? As far as I understand the post you are concernend about will enter the review queue and once the others agree it'll be gone. Your flag alone has no immediate effect, but it speeds up the process? Commented Aug 18, 2018 at 11:52
  • It “got through” as in it was a question available to be read and I flagged it as I should have done. It has been removed now.
    – Solar Mike
    Commented Aug 18, 2018 at 11:55
  • This is great detail on Charcoal - I’ll add the spam ram and quality filter in another answer rather than hijack this answer with a big edit. +1
    – bmike Mod
    Commented Aug 18, 2018 at 14:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .