Comment créer un Bot ?
Alors vous voulez créer un bot informatique ? Vous vous demandez comment programmer un bot pour automatiser certaines taches répétitives ? Vous voulez développer votre propre bot pour un jeu ?
Comment créer son propre bot ?
Pour créer votre propre bot vous devrez soit utiliser une application d’automatisation qui existe déjà, soit partir de zéro et développer votre bot dans le langage de programmation que vous souhaitez.
Avec l’avancée des technologies, l’automatisation est maintenant possible pour un coût souvent nul et les développeurs sont les détenteurs de ces nouveaux moyens de productions scalables à l’infini. Cet effet de levier immense vous fera gagner un temps fou au quotidien et ne pas maîtriser le développement de bot est un vrai manque à gagner.
Heureusement c’est un des domaine que je préfère et j’ai fait des centaines de bots au long de ma carrière, je vous parle de certains d’entre eux dans cet article.
Découvrons ensemble sans plus tarder tout ce que vous devez savoir sur les bots Discord.
Comment faire un bot en Python ?
Python est l’un des langages les plus populaires et particulièrement dans l’intelligence artificielle et l’automatisation, ce qui est fait un langage de choix pour les bots. De nombreuses bibliothèques comme pyautogui
vous permettront d’interagir avec ce qui se passe à l’écran et de générer des inputs (clics souris et saisie clavier) en fonction.
En plus, nous verrons dans cet article des modules d’automatisation navigateur comme Selenium ainsi que des bibliothèques donnant permettant d’utiliser les API publiques de nombreux services.
Comment faire un bot en Javascript ?
Pour Javascript il n’y a pas vraiment de bibliothèque comme pour Python. L’automatisation visant plus le Web, Node JS vous donnera accès à toute l’API Javascript que ce soit pour lire des fichiers, interagir avec des éléments HTML, utiliser des Sockets et faire des requêtes en tout genre.
Javascript étant un des langages les plus populaires, des bibliothèques exploitant les API publiques existent, vous devrez juste trouver la bonne pour automatiser vos taches en rajoutant de l’intelligence par le code. Voyons un exemple concret avec Discord.
Comment créer un Chatbot ?
Un chatbot est un programme qui a pour but d’avoir une conversation avec un humain et lui fournir des réponses ou prendre ses inputs. Pour développer le vôtre vous devrez coder une intelligence artificielle qui répond aux besoin de votre cas d’utilisation.
Un chatbot peut être aussi simple qu’une bot messenger qui va poster des messages à intervale régulière un peu comme un “autoresponder” pour les emails mais la complexité dans sa logique n’a pas de limites, vous pouvez aller très loin dans le Depp Learning et peut-être passer le Test de Turing ?
Comment créer un bot sur Discord ?
Pour créer un bot Discord, vous devrez vous inscrire sur le Portail des Développeurs Discord, puis créer une application dessus, préciser que c’est un Bot, l’ajouter à votre serveur Discord pour finalement développer votre bot et héberger votre code.
Pour en savoir plus sur les bots discord vous y trouverez des tutoriels complets pour la création de bots Discord en Javascript et en Python en plus d’une vue générale de vos options avec les bots Discord qui existent déjà.
Comment créer un bot sur Twitter ?
Créer un Bot Twitter est très facile avec l’API publique que Twitter offre, utilisez un projet open-source dans votre langage de programmation préféré puis rajouter du code pour interagir avec l’API en fonction de vos critères.
Si vous voulez en apprendre plus sur la création de bot Twitter, j’ai fait un article complet, du choix de langage à l’hébergement gratuit sur mon article Créer un Bot Twitter avec Python et AWS Lambda.
Comment créer un bot Instagram ?
Comme l’API publique d’Instagram a été désactivée, pour créer un Bot Instagram il faut utiliser une librairie d’automatisation externe : La plus fréquemment utilisée est Selenium si vous programmez en Python. Certains projets open-source basés sur Selenium existent déjà comme le fameux Instapy.
InstaPy est une série d’outils développés initialement par Tim Grossmann. En utilisant Selenium vous pourrez poster et récolter des Likes et des commentaires et faire grossir votre nombre d’abonnés mais aussi rejoindre des Instagram Pods et bien plus.
Si vous voulez en savoir plus sur le sujet, je vous invite à lire mon article sur les bots Instagram avec InstaPy.
Si vous voulez coder votre propre bot instagram de 0 et réinventer la roue qu’est InstaPy, vous pouvez vous amuser avec Selenium. Avec ce module vous pourrez lancer un navigateur caché (headless) ou visible et simuler des actions comme des clics sur des éléments HTML choisi avec des sélecteurs.
Selenium est une libraire d’automatisation importante pour un développeur car en plus de la création de bot sur n’importe quel site, vous pourrez automatiser des tests et debugger vos projets web en faisant du ”Monkey testing“.
Comment créer un bot sur Telegram ?
Pour créer un Bot sur Telegram, vous devrez utiliser l’API publique fournie par Telegram qui autorise les bots. Pour vous simplifier la vie, vous pourrez utiliser une des nombreuses libraires en fonction du langage de programmation que vous utiliser.
- Pour Python : python-telegram-bot
- Pour Javascript : node-telegram-bot-api
- Pour Ruby : telegram-bot-ruby
Vous trouverez une liste complète des Wrappers de l’API Telegram sur le site officiel de Telegram.
Telegram autorise les bots avec sa connexion HTTPS vers son API publique. Les Bots Telegram vous permettront d’interagir avec les utilisateurs Telegram en leur envoyant des messages, ou lisant les leurs. Un exemple connu de Bot Telegram est l’instagram Pod “Wolf Global”.
Comment créer un bot qui clique ?
Pour créer un bot qui clique vous pouvez soit utiliser une application qui vous permettra de simuler des clics en fonctions de certains événements soit programmer le votre. De nombreux programmes existent pour tous les systèmes d’exploitation mais aussi sur smartphone Android et iOS.
Sur Android, une recherche sur le PlayStore des mots clés “Auto clickers” vous donnera de nombreuses applications gratuites à essayer pour créer votre bot et donc d’automatiser des tâches répétitives de vos jeux et applications Android.
Sur Windows, vous pouvez utiliser des logiciels comme Actiona ou un des nombreux bots de clics open-source sur Github.
Sur Mac OSX et Linux, des bots qui clics en ligne de commande existent comme xdotool
mais sinon vous pouvez aussi regarder ce qui existe sur Github.
Si vous savez coder, il existe de nombreuses librairies d’interaction avec votre écran, la souris et le clavier qui vous permettront de configurer votre bot de clic avec des tâches complexes. Par exemple, pyautogui
dont je vous ai parlé plus haut est un package Python particulièrement efficace et très complet pour les bots de clics.
D’ailleurs j’ai écrit un article complet pour faire des bots en Python avec PyAutoGUI.
Comment créer un bot pour jeux ?
Pour créer un bot pour un jeu, il y a deux approches :
- utiliser l’API privée du jeu pour envoyer des requêtes au serveur directement
- automatiser les interactions avec le client en simulant des clics et saisies clavier
En fonction du jeu pour lequel vous voulez créer un bot et de vos objectifs, vous devrez choisir l’une ou l’autre méthode. Bien-sur, simuler des interactions humaines est bien plus facile que de trouver un point d’accès et de se faire passer pour un client normal.
Comme nous l’avons vu plus haut pour les bot qui cliquent, de nombreuses libraires, programmes et projets open-source existent et vous permettront de lire de informations sur l’écran et de réagir en fonction.
Voyez un cas concret d’utilisation des bots avec un jeu connu : Dofus.
Comment créer un bot Dofus ?
💡 Rappel : je ne fais pas la promotion des bots qui ne respectes pas les conditions d’utilisation d’un jeu comme dans ce cas, j’utilise cet exemple pour que vous voyez le coté concret de bots simples qui vous pouvez coder en quelques minutes.
Prenons par exemple le jeu Dofus (retro) qui est un bon cas d’utilisation d’un bot : le jeu est fixe avec sa vue tactique et est surtout très répétitif.
En mettant l’exploitation de l’API privée de Dofus pour laquelle vous pourrez trouver beaucoup de bots qui utilisent cette approche sur Github, explorer l’automatisation des interactions à l’écran.
En utilisant le package Python pyautogui
, vous pourrez, par exemple :
- chercher si les pixels d’une ressource sont présent à l’écran et la récolter en fonction : vous avez le début d’un bot metier ultra simple
- vous déplacer pour lancer des groupes de monstres puis vous placer et lancer des sorts en fonction de ce qui vous lisez à l’écran : vous avez le début d’un bot qui XP / drop ultra simple
Comment héberger un bot ?
Pour héberger un Bot en interface graphique (GUI), vous pouvez louer une machine virtuelle sur AWS ou Microsoft Azure. Si au contraire, votre bot est du code, vous vous pouvez choisir un service de Cloud comme AWS, Heroku ou DigitalOcean ou n’importe quel VPS ou serveur.
Sur les Amazon Web Services, vous pourrez avoir une VM EC2 Windows ou Linux gratuite pendant 1 an après votre inscription. Si vous voulez plus d’informations sur AWS, j’ai écrit un article sur les Amazon Web Services dont EC2.
Votre imagination est la limite en ce qui concerne la création de bots
Quand vous pensez comme un développeur, vous voyez des solutions partout. Parfois, vous prendrez plus de temps à coder un bot pour automatiser une tâche plutôt que de faire la tâche de manière répétitive. Mais de mon point de vue, il sera souvent mieux d’être créatif en mettant un peu plus de temps au total à créer un bot qui vous apprendra à mieux développer plutôt que de perdre son temps à faire des choses répétitives et pas créatives. Ne tombez pas nonplus dans l’excès de la sur-automatisation qui ne vous apprend rien et qui vous fait perdre votre temps.
Et vous comment automatisez-vous vos taches au quotidien ? Quelles ont été vos meilleures trouvailles en matière de botting ? N’hésitez pas à nous les partager sur Twitter !
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.