API Streaming Twitter : Bot Node JS

Avatar de Yubigeek
API Streaming Twitter : Bot Node JS

Il y a quelques temps, je vous avais présenté la procédure pour créer un Bot Twitter avec l’API Twitter en PHP. Cette fois-ci, je vous présente un tutoriel sur l’API Streaming Twitter avec Node JS, utile si vous voulez « interagir avec Twitter en temps réel ».

Pour ce tutoriel, je vous propose de créer un Bot Twitter capable d’ajouter aux favoris, tous les Tweets contenant le hashtag Paris (#Paris).

Créer une application pour le Bot

Pour utiliser l’API Streaming Twitter, vous devez au préalable créer une application (apps.twitter.com).

API Streaming Twitter : Bot Node JS
API Streaming Twitter : Bot Node JS 9

Une fois que l’application est créée, générez les clés et les jetons d’accès à l’API puis notez-les dans votre bloc-note, nous allons nous en servir plus bas dans le tutoriel.

API Streaming Twitter : Bot Node JS
API Streaming Twitter : Bot Node JS 10
API Streaming Twitter : Bot Node JS
API Streaming Twitter : Bot Node JS 11

API Streaming Twitter

Une fois que vous avez récupérer les clés et les jetons d’accès, vous devez installer le module Node JS Twitter dans un répertoire de votre choix sur votre ordinateur (un répertoire qui servira à développer votre Bot).

Pour installer un module Node JS, vous devez utiliser « npm » (une commande, installé avec Node JS), puis saisir npm install twitter ou npm i twitter dans une console. La commande rapatrie les fichiers nécessaires au développement du Bot et créée un répertoire « node_modules » contenant les dépendances.

Créez un fichier, « server.js » par exemple, puis ajoutez cette première ligne qui permet de charger la dépendance « twitter » (installée précédemment) :

var Twitter = require(‘twitter’);

Pour se connecter à l’API Streaming Twitter, il faut instancier la « class » Twitter avec les clés et jetons d’accès récupéré précédemment :

var twitter = new Twitter({ consumer_key: ‘CONSUMER_KEY’, consumer_secret: ‘CONSUMER_SECRET’, access_token_key: ‘xxxxxxxxxxx-ACCESS_TOKEN’, access_token_secret: ‘ACCESS_TOKEN_SECRET’ });

Ensuite, nous allons demander au Bot de chercher tous les Tweets qui contiennent le « hashtag » Paris (#Paris), et tout cela en temps réel.

twitter.stream(‘statuses/filter’, { track: ‘#Paris’ }, function(stream) { stream.on(‘data’, function( tweet ) { var tweet_id = tweet.id_str; var tweet_text = tweet.text; console.log(tweet_text); }); stream.on(‘error’, function ( error ) { console.error(error); }); });

Pour tester votre Bot, vous pouvez utiliser la commande node server.js à partir de votre console. Vous devriez voir des Tweets qui défile à une vitesse impressionnante, c’est ça l’API Streaming ?

API Streaming Twitter : Bot Node JS
API Streaming Twitter : Bot Node JS 12

Ajouter les Tweets aux favoris

Plutôt que d’afficher simplement les Tweets dans votre console, je vous propose de donner une utilité à votre Bot, à savoir mettre les Tweets dans les favoris du compte Twitter.

Nous allons utiliser la méthode POST avec « favorites/create » (dev.twitter.com/rest/reference/post/favorites/create).

twitter.post(‘favorites/create’, { id: tweet_id }, function(error, tweet, response) { console.log(‘Tweet N°’ + tweet_id + ‘ ajouté aux favoris avec succès !’); });

A chaque fois qu’un Tweet sera récupéré via le « stream », il sera mis dans les favoris. Il existe cependant une limite à l’ajout de ces favoris, il faut en effet respecter les règles d’utilisations de l’API Twitter.

var Twitter = require(‘twitter’); var twitter = new Twitter({ consumer_key: ‘CONSUMER_KEY’, consumer_secret: ‘CONSUMER_SECRET’, access_token_key: ‘xxxxxxxxxxx-ACCESS_TOKEN’, access_token_secret: ‘ACCESS_TOKEN_SECRET’ }); twitter.stream(‘statuses/filter’, { track: ‘#Paris’ }, function(stream) { stream.on(‘data’, function( tweet ) { var tweet_id = tweet.id_str; var tweet_text = tweet.text; console.log(tweet_text); twitter.post(‘favorites/create’, { id: tweet_id }, function(error, tweet, response) { console.log(‘Tweet N°’ + tweet_id + ‘ ajouté aux favoris avec succès !’); }); }); stream.on(‘error’, function ( error ) { console.error(error); }); });

Tâche en arrière-plan

Pour laisser tourner le Bot, il existe un paquet Node JS qui permet de faire tourner la tâche en arrière-plan sur votre ordinateur ou sur votre serveur.

Pour cela, il faut installer le paquet « forever » avec la commande npm install forever –global ou npm i forever -g.

Pour utiliser « forever » et laisser tourner le Bot en arrière-plan, il suffit de saisir la commande suivante dans votre console :

forever start –minUptime 1000 –spinSleepTime 1000 –append –uid “monbot” server.js

Pour l’arrêter ou le redémarrer (après une modification par exemple), saisissez la commande forever stop monbot ou forever restart monbot.

Total
0
Shares
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Previous Post
OnOff : plusieurs numéros sur votre téléphone

OnOff : plusieurs numéros sur votre téléphone

Next Post
Raspberry Pi 3 : une nouvelle génération de PC

Raspberry Pi 3 : une nouvelle génération de PC

Related Posts