//funtions used (in order):
//searchIt (searches for a term among recent tweets)
//randomTweetGenerator (includes r value and number output)
//followedMe (mentions people who follow, random intervals)
//mentionsMe (replies when someone @iamlittleprick)
console.log('meBot is working today');
var Twit = require('twit');
var config = require('./config');
var T = new Twit(config);
//begin searchIt funtion
setInterval(searchIt, 1000*60*60);
searchIt();
function searchIt(){
var searches = {
q: 'new media art',
count: 1,
lang: 'en'
}
// dev.twitter.com and get search/statuses
T.get('search/tweets', searches, getSearches);
function getSearches(err, data, response){
var tweets = data.statuses;
if (tweets != undefined) {
for (var i = 0; i < tweets.length; i++){
console.log("HERE'S WHAT THEY RECENTLY SAID ABOUT NEW MEDIA ART: " + tweets[i].text);
}
}
}
}
//end searchIt function
//THIS ONE tweets randomly, with a random number
//begin randomTweetGenerator function
// randomTweetGenerator();
// var r2 = Math.floor(Math.random()*5;
// setInterval(randomTweetGenerator, 1000*60); //how often to tweet
//1000ms=1sec *60=1min *60=1hr
randomTweetGenerator();
var rr = Math.floor(Math.random()*(53));
setInterval(randomTweetGenerator, 1000*60*rr);
function randomTweetGenerator(){
var begin = [
"i've been thinking about getting",
"i'd really like",
"thinking about",
"lusting over"
];
var noun = [
"cookies",
"stickers",
"friends",
"dollars",
"followers",
"flowers",
"teacups",
"vacations",
"kittens",
"cats",
"t-shirts",
"stickers",
"boardgames",
"balls of yarn",
];
var end = [
"today.",
"in the near future.",
"right now.",
"soon.",
"with a friend.",
"for you.",
"for myself. #treatYoSelf"
]
var codingHashtags = [
"#coderProblems",
"#codingThisBitch",
"#programmerProblems",
"#syntaxError",
"#turnDownForWhat",
"#goOutside",
];
var nostalgicHashtags = [
"#eveninmydreams",
"#imnotevenjoking",
"#nostalgic",
"#thegoodoldays",
"#thinkingTooMuch"
];
var boredHashtags = [
"#indecisive",
"#bored",
"#dontknowwhattodo",
"#idontknow"
];
begin1 = begin[Math.floor(Math.random()*begin.length)];
noun1 = noun[Math.floor(Math.random()*noun.length)];
end1 = end[Math.floor(Math.random()*end.length)];
codingHashtags1 = codingHashtags[Math.floor(Math.random()*codingHashtags.length)];
nostalgicHashtags1 = nostalgicHashtags[Math.floor(Math.random()*nostalgicHashtags.length)];
boredHashtags1 = boredHashtags[Math.floor(Math.random()*boredHashtags.length)];
var r = Math.floor(Math.random()*50) + 2;
var myRandomTweet = [
"i've thought about you " + r + " times since my last tweet. " + nostalgicHashtags1,
"i've been coding a lot lately, and i'm currently averaging " + r + " EPH (expletives per hour). " + codingHashtags1,
"i've wanted to go outside " + r + " times since my last tweet. alas, i sit under the fluorescents. " + codingHashtags1,
begin1 + " " + r + " " + noun1 + " " + end1,
begin1 + " " + noun1,
"every once in a while i ask this question, and it's just to get to know you all a little better. here's the question: how did you stumble upon my account? #hideandseek",
"what should i do tomorrow? " + boredHashtags1,
"what should i do today? " + boredHashtags1,
"what should i do this weekend? " + boredHashtags1,
"hi :)"
];
myRandomTweet1 = myRandomTweet[Math.floor(Math.random()*myRandomTweet.length)];
console.log("....... randomTweetGenerator started");
var replyTweet = {
status: myRandomTweet1
}
T.post('statuses/update', replyTweet, replyTweeted);
function replyTweeted(err, data, response){
if (err){
console.log("oh, nos... error on randomTweetGenerator tweet");
}else{
console.log("....... randomTweetGenerator posted " + myRandomTweet1);
}
}
} //end of randomTweetGenerator function
//THIS FUNCTION is anytime someone follows me
//begin followedMe function
var streamFollow = T.stream('user');
streamFollow.on('follow', followedMe);
function followedMe(eventMsg){
var name = eventMsg.source.name;
var screenName = eventMsg.source.screen_name;
var followedReply = [
"how are you?",
"what are you up to?",
"what's up?",
"thanks for the follow!",
"thanks for the follow!!",
"thanks for the follow! :)",
"where are you from?",
"what brings you around these parts?",
"how did you stumble upon my account?",
"what do you like to do for fun?",
":)",
":) :) :)",
"thanks for following me :)",
"thanks for following :)",
"thanks for the follow",
"followed me! yay! :)"
];
var followedReplyBegin = [
"hi ",
"hi! ",
"hi, ",
"",
"",
"",
"",
"",
"",
"hey, it's ",
"well, hello there ",
"look who we have here :) "
];
var followedReply1 = followedReply[Math.floor(Math.random()*followedReply.length)];
var followedReplyBegin1 = followedReplyBegin[Math.floor(Math.random()*followedReplyBegin.length)];
console.log("....... followedMe // i've been followed by " + screenName);
// tweetBack("hi @" + screenName + " " + reply1);
function delayedTweetBack(s) {
tweetBack(s);
}
var tweetString = followedReplyBegin1 + "@" + screenName + " " + followedReply1;
var r = Math.floor(Math.random()*37);
setTimeout(delayedTweetBack, (1000*60*r), tweetString);
function tweetBack(txt){
var replyTweet = {
status: txt
}
T.post('statuses/update', replyTweet, replyTweeted);
function replyTweeted(err, data, response){
if (err){
console.log("followedMe FAILED");
}else{
console.log("followedMe // " + tweetString);
}
}
}
} //end of followed funtion
//THIS FUNTION IS: thanks for the mention
//begin mentionsMe
var streamMentions = T.stream('user');
streamMentions.on('tweet', mentionsMe);
function mentionsMe(eventMsg){
// var fs = require('fs');
// var json = JSON.stringify(eventMsg,null,2);
// fs.writeFile("tweet.json", json);
var replyto = eventMsg.in_reply_to_screen_name;
var text = eventMsg.text;
var from = eventMsg.user.screen_name;
var reply = [
"really?",
"so....what are you up to?",
"nice :)",
"...um",
"not today..",
"i think so",
"huh?",
"i see..",
"what do you think?",
"yeah, same here",
"only on wednesdays lol",
":)",
"well, well, well...",
"according to the prophecy",
"yeah..",
"of course",
"i'm sorry",
"oh, really??",
"thanks",
":D",
"i'm not so sure",
"what are your thoughts?"
];
var reply1 = reply[Math.floor(Math.random()*reply.length)];
if (replyto === 'iamlittleprick'){
console.log(from + " says: " + text);
function delayedTweetBack(s) {
tweetBack(s);
}
var tweetString = "@" + from + " " + reply1;
var r = Math.floor(Math.random()*23);
setTimeout(delayedTweetBack, (1000*60*r), tweetString);
function tweetBack(txt){
var replyTweet = {
status: txt
}
T.post('statuses/update', replyTweet, replyTweeted);
function replyTweeted(err, data, response){
if (err){
console.log("mentionsMe FAILED");
}else{
console.log("....... yay!! mentionsMe works");
}
}
}
}
} //end of mentionsMe function