Socket
Book a DemoInstallSign in
Socket

sjw

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sjw

0.1.6
latest
npmnpm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

sjw.js

A tool for automatically finding abusive and problematic users on Twitter.com

inspo

Originally an experiment to use facial recognition to find white people saying the "n word", the goal is to expand the amount of recognizable social contexts and document them. By using a primative keyword matching system a large net is cast over Twitter streams that can then be fed into smarter algorithms and reveal mystic truths.

process

  • Tweet with trigger words detected
  • Facial recognition run on avatar
  • If face detected, check for offending traits & context
  • If problematic, take an automated screenshot + store tweet object in database
  • Curate tweets manually or run ML suite against database
  • Tweet the best screenshots & findings at @sjw.js

usage

set a config object that looks like so:

{
  // mashape key to use face detection API
  "mashape_key": "XXX",
  // these are the rules for problematic tweets
  "triggers": [
    {
      // identifier for trigger
      "label": "trigger label",
      // trigger words
      "keywords": [
        "twitter",
        "search",
        "terms",
        "here"
      ],
      // problematic offendor traits
      "problematics": [
        "Male",
        "White"
      ]
    }
  ],
  "accounts": [
    {
      "fullname": "XXXX",
      "creds": {
        "consumer_key": "XXX",
        "consumer_secret": "XXX",
        "access_token_key": "XXX",
        "access_token_secret": "XXX"
      }
    }
  ]
}

If you would like to write to a file, include a "logfile" key with the full system path name like so:

var path = require('path');

config.logfile = path.resolve(__dirname, '../my/output/file/data.json');

Once configuration is set, instantiate a warrior like so:

var Warrior = require('sjw').Warrior;

var config = require('../config');
config.logfile = path.resolve(__dirname, '../data/dump.json');

function warriorCallback(results) {
 console.log('FOUND A PROBLEM WITHIN ', results.tweet, ' FROM ', results.source);
}

var sjWarrior = new Warrior(config, warriorCallback);
sjWarrior.startStream();

TODO:

  • restructure to leverage supreme-stream
  • write as a requireable node module
  • turn into class that emits events
  • create triggers api for social rulesets
  • pretty up the console output some more
  • allow more output customization
  • incorporate NLP where it makes sense

FAQs

Package last updated on 12 Jun 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.