Skip to content

Instantly share code, notes, and snippets.

@vatsal2210
Created June 11, 2021 04:03
Show Gist options
  • Save vatsal2210/2d7ff20422097814b4330a2e22b683df to your computer and use it in GitHub Desktop.
Save vatsal2210/2d7ff20422097814b4330a2e22b683df to your computer and use it in GitHub Desktop.
Twitter Follower + Message Automation
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