Coder Social home page Coder Social logo

mtwitter's Introduction

Twitter 1.1 client API for NodeJS

mtwitter is an updated version of @AvianFlu's ntwitter, which in turn was forked from @jdub's node-twitter, and so on…

Installation

You can install mtwitter and its dependencies with npm:

$ npm install mtwitter

but you should really put it in your package.json and run:

$ npm install

to install everything.

Getting started

Setup API

The keys listed below can be obtained from dev.twitter.com after setting up a new App.

var twitter = require('mtwitter');

var twit = new twitter({
  consumer_key: 'Twitter',
  consumer_secret: 'API',
  access_token_key: 'keys',
  access_token_secret: 'go here'
});

REST API

Interaction with other parts of Twitter is accomplished through their RESTful API. The best documentation for this exists at dev.twitter.com.

Convenience methods exist for many of the available methods, but some may be more up-to-date than others. If your Twitter interaction is very important, double-check the parameters in the code with Twitter's current documentation.

Note that all functions may be chained:

twit
  .verifyCredentials(function (err, data) {
    console.log(data);
  })
  .updateStatus('Test tweet from mtwitter/' + twitter.VERSION,
    function (err, data) {
      console.log(data);
    }
  );

Search API

twit.search('nodejs OR #node', {}, function(err, data) {
  console.log(data);
});

Streaming API

The stream() callback receives a Stream-like EventEmitter.

Here is an example of how to call the statuses/sample method:

twit.stream('statuses/sample', function(stream) {
  stream.on('data', function (data) {
    console.log(data);
  });
});

Here is an example of how to call the 'statuses/filter' method with a bounding box over San Fransisco and New York City ( see streaming api for more details on locations ):

twit.stream('statuses/filter', {'locations':'-122.75,36.8,-121.75,37.8,-74,40,-73,41'}, function(stream) {
  stream.on('data', function (data) {
    console.log(data);
  });
});

Here is an example of how to call the 'statuses/filter' method using the track and delimited request parameter for more details on Streaming API request parameters:

twit.stream('statuses/filter', {track: ['cool'], delimited: 'length'}, function(stream) {
  stream.on('data', function (data) {
    if( 'number' === typeof( data ) ){
      console.log( data );
    } else {
      console.log( data.text );
    }
  });
});

mtwitter also supports user and site streams:

twit.stream('user', {track:'nodejs'}, function(stream) {
  stream.on('data', function (data) {
    console.log(data);
  });
  stream.on('end', function (response) {
    // Handle a disconnection
  });
  stream.on('destroy', function (response) {
    // Handle a 'silent' disconnection from Twitter, no end/error event fired
  });
  // Disconnect stream after five seconds
  setTimeout(stream.destroy, 5000);
});

Community

Forked from @AvianFlu's seemingly dead repo, with contributions from various PRs.

All contributors are listed in the package.json.

mtwitter's People

Contributors

ahinni avatar avianflu avatar benatkin avatar blakmatrix avatar boatmeme avatar bobrik avatar clintandrewhall avatar crabbot avatar creatovisguru avatar diyahm avatar domrout avatar dylanvee avatar eriksremess avatar fatshotty avatar francois2metz avatar hdachev avatar impronunciable avatar jaclar avatar jamescodes avatar jdub avatar jmalonzo avatar martindale avatar mrdnk avatar nachosoto avatar passcod avatar secos avatar siygle avatar tcr avatar technoweenie avatar tim-smart avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.