Table des matières

Créer un bot pour Twitter

Pris de Building Bots with Node.js.

$ npm install twitter --save

Dans le fichier index.js:

const TwitterPackage = require('twitter');
 
const secret = { 
    consumer_key: 'PUT YOURS', 
    consumer_secret: 'PUT YOURS', 
    access_token_key: 'PUT YOURS', 
    access_token_secret: 'PUT YOURS' 
} 
 
const twitter = new TwitterPackage(secret); 

Pour faire un tweet

twitter.post('statuses/update', {status: 'This is a sample automated Tweet'}, (error, tweet, response) => { 
    if(error){ 
        console.log(error); 
    } 
    console.log(tweet);  // Tweet body. 
    console.log(response);  // Raw response object. 
}); 

Surveiller des tweets

Par exemple si on veut suivre les tweets qui ont la mention #biere:

twitter.stream('statuses/filter', {track: '#biere'}, stream => { 
    stream.on('data', tweet => { 
        console.log(tweet.text);
    });
 
    stream.on('error', function(error) {
        console.log(error);
    });
});

Répondre à un tweet

On peut répondre à un tweet qui a eu le hashtag #biere. Pour se faire on utilise le nom d'utilisateur de la personne qui a envoyé le tweet: tweet.user.screen_name.

const mentionString = '@' + tweet.user.screen_name; 

Le code complet:

const TwitterPackage = require('twitter'); 
 
const secret = { 
  consumer_key: 'PUT YOURS', 
  consumer_secret: 'PUT YOURS', 
  access_token_key: 'PUT YOURS', 
  access_token_secret: 'PUT YOURS' 
} 
 
const twitter = new TwitterPackage(secret); 
 
twitter.stream('statuses/filter', {track: '#biere'}, stream => { 
    stream.on('data', tweet => { 
        console.log(tweet.text); 
        var statusObj = { status: "Hi @" + tweet.user.screen_name + ", Thanks for reaching out. How are you?" } 
 
        twitter.post('statuses/update', statusObj, (error, tweetReply, response) => { 
            if(error){ 
                console.log(error); 
            } 
 
            console.log(tweetReply.text); 
        });
    }); 
 
    stream.on('error', error => { 
        //print out the error 
        console.log(error); 
    }); 
});

Voir : https://dzone.com/articles/how-to-use-twitter-api-using-nodejs

Slack

Pour créer un bot sur Slack, il faut aller sur https://[nom-du-team].slack.com/services/new/bot, où [nom-du-team] est le nom de l'organisation ou équipe. Créer le bot en donnant un surnom et en cliquant sur le bouton Add bot integration.

Installer request et slackbots dans le projet:

$ npm install request slackbots --save

Configuration

La configuration du bot ressemble à ceci:

var Bot = require('slackbots'); 
 
var settings = { 
    token: 'API TOKEN', 
    name: 'quotebot' 
}; 
 
var bot = new Bot(settings); 
 
bot.on('start', function() { 
    bot.postMessageToChannel('channel-name', 'Hi channel.'); 
    bot.postMessageToUser('a-username', 'Hi user.'); 
    bot.postMessageToGroup('a-private-group', 'Hi private group.'); 
}); 

Ressources