Bot twitter #1 Auto like

Créer un bot twitter qui like des tweets selon un mot clé en 20 lignes ? C'est parti !
Comme vous l'aurez compris nous allons créer un bot (robot) Twitter très simple. Il devra rechercher des tweets avec un mot clé puis liker les tweets.

Le bot est crée en nodeJS. Je vais utiliser le package "twitter". Je part de zéro pour que nous ayons la même base.
Prérequis : nodeJS.

Installation

cd mon-dossier
npm init
npm install twitter

Pas plus simple ... On va dans notre dossier puis on crée les fichier requis. L'action npm init va créer un fichier package ainsi qu'un index.js.
Le fichier index.js est le point d'entré de notre application.
Ensuite on installe le paquet twitter. Vous avez différents exemples d'utilisation et de configuration sur la page dédiée.

Code

Initialisation

On écrit les premières lignes de notre fichier index.js:

var Twitter = require('twitter');

var client = new Twitter({
  consumer_key: 'xxxx',
  consumer_secret: 'xxxx',
  access_token_key: 'xxxx',
  access_token_secret: 'xxxx'
});

Comment récupérer mes clés ?

  • Connectez vous sur https://developer.twitter.com avec un compte ayant une adresse mail validée,
  • Rendez-vous en haut à droite dans le menu > Apps,
  • Sur cette page: "Créer une App",
  • Ne remplir que les champs requis,
  • Une fois crée, rendez-vous dans "Keys and tokens",
  • Générer une paire d'Access token,
  • Vous avez maintenant vos Consumer et access keys.

Changez les variables dans le code.

Récupérer les tweets

Pour plus d'informations rendez-vous sur la doc de l'API Twitter : https://developer.twitter.com/en/docs/tweets/filter-realtime/api-reference/post-statuses-filter.

client.stream('statuses/filter', {track: 'javascript'}, function(stream) {
  stream.on('data', function(event) {
    console.log(event);
  });
  stream.on('error', function(error) {
    console.log(error);
  });
});

On envoi le paramètre track qui définit notre mot clé. Retrouvez ici la doc de l'élément track. Il est possible de définir plusieurs mots clés, des liens, conditions ... Ici mon mot clé est "javascript".
Testez le bon fonctionnement avec la commande :

node index.js

La console affiche en temps réel les nouveaux tweets contenant ce mot clé.

Liker les tweets

Dans le callback "on data", on ajoute le like ! Le code complet :

var Twitter = require('twitter');

var client = new Twitter({
  consumer_key: 'xxxx',
  consumer_secret: 'xxxx',
  access_token_key: 'xxxx',
  access_token_secret: 'xxxx'
});

client.stream('statuses/filter', {track: 'javascript'}, function(stream) {
  stream.on('data', function(event) {
    client.post('favorites/create', {id: event.id_str},  function(error, tweet, response) {
      if(error) console.log(error);
      if(tweet.favorited) console.log('Favorited ' + event.user.screen_name);
    });
  });
  stream.on('error', function(error) {
    console.log(error);
  });
});

Testez le bon fonctionnement avec la commande :

node index.js

Et c'est parti ! Vous pouvez maintenant personnaliser votre bot, ajouter des critères (ex: la langue de publication du tweet...) ...

Merci d'avoir suivi cet article jusqu'au bout ! ❤️


Commentaires