Skip to content

Commit

Permalink
Utils tweet random post + search
Browse files Browse the repository at this point in the history
  • Loading branch information
GoX1337 committed Oct 1, 2018
1 parent ac483cf commit 8f0d476
Show file tree
Hide file tree
Showing 4 changed files with 400 additions and 259 deletions.
55 changes: 55 additions & 0 deletions postTweet.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
const Twitter = require('twitter');
const logger = require('./logger').logger;
const payloadLogger = require('./logger').payloadLogger;
const db = require('./db');
const config = require('./config');

let twitter = new Twitter({
consumer_key: process.env.consumer_key,
consumer_secret: process.env.consumer_secret,
access_token_key: process.env.access_token_key,
access_token_secret: process.env.access_token_secret
});

let postTweet = (status) => {
twitter.post('statuses/update', { status: status }, (error, tweet, response) => {
if (error)
logger.error(JSON.stringify(error));
logger.info("Tweet " + status + " done.");
process.exit(1);
});
}

let printTweetUrl = (tweet) => {
return "https://twitter.com/" + tweet.user.screen_name + "/status/" + tweet.id_str;
}

db.connect(config.dbUrl, config.dbName, (err) => {
if (err) {
logger.error(err);
process.exit(1);
} else {
let tweetCollection = db.get().collection("tweets");

tweetCollection.aggregate([
{ $sample: { size: 1 } }
]).toArray((err, docs) => {
if(err)
logger.error(err);
let tweet = docs[0];
payloadLogger.info(JSON.stringify(tweet));
let status = tweet.full_text;
if(tweet.retweeted_status){
status = tweet.retweeted_status.full_text;
if(tweet.retweeted_status.entities && tweet.retweeted_status.entities.urls){
tweet.retweeted_status.entities.urls.forEach(urlElem => {
if(!status.includes(urlElem.url))
status += urlElem.url;
});
}
}
logger.info(printTweetUrl(tweet) + " " + status);
postTweet(status);
});
}
});
Loading

0 comments on commit 8f0d476

Please sign in to comment.