UNPKG

stopforumspam

Version:

A wrapper for the StopForumSpam.com REST API

105 lines (84 loc) 3.75 kB
# StopForumSpam [![Join the chat at https://gitter.im/deltreey/stopforumspam](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/deltreey/stopforumspam?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] [![Codacy Badge](https://api.codacy.com/project/badge/Grade/eba160efc0ee46ff9fb6db8cbdf0fab2)](https://www.codacy.com/manual/deltreey/stopforumspam?utm_source=github.com&utm_medium=referral&utm_content=deltreey/stopforumspam&utm_campaign=Badge_Grade) [![Code Climate](https://codeclimate.com/github/deltreey/stopforumspam/badges/gpa.svg)](https://codeclimate.com/github/deltreey/stopforumspam) [![Test Coverage](https://codeclimate.com/github/deltreey/stopforumspam/badges/coverage.svg)](https://codeclimate.com/github/deltreey/stopforumspam/coverage) > A nodejs wrapper for the [StopForumSpam.com][sfs] REST API ## Install ```sh $ npm install --save stopforumspam ``` ## Usage ```js var stopforumspam = require('stopforumspam'); ``` The simplest way to use this is to create a user like this ```js 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. ```js 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. ```js 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: ```js 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. ```js 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 ```js 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](https://github.com/kriskowal/q/tree/v1.4.1), so you can capture errors as well if you like. ```js 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](https://github.com/deltreey) [npm-image]: https://badge.fury.io/js/stopforumspam.svg [npm-url]: https://npmjs.org/package/stopforumspam [travis-image]: https://travis-ci.org/deltreey/stopforumspam.svg?branch=master [travis-url]: https://travis-ci.org/deltreey/stopforumspam [daviddm-image]: https://david-dm.org/deltreey/stopforumspam.svg?theme=shields.io [daviddm-url]: https://david-dm.org/deltreey/stopforumspam [sfs]: http://stopforumspam.com