Que sont les robots Telegram
Avant d'agir e créer un bot sur Telegram, il est bon de clarifier en détail ce que sont les robots Telegram et pourquoi ils ont tant de succès. De manière générale, un bot n'est rien de plus qu'un "utilisateur" de Telegram pas humain, composé principalement de lignes de code chargées sur un plateforme de microservices, capable d'effectuer des actions (parfois même complexes) de manière entièrement automatique, en recevant des demandes sous la forme HTTP les commandes données par l'utilisateur via le chat Telegram.
Il existe principalement deux types de bots Telegram : le bot autonome, celui avec une fenêtre de chat autonome dans laquelle émettre des commandes, et le bot en ligne, celle que l'on peut appeler depuis d'autres fenêtres de chat (simple ou en groupe) à l'aide de la commande @nombot. Chaque bot Telegram est identifié de manière unique par un jeton- Une séquence de chiffres et de lettres utilisée par les applications Web et les API pour faire référence au bot lui-même.
Pour clarifier vos idées, je veux vous donner un exemple pratique : dans des conditions normales, suivre un colis en transit chez un coursier signifie se connecter au site Web du coursier, saisir le numéro de suivi dans la case proposée, remplir les champs nécessaires et consulter, sur place. , l'état du colis. Pour obtenir des mises à jour de statut, dans la plupart des cas, il faut veiller à revenir sur le site et répéter la procédure.
avec TrackBot, l'un des meilleurs bots autonomes pour Telegram, la musique change : c'est un bot créé par quatre programmeurs dans votre langues, qui vous permet de suivre un envoi à partir de son code de suivi et de recevoir des mises à jour de statut de manière entièrement automatique. Pour l'utiliser, il suffit de le rechercher dans Telegram et d'émettre les commandes nécessaires (illustrées par le bot lui-même) pour ajouter le numéro de suivi du colis, après quoi le bot s'interface avec le service Internet du courrier (par exemple GLS) et, de manière entièrement automatique, il envoie une message de discussion à l'utilisateur lorsque le colis change d'état (ex. En transit, En livraison ou Livré).
Quant aux robots en ligne, je peux vous donner l'exemple de @gif: en tapant la commande @gif mot_clé au sein d'une fenêtre de chat, les GIF animés correspondant au mot-clé saisi seront proposés, tirés directement du portail Giphy et prêt à être envoyé dans les chats. TrackBot et Giphy ne sont que deux exemples de ce dont les bots Telegram sont capables : vous pouvez trouver une liste de bots utiles juste au cas où dans mon guide détaillé sur les meilleurs bots Telegram.
Pour revenir à nous, le fonctionnement de base d'un bot Telegram suit le modèle que j'illustre ci-dessous.
- Le bot est ajouté via la zone de recherche Telegram (autonome) ou invoqué dans un chat existant (en ligne).
- Après l'avoir démarré, l'utilisateur tape une commande dans la fenêtre de discussion (autonome) ou après la chaîne @botname (en ligne).
- La commande tapée est envoyée à la plateforme de microservices, qui se charge de l'interpréter, de l'exécuter et de générer la réponse HTTP.
- Telegram reçoit la réponse HTTP et son bot "l'écrit" dans la fenêtre de discussion.
Créer un bot sur Telegram
Maintenant que vous avez les bases des bots Telegram, je parie que vous avez hâte de créer les vôtres. Je commencerai par vous dire que la création d'un bot "vide" est extrêmement simple : la partie un peu plus compliquée, celle qui demande des astuces de programmation, concerne plutôt ce qui concerne le comportement du bot, c'est-à-dire la capacité à recevoir et exécuter les commandes données par l'utilisateur.
Comme je l'ai déjà mentionné, cela se fait par le biais de demandes HTTP qui agissent comme un "canal de communication" entre Telegram et l'espace Web qui contient l'application associée : ce dernier, en effet, traite les commandes et envoie les réponses au chat Telegram correspondant au bot (à son tour formé par méthodes et où ils peuvent être exploités API de services tiers).
Comment dit-on? Avez-vous compris le fonctionnement d'un bot, mais vous n'avez pas la moindre idée de ce qu'il faut faire ? Ne vous inquiétez pas, je vous donne ci-dessous les instructions pour créer votre premier bot Telegram qui « répète » simplement ce qui est écrit dans sa fenêtre de discussion.
Pour commencer, vous devez créer un nouveau bot "vide" en utilisant BotFather, le bot Telegram "papa" de tous les autres bots : start Telegram, appuie sur loupe situé en haut de la fenêtre, tapez le mot père de famille à l'intérieur de la zone de texte et appuie sur le premier résultat reçu, celui marqué d'une petite coche bleue (qui identifie les bots officiels). Alternativement, si vous souhaitez le faire en premier, cliquez ici et acceptez d'ouvrir le bot dans Telegram. Une fois cela fait, appuyez sur le bouton Démarrer situé dans la fenêtre de discussion, puis tapez la commande / newbot suivi par Envoi, dans la zone de texte, pour lancer la procédure de création.
À ce stade, BotFather vous posera une série de questions sur la configuration initiale de votre bot : Tout d'abord, choisissez un nom (par ex. Bot Éco), saisissez-le dans la zone de texte et appuyez sur Envoi, puis choisissez un nom d'utilisateur (en rappelant qu'il doit nécessairement se terminer par le mot botpar exemple répéter_bot) et appuie toujours Envoi. Cela va créer un bot, qui ne fera rien pour le moment mais vous fournira un jeton par lequel vous pouvez ensuite le mettre en service : puis notez le token et conservez-le soigneusement, sans le révéler à personne (puisque toute personne possédant ce code pourra contrôler le bot). En suivant une procédure similaire, vous pouvez utiliser les commandes / setdescription, / setabouttext e / setuserpic pour en définir un, respectivement descrizione du bot, un peu texte d'introduction et Avatar personnel.
Une fois cela fait, vous avez besoin d'un espace web dédié aux instructions (dans ce guide nous utiliserons la langue Python) à remettre à votre bot : cette fois j'ai choisi Hook.io, une plateforme capable d'héberger microservices (c'est-à-dire de petits morceaux de code qui effectuent des opérations), utilisables avec des prix commençant à 2 $ / mois (le compte de base a une limite de 1000 demandes mensuelles, Plus d'infos ici). La première chose que vous devez donc faire est de vous connecter à cette page Internet, entrez votre adresse e-mail dans la case E mail placé dans la boîte Nouveaux développeurs ee appuie sur le bouton Créer un nouveau compte.
À ce stade, remplissez l'écran suivant avec les informations demandées (nom de compte et mot de passe) et, lorsque vous y êtes invité, entrez les informations relatives à votre carte de crédit. Enfin, appuyez sur le bouton Enregistrer le nom du compte et notez l'adresse Web de votre compte qui apparaît sur le côté droit de l'écran (https://hook.io/tuonomeaccount), car vous en aurez besoin plus tard.
Une fois la phase de création de compte terminée, vous revenez à la page de gestion des services : pour commencer, mémorisez le jeton reçu précédemment de BotFather, afin qu'il puisse être rappelé simplement en appelant une variable dans le code (sans avoir à la réécrire à chaque fois). Cliquez ensuite sur l'icône marquée d'un trois bâtons de contrôle présent dans le panneau des boutons de service (le deuxième en partant de la gauche), entrez dans le champ clés / KEY : le nom de la variable (par ex. jeton_ripeti), coller dans le champ valeur il jeton généré par BotFather et appuie sur le bouton Enregistrer les variables d'environnement du compte.
Une fois cela fait, le moment est venu de créer le vrai service qui fera fonctionner le bot Telegram : cliquez sur l'élément Créer un nouveau service situé dans la barre du haut, tapez le nom que vous souhaitez donner à votre service (ex. répéter-bot) et appuie sur le bouton Sauvegarder et continuer. Dans la fenêtre suivante, définissez l'élément Python dans le menu déroulant Langue, supprimez tout ce qui est écrit dans la zone de texte un peu plus bas et collez la partie du code qui permet au bot de "répéter" les messages reçus, comme indiqué ci-dessous.
demandes d'importation
testoOriginale=Hook['params']['message']['text']
idChat=Hook['params']['message']['chat']['id']
URL='https://api.telegram.org/bot' + Crochet['env']['jeton_ripeti'] + '/envoyerMessage'
req=requests.get(URL,verify=False,data={'chat_id':idChat,'text':testoOriginale})
N'oubliez pas de remplacer un jeton_ripeti le nom de la variable d'environnement défini précédemment. Une fois l'insertion terminée, appuyez sur le bouton Enregistrer le code et attendez la notification de confirmation. Pour mieux clarifier vos idées, j'expliquerai ci-dessous ce que font les instructions du code.
- demandes d'importation - est utilisé pour "importer" la bibliothèque dans le programme demandes de l'API Python de Telegram, afin que vous puissiez profiter de ses méthodes.
- testoOriginale = [...] - cette commande enregistre le texte reçu du chat Telegram dans une variable.
- idChat = […] - c'est la commande qui enregistre l'identifiant du chat Telegram (pour comprendre précisément à quel chat renvoyer le message).
- URL = […] - est la commande qui, en fait, envoie le message avec la requête HTTP du bot au microservice sur Hook.
- req = […] - c'est la commande qui "assemble" la réponse reçue et la reproduit dans le chat Telegram.
Une fois le code saisi, vous devez invoquer une première fois le microservice, afin de « dire » à Telegram que toutes les instructions reçues dans le chat du bot doivent être « détournées » dans le microservice qui vient d'être demandé : pour cela, tapez les barre d'adresse du navigateur à votre disposition commande https://api.telegram.org/botToken/setWebhook?url=https://hook.io/tuonomeaccount/nomehook qui, dans cet exemple, se transforme en https://api.telegram.org/botabcd-1234-token/setWebhook?url=https://hook.io/jessica_689/ripeti-bot. Si tout s'est bien passé, une réponse similaire à s'affiche dans le navigateur {"ok":true,"result":true,"description":"Webhook a été défini"}: cela signifie que votre bot fonctionne et que, désormais, vous pouvez l'utiliser !
Tout ce que vous avez à faire est d'appeler le bot de Telegram, appuyez sur le bouton Démarrer et tapez dans la fenêtre de chat tout ce que vous voulez que votre bot répète : vous pouvez tester ce que nous avons construit ensemble en cliquant sur ce lien.
Je vous préviens que, compte tenu de l'extrême simplicité du bot, celui-ci pourrait se comporter de manière "inattendue" et répéter indéfiniment tout ce que vous tapez dans la fenêtre de chat : si cela se produit, revenez à la liste de chat, appuyez longuement sur le chat du bot (ou clic droit, si vous utilisez Telegram pour ordinateur ou Telegram Web) et sélectionnez Arrêter les bots / Arrêter et bloquer les bots du panneau proposé.
Pour plus d'informations
Je parie que, grâce à mes astuces, vous avez réussi à créer votre premier bot sur Telegram et vous avez hâte d'apprendre à en créer d'autres, encore plus complexes : comme je vous l'ai déjà expliqué, ce que nous avons vu jusqu'à présent n'est rien de plus qu'un exemple des fonctions de base de la création et du développement d'un bot, mais je peux vous garantir que les possibilités de développement sont vraiment illimitées.
Juste pour vous donner un exemple, vous pouvez les utiliser, en plus des Python, même les langues Node.js, Java e PHP, il est possible de faire interagir votre bot avec certains services Web bien connus (dont YouTube e Gmail), vous pouvez écrire du code pour interagir avec des blogs et des sites Web en utilisant API fourni par le service utilisé (ex. WordPress o Blogger), vous pouvez facilement créer un bot en ligne et bien plus encore.
Vous trouverez ci-dessous une liste de sites Internet utiles pour en savoir plus sur la création de bots sur Telegram.
- Guide des bots Telegram - sur cette page, vous trouverez toutes les informations de base pour entrer dans le monde des bots, y compris des instructions détaillées sur l'utilisation de BotFather (générer un nouveau jeton d'accès, supprimer un bot, créer un bot en ligne, etc.).
- API Telegram bot - est la principale ressource pour gérer les méthodes liées à l'analyse (ou à l'interprétation) des données incluses dans les requêtes et les réponses HTTP.
- Exemples de code - vous trouverez ici des exemples de robots fonctionnels, dans différents langages de script et de programmation.
- Heroku - une autre bonne plate-forme pour créer et démarrer des microservices dans de nombreux langages de programmation.
- Documentation Python officielle - pour apprendre à programmer en Python.
- Documentation Node.js - tout ce que vous devez savoir sur cette bibliothèque JavaScript.
- Manuel PHP - pour apprendre la programmation en PHP.