1 |
|
2 |
|
3 |
|
4 |
|
5 | var Bot = require('./bot')
|
6 | , config1 = require('../config1');
|
7 |
|
8 | var bot = new Bot(config1);
|
9 |
|
10 | console.log('RTD2: Running.');
|
11 |
|
12 |
|
13 | function datestring () {
|
14 | var d = new Date(Date.now() - 5*60*60*1000);
|
15 | return d.getUTCFullYear() + '-'
|
16 | + (d.getUTCMonth() + 1) + '-'
|
17 | + d.getDate();
|
18 | };
|
19 |
|
20 | setInterval(function() {
|
21 | bot.twit.get('followers/ids', function(err, reply) {
|
22 | if(err) return handleError(err)
|
23 | console.log('\n# followers:' + reply.ids.length.toString());
|
24 | });
|
25 | var rand = Math.random();
|
26 |
|
27 | if(rand <= 0.10) {
|
28 | var params = {
|
29 | q: 'github.com/'
|
30 | , since: datestring()
|
31 | , result_type: 'mixed'
|
32 | };
|
33 | bot.twit.get('search', params, function (err, reply) {
|
34 | if(err) return handleError(err);
|
35 |
|
36 | var max = 0, popular;
|
37 |
|
38 | var tweets = reply.results
|
39 | , i = tweets.length;
|
40 |
|
41 | while(i--) {
|
42 | var tweet = tweets[i]
|
43 | , popularity = tweet.metadata.recent_retweets;
|
44 |
|
45 | if(popularity > max) {
|
46 | max = popularity;
|
47 | popular = tweet.text;
|
48 | }
|
49 | }
|
50 |
|
51 | bot.tweet(popular, function (err, reply) {
|
52 | if(err) return handleError(err);
|
53 |
|
54 | console.log('\nTweet: ' + (reply ? reply.text : reply));
|
55 | })
|
56 | });
|
57 | } else if(rand <= 0.55) {
|
58 | bot.mingle(function(err, reply) {
|
59 | if(err) return handleError(err);
|
60 |
|
61 | var name = reply.screen_name;
|
62 | console.log('\nMingle: followed @' + name);
|
63 | });
|
64 | } else {
|
65 | bot.prune(function(err, reply) {
|
66 | if(err) return handleError(err);
|
67 |
|
68 | var name = reply.screen_name
|
69 | console.log('\nPrune: unfollowed @'+ name);
|
70 | });
|
71 | }
|
72 | }, 40000);
|
73 |
|
74 | function handleError(err) {
|
75 | console.error('response status:', err.statusCode);
|
76 | console.error('data:', err.data);
|
77 | }
|