Skip to content

Instantly share code, notes, and snippets.

@ionuttamas
Created May 24, 2017 15:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ionuttamas/c4411908793de96ae212af1cad694817 to your computer and use it in GitHub Desktop.
Save ionuttamas/c4411908793de96ae212af1cad694817 to your computer and use it in GitHub Desktop.
"use latest";
var Twitter = require('twitter');
var handlebars = require('handlebars');
var params = {screen_name: 'realDonaldTrump'};
var view = `<html>
<head>
<title>Our favorite president tweets</title>
</head>
<body>
<h1>Our favorite president tweets: green=="great", Red=="sad"</h1>
<ul>
{{#each tweets}}
<li style="background-color:{{color}}">
<img src="https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_bigger.jpg" >
<h3>{{date}}</h3>
<p>{{{text}}}</p>
</li>
{{/each}}
</ul>
</body>
</html>`;
return (ctx, req, res) => {
var client = new Twitter({
consumer_key: ctx.customer_key,
consumer_secret: ctx.customer_secret
access_token_key: ctx.access_token_key,
access_token_secret: ctx.access_token_secre
});
client.get('statuses/user_timeline', params, function(error, tweets, response) {
if (!error) {
const template = handlebars.compile(view);
tweets = tweets.map(function(tweet){
var result = {};
result.date = tweet.created_at;
result.text = tweet.text;
var lowercaseText = tweet.text.toLowerCase();
if(lowercaseText.indexOf("sad")!==-1){
result.color = "red";
}
else if(lowercaseText.indexOf("great")!==-1){
result.color = "green";
}
return result;
})
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(template({tweets:tweets}));
}
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment