• Résultats de recherche
  • Astuce : touchez "entrer" pour voir plus de résultat.
API Streaming Twitter : Bot Node JS

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

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
API Streaming Twitter : Bot Node JS
API Streaming Twitter : Bot Node JS

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

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.

Partager
Articles alternatifs
Zapier : comment publier automatiquement des Tweets avec des hashtags intelligents ?
Cela fait un moment que j'utilise une technique redoutable pour publier des Tweets automatiques avec des hashtags intelligents, c'est à...
Publié par Maxence Rose le 15 novembre 2021
Comment devenir développeur d’applications sur Twitter ?
Vous souhaitez développer un bot Twitter ? Vous devez d’abord disposer d’un compte Twitter et d’un profil développeur, en effet,...
Publié par Maxence Rose le 27 novembre 2020
Comment prendre soin de votre beauté grâce à l’intelligence artificielle ?
Comme de nombreux voisins européens, le gouvernement français a opté pour le confinement. De nombreux commerces seront donc fermés et...
Publié par Maxence Rose le 18 novembre 2020
Commenter
Gravatar
  • Enflammé(e)
  • Sous le charme
  • Joyeux
  • Triste
  • Poce blo
  • Aucune

Pour partager votre avis avec cet article, vous pouvez laisser un commentaire en donnant votre nom, votre adresse email, et votre site Internet. Aucune authentification n'est nécessaire. Vous vous apprêtez à commenter l'article « API Streaming Twitter : Bot Node JS », n'oubliez pas de respecter les règles de communauté : aucun spam, aucune insulte et aucun contenu interdit par la loi. Vous pouvez effacer vos données de formulaire enregistrées en session en .