-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbot.js
51 lines (43 loc) · 1.62 KB
/
bot.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
var twit = require('twit');
var config = require('./config.js');
var reTweetHashtags = ['#codethisdesign'];
var Twitter = new twit(config);
var params = {
q: "",
result_type: 'recent',
lang: 'en',
count: 30
}
var retweet = function() {
reTweetHashtags.forEach(element => {
params.q = element;
Twitter.get('search/tweets', params, function(err, data) {
// if there no errors
if (!err) {
if (data.statuses && data.statuses.length > 0) {
data.statuses.forEach(element => {
// Do not retweet - retweets
if (element.id_str && element.text && !element.text.startsWith("RT")) {
var retweetId = element.id_str;
// Tell TWITTER to retweet
Twitter.post('statuses/retweet/:id', {
id: retweetId
}, function(err, response) {
console.log("Retweet successful:", response);
if (err) {
if (err.allErrors && (err.allErrors[0].code === 187 || err.allErrors[0].code === 327)) { /*do nothing*/ } else console.log("Retweet error: ", err);
}
});
}
});
}
}
// In case of an error in Search
else {
console.log('Search Error', err);
}
});
});
};
// retweet();
setInterval(retweet, 60000);