Accueil » Tous » Réseaux sociaux » Twitter » Comment créer un robot sur Twitter

Comment créer un robot sur Twitter

Créer un robot sur Twitter demande quelques connaissances en programmation et développement Web, notamment en PHP.

Je ne vous cache pas que vous devrez aussi comprendre le sens d’une API.
 
 

Le terme “robot” employé dans ce tutoriel, n’a aucun rapport avec le robot que l’on peut imaginer dans la vraie vie, il s’agit ici d’un programme capable d’interagir automatiquement avec des personnes sur Twitter ou bien suite à des commandes spéciales programmées au préalable.

Accès directe aux parties de ce tutoriel ?

Que faut-il posséder ?

  • Savoir pourquoi créer un robot Twitter
  • Connaître un minimum la programmation PHP
  • Posséder un espace Web avec accès FTP
  • Espace Web acceptant les fichiers PHP
  • Comprendre un minimum l’API Twitter

Pourquoi créer un robot Twitter ?

Créer un robot Twitter pourrait permettre à une entreprise par exemple de gérer automatiquement avec des tâches récurrentes une action spécifique programmé par son concepteur, tout le long de ce tutoriel, je vais expliquer pas-à-pas comment développer un robot sur Twitter avec la mise en place d’une application sur espace Web.

La fonction de notre robot d’exemple !

Ce robot sera capable de tweeter régulièrement 5 différents messages que l’on choisira plus bas.

Trouvons un nom à ce robot… appelons-le AlarmeFatale !
Bien sûr, donnez-lui un autre nom ;)

Nous allons lui créer un compte sur Twitter, mais rien ne vous empêche d’utiliser l’application Twitter sur votre compte Twitter afin de donner l’heure toutes les heures ou bien d’écrire automatiquement “Bonne nuit” à vos followers tous les jours à 23h59 :)

Création de notre robot d’exemple !

Rendez-vous sur Twitter : twitter.com et cliquez sur S’inscrire sur Twitter.

Une fois que le compte Twitter de votre robot a été créé et activé par email, rendez-vous sur la page de développement Twitter : dev.twitter.com et connecter vous à l’interface de Twitter Developpers (avec le compte que vous venez de créer).

Une fois connecté, vous devriez arriver sur une page de conception et de développement d’application Twitter, cliquez sur Create an app.

A présent, un grand nombre d’informations concernant votre application va être demandé, remplissez-les afin de valider correctement le formulaire de création.

  • Name – Donnez un nom à cette application, par exemple AlarmeFataleApp
  • Description – Donnez une courte description de l’application (vraiment courte, dans notre cas, elle a peu d’importance)
  • WebSite – Donnez l’URL de votre blog, le site du robot, ou bien la page Twitter de AlarmeFatale
  • Callback URL – Laissez vide, nous n’utiliserons pas ce champ

Une fois que vous avez rempli ces informations, acceptez les règles de développement de Twitter après les avoir lu (Laughing Out Loud) en cochant la case “Yes, I agree” , remplissez ensuite le code de vérification anti-bot (Laughing Out Loud) puis cliquez sur le bouton “Create your Twitter application” .

Si vous avez respecter le remplissage des informations, la création de l’application aurait du se terminer correctement. On peut donc continuer…

Une page se charge et le résumé de votre application s’affiche.

Notez qu’il ne faut absolument pas échanger le code “Consumer secret” car il pourrait permettre à une tierce personne d’utiliser votre application avec un autre code sur un autre espace Web et l’utiliser à des fins pas très “légales” comme de la publicité ou autres.

Pour ce tutoriel, nous n’utiliserons pas les URL fournit sur la page. J’expliquerai leur fonction dans un prochain tutoriel.

Avant de se créer un accès à cette application, nous allons lui donner plus d’autorisation afin d’interagir avec elle (écrire, lire, et avoir un accès aux messages privées).

Notez que l’accès aux messages privées ne nous servira pas dans cette application mais sachez qu’avec l’API Twitter, vous pouvez lire et envoyer des messages privées (imaginez).

Pour gérer l’autorisation de l’application, cliquez sur l’onglet “Settings” dans le menu en haut de la page (sous le titre de votre application).

Cochez le bouton radio “Read, Write and Access direct messages” afin d’avoir un accès complet au compte qui utilisera l’application (AlarmeFatale).
Vous pouvez au passage : modifier l’icône de l’application et les informations (Organization name, Organization website) concernant la société à qui appartient l’application (vous).

Une fois que vous avez terminé l’édition des informations de l’application, cliquez sur le bouton “Update this Twitter application’s settings” .

Nous allons créer à présent un accès à l’API Twitter à votre application avec le compte principalement concerné AlarmeFatale afin que l’application agisse uniquement sur le compte Twitter AlarmeFatale.

Cliquez pour cela sur le bouton “Create my access token” et attendez le chargement de la page.

Une fois que la page s’est rechargée, récupérez les codes “Access token” et “Access token secret” .

Notez qu’il ne faut absolument pas échanger le code “Access token secret“.

La création de l’application s’arrête ici, notez dans un fichier texte ou sur un papier les informations de l’application, à savoir :

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

