nodejs wrapper for the StopForumSpam.com REST API
JavaScript
Latest commit ed3df3d Jan 14, 2016 @deltreey fix travis
ugly mocha backward compatibility by node version
Permalink
Failed to load latest commit information.
documentation
test
.bithoundrc
.codeclimate.yml
.editorconfig
.gitattributes
.gitignore
.jshintrc
.travis.yml
.yo-rc.json
Gruntfile.js
LICENSE
README.md
index.js
jsdoc.conf.json
package.json

README.md

StopForumSpam

Join the chat at https://gitter.im/deltreey/stopforumspam NPM version Build Status Dependency Status Codacy Badge Code Climate Test Coverage bitHound Score

A nodejs wrapper for the StopForumSpam.com REST API

Install

$ npm install --save stopforumspam

Usage

var stopforumspam = require('stopforumspam');

The simplest way to use this is to create a user like this

var sfsUser = stopforumspam.User('127.0.0.1', 'test@test.com', 'testUserName');
// REMEMBER!  StopForumSpam.com only supports IPv4, not IPv6 addresses

Then you can check the stopforumspam.com database easily.

sfsUser.isSpammer()
     .then(function (result) {
            // result is false if not found

            // if true result looks something like this
            // result = {
            //   success: 1,
            //   username: {
            //     lastseen: '2015-03-09 15:22:49',
            //     frequency: 3830,
            //     appears: 1,
            //     confidence: 90.2 } }
});

You can easily submit them if they're spammers too.

stopforumspam.Key('my-api-key');
sfsUser.submit('This text is an optional way to tell SFS why you submitted the user.');
// you can use .then() if you want to wait until after the submit, though I can't imagine why

If you would prefer to call things manually, that's fine too. For example:

stopforumspam.isSpammer({ ip: '123.456.789.100', email: 'test@test.com', username: 'Spammer!' })
    .then(function (result) {
        // result is just like above
    });

You don't need to search with every parameter. You can search only for one or two if you like.

stopforumspam.isSpammer({ ip: '123.456.789.100' })
    .then(function (result) {
        // result is just like above
    });

And if you're using ES6 and want synchronous code, then there's a Sync function for everything

var spammer = stopforumspam.isSpammerSync({ ip: '123.456.789.100', email: 'test@test.com', username: 'Spammer!' });
if (spammer) {
    // do stuff
}
// User functions too!
var sfsUser = stopforumspam.User('127.0.0.1', 'test@test.com', 'testUserName');
if (sfsUser.isSpammerSync()) {
    // do stuff
}

These are promises, so you can capture errors as well if you like.

sfsUser.submit('This text is an optional way to tell SFS why you submitted the user.')
    .fail(function (error) {
        // deal with the error that occured while submitting
    });

License

MIT © Ted