Not currently maintained, but PR/issues/questions welcome.
Instantiation & Keys
mtwitter cannot currently help with obtaining access tokens from Twitter,
you'll have to do this yourself. For testing and simple apps, the keys can be
obtained from dev.twitter.com after setting up a new App.
var Twitter = require('mtwitter');
Normal (client) authentication
var twitter = new Twitter({
consumer_key: 'Twitter',
consumer_secret: 'API',
access_token_key: 'keys',
access_token_secret: 'go here'
});
App-only authentication
var twitter = new Twitter({
consumer_key: config.key,
consumer_secret: config.secret,
application_only: true
});
REST Interface
The REST interface is managed, which means it transparently handles
rate-limiting (it retries requests and doesn't bombard the APIs),
and also takes care of fetching and refreshing configuration data as
recommended by Twitter.
Synopsis
twitter.get(
'/statuses/mentions_timeline',
{key: 'value'},
function logResponse(error, data, response) {
console.log('Error? ', error);
console.log('Parsed object of data: ', data);
console.log('Raw HTTP response: ', response);
});
twitter.post(
'/favorites/create',
'id=317050755691454464',
function() { ... }
);
Additional examples
twit.get('statuses/home_timeline', {screen_name: '_matthewpalmer'}, function(err, item) {
console.log(err, item);
});
twit.get('search/tweets', {q: 'node.js'}, function(err, item) {
console.log(err, item);
});
var content = {status: 'Maybe he\'ll finally find his keys. /@peterfalk'};
twit.post('statuses/update', content, function(err, item) {
console.log(err, item);
});
Streaming
For the moment, only "raw" access is available:
twit.stream.raw(
'GET',
'https://stream.twitter.com/1.1/statuses/sample.json',
{delimited: 'length'},
process.stdout
);
Originally forked from @AvianFlu's inactive repo,
but reworked heavily, taking inspiration from many people
and their attempts at making it better. Old (pre-rewrite)
contributors can be found in HISTORICAL
. Contributors to
the present iteration can be found in the package.json
.
License: Public Domain.
Style guide: passcod/node-style-guide.
Contributing
See CONTRIBUTING.md
for details
-
Topical branches and standard PR etiquette is preferred.
-
You need to formally agree to release your contribution.
-
Both linting and testing should pass (the Travis build will fail
a PR if there are linting errors):
$ npm test
$ npm run-script lint