Programmation des pages PHP avec l’API Twitter !

Pour commencer, créer un espace Web sur un serveur dédié, ou bien mutualisé (chez Netissime, OVH, Free) pour y déposer les sources du robot Twitter.
 

Bien évidemment, trouvez un espace Web qui autorise l’utilisation du PHP (de préférence, dernière mise à jour de PHP).

Dans cet espace Web, nous allons créer un dossier que nous allons appeler “alarmeFataleTwitter” . Il n’y a que vous qui doit connaître ce dossier, choisissez-en de préférence très compliqué.

Télécharger ensuite les fichiers “OAuth.php” et “twitteroauth.php” (https://github.com/abraham/twitteroauth/tree/master/twitteroauth) puis placez-les dans le dossier “alarmeFataleTwitter” .

Nous allons créer dans ce dossier un fichier d’extension .php que vous nommerez “tweetTwitter.php” par exemple.

Dans ce fichier PHP, nous allons coller ce code ci-dessous :

  • Remplacez VOTRE_CONSUMER_KEY par votre code Consumer key
  • Remplacez VOTRE_CONSUMER_SECRET par votre code Consumer secret
  • Remplacez VOTRE_ACCESS_KEY par votre code Access token
  • Remplacez VOTRE_ACCESS_TOKEN_SECRET par votre code Access token secret

Sachez qu’en ajoutant @pirmax dans la définition du message, l’utilisateur @pirmax sera mentionné automatiquement à l’envoi du Tweet à partir du code ci-dessus. Ainsi, vous pouvez utiliser les #hashtags ou ajouter des liens directement dans le message qui seront automatiquement transformer dès l’envoi du Tweet.

L’utilisation du raccourci bit.ly doit se faire via l’API bit.ly directement, l’API Twitter ne réduira l’URL qu’à l’affichage dans la Timeline de Twitter.

Envoyez le fichier “tweetTwitter.php” sur votre espace Web (mettez-le à jour), et essayez l’application. Pour cela, rendez-vous dans votre navigateur et taper dans l’URL : http://www.monsite.com/alarmeFataleTwitter/tweetTwitter.php

L’application Twitter – si elle est correctement écrite – enverra le Tweet – s’il est correctement écrit – sur Twitter.
 

Envoi d’un message aléatoire avec l’application

Le but de ce tutoriel était de tweeter un message aléatoire parmi 5 différents messages que nous allons écrire dans le code. Rien ne vous empêche de les modifier ou d’en rajouter, vous pouvez aussi tweeter l’heure, la date, etc…

Ajoutons cette ligne de code dans notre fichier “tweetTwitter.php” .

Dans ce code, nous utilisons la fonction “array_rand()” afin de choisir un message aléatoire dans le tableau PHP “tweetMsg[]” .
 

Création d’un compte CronOo pour les tâches récurrentes

Cette partie est réservé uniquement aux personnes ayant créer une application pour leur robot Twitter voulant automatiser des scripts PHP, on appelle cela : une tâche cron.
 

Cette “tâche cron” va nous permettre d’exécuter le code de notre robot selon un cycle régulier.

Il y a cependant un hic avec ce système, en effet, Twitter n’accepte pas le flood, c’est-a-dire que le cycle régulier d’envoi des Tweets devra se faire au minimum toutes les 5 minutes, si vous choisissez moins, c’est au risque de se voir fermer son compte Twitter.

Rendez-vous sur CronOo : cronoo.com et inscrivez-vous sur le site.

Ensuite, allez sur la page “Ajouter une tâche” puis remplissez la page :

  • Nom – Donnez un nom à la tâche cron, donnez par exemple le nom de votre application ou celui de votre robot Twitter
  • Url que vous voulez lancer – Donnez l’URL que l’on a définit plus haut, par exemple : http://www.monsite.com/alarmeFataleTwitter/tweetTwitter.php
  • Périodicité – Sélectionnez dans cette partie, la périodicité que vous voulez utiliser pour la tâche cron (voir plus bas)

Exemple de périodicité de la tâche cron :

 

Plus d’informations à propos de ce tutoriel !

Si l’envie vous prend, vous pouvez aller jeter un oeil au robot qui est toujours en fonctionnement et qui tweet toutes les 5 minutes, l’heure et la date. Je conçois qu’il ne sert à rien mais il vous permettra de voir le résultat de ce tutoriel.

A propos de Pirmax Le Poulpe Rouge

Amoureux de la technologie, je partage l'actualité high-tech et informatique (Apple, Twitter, Facebook, etc.) sur le média mature qu'est aujourd'hui : l'Internet. Suivez-moi sur Twitter @pirmax.
  • Kévin

    Ca marche pas :s

  • http://www.meteo-reunion.com Lionel974

    Bonjour

    Mon problème est légèrement différent puisque les tweets lancés automatiquement n’apparaissent que très aléatoirement…

    Donc l’authentification se fait correctement puisque le script est toujours le même…

    J’en conclus donc que Twitter a depuis août 2012 décidé de limiter les systèmes de tweet automatique… avec des critères difficiles à cerner…
    Mais il ne serait pas étonnant que l’ancienneté, la popularité du compte entre en jeu…

    A moins que quelqu’un dans l’assistance puisse expliquer pourquoi le script ci-dessus fonctionne que de temps en temps…

    Salutations

    Lionel

    • http://www.maxence-blog.fr/ pirmax

      Bonsoir Lionel974,

      Je ne pense pas qu’il y est ce système de limitation. Il y est mais à partir de 750 Tweets par heure, je pense que tu en es loin.

      Je mets toujours des bots en place sur Twitter (le dernier en date remonte à 3 semaines) et je n’ai pas ce problème avec l’ancienneté du compte Twitter.

      Pourquoi est-ce-qu’il y a cette erreur d’envoi aléatoire ? Franchement, je ne sais pas. Il faut voir dans la documentation de l’API.

      Pourrais-tu m’envoyer le code que tu as fais par mail pour que je regarde ? (contact (at) maxence-blog (dot) fr.

      Amicalement,
      Maxence

  • http://vnatrc.net/ Rico

    Hello,
    exactement le même commentaire, j’ai beau suivre ton tuto à la lettre, cela ne twitte rien du tout… Qu’entends-tu par aller voir du côté de Oauth ?

  • Echo

    Salut Pirmax.
    Très bon tuto, précis et complet.

    Par contre, je constate que rien n’est posté sur mon Twitter, et que l’AlarmeFatale n’a rien postée non plus depuis Juin.
    Sais-tu si les méthodes utilisées dans les deux accès github sont toujours fonctionnelles, si Twitter a fait une maj de son API, ou si le problème vient de chez moi ?

    • http://www.maxence-blog.fr/ pirmax

      Bonjour :)

      Pour le bot AlarmeFatale, c’est moi qui l’ai désactivé parce-que ça ne sert à rien de polluer Twitter avec des messages comme ça.

      Pour ton problème, essayes de voir de ton côté (Oauth), Twitter n’a pas fait de mise à jour d’API, tous mes bots fonctionnent chez moi :)

      Amicalement,
      Maxence

  • Véronique Grossmann

    Bonjour, je suis totalement novice à la programmation d’un robot. J’ai lu ce tutoriel avec beaucoup d’intérêt. Merci de partager vos compétences avec les internautes.

    J’aimerais faire un robot pour mon compte twitter. Rien de très compliqué. Mais je n’ai pas de blog où “stocker” l’app et les dossiers des tweets que j’aimerais robotiser. Pourriez-vous svp me recommander un hébergeur de blog gratuit, afin de pouvoir créer un “WebSite – blog, site du robot, ou bien la page Twitter de mon robot ?

    La seule chose que j’ai pour l’instant c’est un compte twitter.

    Le but de cette app est personnel, pas du tout commercial.

    Merci par avance pour votre réponse.

    Slts,

    Véronique

    • http://www.maxence-blog.fr/ pirmax

      Bonsoir Véronique,

      Tu peux voir chez Free.fr ou Olympe.in pour un hébergement gratuit. Si non sur Google, en tapant hébergement Gratuit, tu trouveras sûrement des choses, et pour une application Web que personne ne voit, tu ne dois pas chercher quelque chose de très performant.

      Si non OVH est très bien, ils font des offres gratuites aussi il me semble.

      Maxence

  • Guigui

    Bonjour,

    j’ai suivi le tuto a la lettre mais rien ne se passe :( aucun tweet poster, Nada :(

    Une idée ? Une manip’ particulière à faire ?

  • KIRAFG

    Très bien mais je trouve que vair le moment du téléchargement ce n’es pas assez précis.

  • Lloyd Christmas

    Bonjour,

    Merci pour ce tuto, il est très complet.
    J’avais simplement une question, comment peut-on poster des tweets sur le mur de quelqu’un d’autre (qui a autorisé l’accès à son compte via oAuth) ?
    Je vois pas comment récupérer les “Access token” et “Access token secret”…

    Merci !

  • Lilas

    Merci pour ce tuto.

  • Eliobou

    Tu pourais me faire un exemple du code nécessaires pour ce que je t’ai demandé quand tu aura le temps

  • http://noyalkub.com/ almosted

    Salut!

    Merci pour ce tuto, j’ai jamais vraiment fait de php mais je vais quand même essayé de faire un bot ;)
    Puis cela va me permettre de m’initier au php :p enfin, si j’y arrive bien entendu :)

  • eliobou

    Comment on fait pour que le message ne soit pas aléatoire mais qu’il se tweet à la suite dans un ordre donné ?

    • http://www.maxence-blog.fr/ Maxence

      Salut,

      Il faut que tu utilises soit un fichier.txt soit une base de donnée MySQL pour enregistrer le dernier message, il se souviendra donc de la dernière phrase tweeté et tweetera la suivante à chaque fois qu’il le faudra.

      A la fin des phrases (dernière phrase), il faudra faire un reset pour revenir au début (première phrase).

      Maxence

  • Pingback: Toutes les fonctions de l’API Twitter | Le Blog de Maxence