Evaluates Twitter accounts to determine whether they're bots
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
index.js
package.json

README.md

node-botometer

node-botometer evaluates Twitter accounts using Botometer, a project by the Indiana University Network Science Institute, that "checks the activity of a Twitter account and gives it a score based on how likely the account is to be a bot. Higher scores are more bot-like."

It uses Twit and Botometer's mashape API. Twitter application and Botometer mashape API keys are required.

Install

npm install node-botometer

Use

Setup

Use app-only keys consumer_key (string) and consumer_secret (string), and set app_only_auth (boolean) to true for less restrictive rate limiting from Twitter. User-level tokens access_token (string) and access_token_secret (string) are allowed but not required or recommended.

mashape_key (string): Get a key from Botometer's mashape API

rate_limit (integer): In milliseconds. Will apply to any calls to the Twitter or mashape APIs. Default: 0.

log_progress (boolean): Set to true to console log progress on score collection for each name. Default: true.

include_user (boolean): Include user data from Twitter in output object. Default: true.

include_timeline (boolean): Include the 200 most recent tweets from this user in output object. Default: false.

include_mentions (boolean): Include the 100 most recent mentions of this user in output object. Default: false.

const botometer = require('node-botometer');

const B = new botometer({
  consumer_key: '',
  consumer_secret: '',
  access_token: null,
  access_token_secret: null,
  app_only_auth: true,
  mashape_key: '',
  rate_limit: 0,
  log_progress: true,
  include_user: true,
  include_timeline: false,
  include_mentions: false
});

Get Botometer scores

You can get scores for one account or for many. It takes about six seconds per account and I'm looking for ideas to make it faster!

// array can be one screen name or many
const names = ["collinskeith","usinjuries","actual_ransom"];

B.getBatchBotScores(names,data => {
  console.log(data);
});