Created
March 22, 2015 15:58
-
-
Save travisirby/3f54282cfd1c8720909c to your computer and use it in GitHub Desktop.
post to tumblr every time a twitter user favorites a post
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// -------------- SERVER.JS file ------------------ | |
var Twit = require('twit'), | |
tumblr = require('tumblr.js'); | |
var twitterAuth = new Twit({ | |
consumer_key: 'your twitter key', | |
consumer_secret: 'your twitter secret', | |
access_token: 'your twitter token', | |
access_token_secret: 'your twitter token secret' | |
}); | |
var tumblrClient = new tumblr.createClient ({ | |
consumer_key: 'your tumblr key', | |
consumer_secret: 'your tumblr secret', | |
token: 'your tumblr token', | |
token_secret: 'your tumblr token secret' | |
}); | |
// create a twitter stream for the user whos activity you want to track | |
var stream = twitterAuth.stream('user', {track: 'twitter username to track'}); | |
// when the twitter user favorites a post this is called | |
stream.on('favorite', function (event) { | |
// if the post contains an image, post it and other tweet info to tumblr | |
if (event.target_object.entities.media != undefined) { | |
tumblrClient.photo("your tumblr blog url", { | |
source: event.target_object.entities.media[0].media_url, | |
caption: '<a href="http://www.twitter.com/' + event.target_object.user.screen_name | |
+ '">' + '@' + event.target_object.user.screen_name + '</a>: ' | |
+ event.target_object.text, | |
}, | |
function (response){ | |
console.log(response); | |
console.log(event); | |
} | |
); | |
} | |
}); | |
// ----------- PACKAGE.JSON file ------------------ | |
{ | |
"name": "twitterToTumblr", | |
"version": "1.0.0", | |
"description": "post twitter favs or retweets to tumblr blog", | |
"main": "server.js", | |
"scripts": { | |
"start": "node server.js", | |
"predeploy": "npm install", | |
"test": "echo \"Error: no test specified\" && exit 1" | |
}, | |
"author": "travis irby", | |
"license": "MIT", | |
"dependencies": { | |
"tumblr.js": "0.0.4", | |
"twit": "^1.1.19", | |
}, | |
"engines": { | |
"node": "0.10.x", | |
"npm": ">=1.3" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment