Skip to content
oozcitak edited this page Dec 28, 2010 · 14 revisions

Creating the Client

    var akismet = require('akismet').client(options);

where options must include the blog url and Akismet API key. Rest of the options are optional and default values are as shown below:

    options = {
      blog: '',
      apiKey: null,
      host: 'rest.akismet.com',
      endPoint: options.apiKey + '.' + options.host,
      port: 80,
      userAgent: 'Generic Node.js/1.0.0 | Akismet 2.4.0',
      charset: 'utf-8',
      debug: false,
    }

For example:

    var akismet = require('akismet').client({ 
      blog: 'http://my.blog.com', 
      apiKey: 'myakismetapikey123' 
    });

Verifying the API Key

    akismet.verifyKey(callback);

where callback takes two arguments: err and verified. verified will be true if the API key was successfully verified.

For example:

    akismet.verifyKey(function(err, verified) {
      if (verified) 
        util.log('API key successfully verified.');
      else 
        util.log('Unable to verify API key.');
    });

Checking for Spam

    akismet.checkSpam(args, callback);

where args contain query string parameters as key/value pairs. callback takes two arguments: err and spam. spam will be true if the Akismet API identifies the comment as spam.

For example:

    akismet.checkSpam({ 
        user_ip: '1.1.1.1', 
        permalink: 'http://www.my.blog.com/my-post',
        comment_author: 'spammer',
        comment_content: 'spamming your comments'
      }, function(err, spam) {
        if(spam)
          util.log('Spam caught.');
        else
          util.log('Not spam');
    });

Sending Feedback to Akismet

    akismet.submitSpam(args, callback);
    akismet.submitHam(args, callback);

If the Akismet API returns false positives or false negatives you can send feedback to the API with these functions. Their usage is the same as checkSpam. args contain query string parameters as key/value pairs. callback takes an err argument.

For example:

    akismet.submitSpam({ 
        user_ip: '1.1.1.1', 
        permalink: 'http://www.my.blog.com/my-post',
        comment_author: 'spammer',
        comment_content: 'spamming your comments'
      }, function(err) {
        util.log('Spam reported to Akismet.');
    });
Clone this wiki locally