From StatusNet
Jump to: navigation, search

by: Evan Prodromou
description: Test notices against the Activity Spam service.

This article is a stub. You can help us by expanding it.

This plugin uses the spamicity server to determine if a post is spammy.



This plugin is part of StatusNet 1.1.0. You can enable it by adding this line to your config.php:



You need a few configuration options to make it work.

protocol, hostname and port of the server you're using. Probably "".
The consumer key for your app. You need to get one manually from or your spam server.
The OAuth secret for your app. You need to get one manually from or your spam server.
Whether to hide detected spam from regular users. Default false; make it true once you're sure the spam filter works OK.


Plugin has been activated on The first version just stores a spam score in the database.

added a toggle on all notices:

  • dot: no spam
  • exclamation point: spam.

You can toggle the "spamminess" of each notice by clicking on the toggle button. "Mark as spam/Clear spam" are the prompts. You must be logged in as Modhelper or Moderator to train spam [1].

There's also a stream of the latest stuff that's been detected as spam at - You must be logged in as Modhelper or Moderator to review.

some work done to hide posts that are either from silenced users (usually spammers) or that score badly with our spam filter. moderators will still see spam; I'm working on better UI (maybe crosshatched or dimmed out). One problem is that mod-helpers might see varying UIs. I might need to make some fine-tuning work over the next couple of days. We actually cache visibility info for about 5 minutes, so it takes a few minutes for them to disappear. Another important fix! [2]

Notices by silenced users and spam-detected users don't show up in timelines. [3]


  • Show the spam score to mods

* Hide spammy posts from non-mods
* Add a "this is spam" button to train spam server
* Add a "this is not spam" button to train spam server

  • Optional threshold for spam probability
  • the "dot" isn't lining up correctly when the location is long (will be fixed).
  • next step is to integrate with silencing.
    • when a user is silenced, train all their notices as spam.
    • Unsilenced => train as ham.
    • if a user has posted N many spammy notices, they're automatically silenced.
Personal tools