Skip to content

Instantly share code, notes, and snippets.

@jillesme
Created November 11, 2016 06:36
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 jillesme/6d0becb6d0e4f204415015d3b74efd6f to your computer and use it in GitHub Desktop.
Save jillesme/6d0becb6d0e4f204415015d3b74efd6f to your computer and use it in GitHub Desktop.
Little refactor
function handlePossibleError(err) {
if (!err) return;
console.log('------- ERROR --------');
console.error(err);
console.log('----------------------');
}
function insertIntoDatabase(db, data) {
var tweets = db.collection('tweets');
var reg = /(https:\/\/.+)/g;
var textArray = res.text.split(reg);
tweets.insert({
'saved_by': data.tweet.user.id_str,
'saved_by_name': data.tweet.user.name,
'saved_by_screenname': data.tweet.user.screen_name,
'text': textArray[0],
'link': textArray[1],
'user_id': data.userId,
'user_name': data.userName
});
db.close(handlePossibleError);
}
twitter.stream("statuses/filter", {track: "@twtsvr"}, function (stream) {
stream.on("data", function (tweet) {
if (tweet.in_reply_to_status_id && /savethis!/i.test(tweet.text)) {
twitter.get(apiUrl + tweet.in_reply_to_status_id_str, function (req, res) {
mongo.MongoClient.connect(mongoUri, function (err, db) {
if (!err) {
return insertIntoDatabase(db, { tweet: tweet, userId: res.user.id_str, userName: res.user.name });
}
handlePossibleError(err);
});
});
};
});
stream.on("error", handlePossibleError);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment