Example #1
0
        getAllPages(function(err, comments) {
          if (err || !comments) {
            return console.error('Error getting comments of talk thread.', err);
          }
        
          var msg = eliza.getInitial(), lastUser = '';
        
          for (var i=0; i < comments.length; i++) {
            if (comments[i].user.login !== config.user) {
              msg = eliza.transform(comments[i].body);
            }
            lastUser = comments[i].user.login;
          }
        
          if (lastUser !== config.user) {

            gh.issues.createComment({
              user: THREAD.user,
              repo: THREAD.repo,
              number: THREAD.number,
              body: msg
            });
          
          }
        });
Example #2
0
  module.exports = function(config, gh) {
    console.log("Initializing talk.");
    
    var eliza = new ElizaBot();
    
      // returns all results of a paginated function
    function getAllPages(cb, n, results) {
      if(!results) { results = []; }
      if(!n) { n = 0; }

      gh.issues.getComments({
        user: THREAD.user,
        repo: THREAD.repo,
        number: THREAD.number,
        page: n,
        per_page: 100, // jshint ignore:line
      }, function(err, res) {
        if(err || !res) { return cb(err); }
        results = results.concat(res);
        // if we got to the end of the results, return them
        if(res.length < 100) {
          return cb(null, results);
        }
        // otherwise keep getting more pages recursively
        getAllPages(cb, n+1, results);
      });
    }
  
    return {
      speak: function() {
        getAllPages(function(err, comments) {
          if (err || !comments) {
            return console.error('Error getting comments of talk thread.', err);
          }
          var msg = eliza.getInitial(), lastUser = '';
          for (var i=0; i < comments.length; i++) {
            if (comments[i].user.login !== config.user) {
              msg = eliza.transform(comments[i].body);
            }
            lastUser = comments[i].user.login;
          }
          if (lastUser !== config.user) {
            gh.issues.createComment({
              user: THREAD.user,
              repo: THREAD.repo,
              number: THREAD.number,
              body: msg
            });
          }
        });
      }
    };
  };