Un bot Twitter

19 May 2019

Ça fait un moment que je code des bots IRC avec des fonctions débiles comme proposer des bières ou s'énerver en recevant les pings du serveur, mais je n'avais pas eu l'occasion de beaucoup bosser sur Twitter.

Ça avait pourtant l'air très marrant et une présentation à la Defcon où un hacker chope tout et n'importe quoi grâce aux concours Twitter m'a poussé à tester ce qu'il en est, 2 ans après. Cette article est un petit journal sur ces bots.

Le plan était de faire un bot carrément plus stylé que les précédents, qui serait beaucoup plus discret, c'est à dire qui ne passe pas son temps 24h/24 à participer à des concours du Brésil à la Corée mais qui se comporte et parle comme un véritable participant de ces concours, ce qui signifie grossièrement comme un sale con.

J'ai fait les bases : récupérer les IDs des followers, tweeter, une chaîne de Markov pour générer des tweets originaux, puis j'ai du faire une petite pause.

2019-05-19 : Non ne parle pas s'te plaît

Ma première intuition était que les participants des concours avaient en général des comportements assez toxiques ou des comptes qui ne faisaient que RT des concours ou des youtubers / streamers / crétins notoires. Pour se fondre dans la masse il allait donc falloir agir comme l'un d'entre eux, donc collecter les followers en commun de ces génies devrait donner un bon échantillon de la lie de ce réseau. J'ai sélectionné 6 comptes, du petit faf, du vulgarisateur idiot, et même des violeurs.

soon it will all be clean

Alimenter ma chaîne de Markov avec les tweets des followers communs de ces comptes fut beaucoup trop efficace : les tweets générés étaient dans leur vaste majorité sexistes, racistes, méchants, gore, et j'en passe. Au final ça n'avait rien de très marrant et je commençais à me questionner sur l'usage que je faisais de mon temps libre. Cette plateforme a déjà suffisamment de problèmes de discriminations, pas besoin d'envoyer mon bot y contribuer joyeusement, j'ai donc repoussé à plus tard la fonction de génération de texte…

2019-06-14 : Les premiers résultats

Mon bot (enfin mes bots) sont dans la nature depuis quelques jours et j'ai déjà quelques observations rigolotes.

Déjà, chercher "rt follow lang:fr" n'est pas aussi fructueux que chercher "concours follow lang:fr", mais il permet au bot de RT joyeusement tout un tas d'utilisateurs qui parlent juste de "follow", par exemple qui se plaignent des gens qui follow pour unfollow sans raison ensuite, ce qui est cocasse vu que le bot est programmé exactement pour ça dû aux limites du nombre de follows qu'on peut faire dans un certain temps. Un avantage est que les gens, pour une raison obscure, follow-back le bot, et un bot avec 100 followers c'est tout de suite plus discret qu'un bot à 1 follower, et comme l'API Twitter permet un nombre de follow proportionnel au nombre de followers, ça permet de participer à plus de concours. Quand on arrive à une limite arbitraire ou imposée (les 5000 chelous de Twitter, pas vraiment expliqués), on unfollow le plus ancien de nos follows.

Certains concours demandent à tag des amis en réponse au tweet original, mais dans la pratique ils ne vérifient pas toujours, et un bot a ainsi gagné un concours où il n'avait identifié personne. Ça semble plus être un prérequis peu important mais qui permet de visibiliser au maximum le concours.

C'est d'autant plus intéressant de visibiliser le concours que c'est en général une activité lucrative, en particulier dans l'achat de followers. On paye une petite somme à quelqu'un, et une des techniques pour fournir des followers "réels" (comprendre, pas trop de bots qui disparaissent en masse du jour au lendemain), est d'organiser des concours, vrais ou faux, où l'un des prérequis à la participation est de follow le compte de l'organisateur mais aussi un ou deux autres comptes qui n'ont pas l'air d'avoir grand chose à voir :

hmm
slt

On tombe parfois sur d'autres bots, parfois solo parfois en groupe avec des noms très similaires, avec des techniques plus ou moins variées pour se faire passer pour ce qu'ils ne sont pas. En voici quelques-uns même si j'ai des doutes qu'ils ne se fassent pas dégommer avant longtemps :

Je ne sais pas si l'effort passé à développer ces tentatives assez grotesques de se faire passer pour humain est tout à fait nécessaire.