Created
June 11, 2021 04:03
-
-
Save vatsal2210/2d7ff20422097814b4330a2e22b683df to your computer and use it in GitHub Desktop.
Twitter Follower + Message Automation
This file contains hidden or 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
var Twit = require('twit'); | |
var T = new Twit({ | |
consumer_key: '...', | |
consumer_secret: '...', | |
access_token: '...', | |
access_token_secret: '...', | |
timeout_ms: 60 * 1000, // optional HTTP request timeout to apply to all requests. | |
}); | |
var stream = T.stream('user'); | |
stream.on('follow', newFollower); // when someone follows | |
function newFollower(followerEvent) { | |
console.log('Follower Event is running'); | |
var name = followerEvent.source.name, | |
screenName = followerEvent.source.screen_name, | |
id = followerEvent.source.id_str; | |
console.log('@' + screenName + ' (' + name + ') has followed you.'); | |
sendDirectMessage(id, name, screenName) | |
follow(screenName); | |
} | |
function sendDirectMessage(id, name, screenName) { | |
T.post("direct_messages/new", { | |
user_id: id, | |
text: 'Hi ' + name + ', thanks for following me. :)' | |
}); | |
} | |
function follow(screenName) { | |
T.post('friendships/create', { | |
screen_name: screenName | |
}, (err, data, response) => { | |
if (err) { | |
console.log(err) | |
} else { | |
console.log('Followed @' + screenName + '.'); | |
} | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment