Comment créer un bot Telegram (Introduction à la programmation de bot Telegram)


Introduction à la programmation de bot Telegram

De nombreux utilisateurs sont intéressés par la programmation de leur propre bot Telegram. Malheureusement, il n'y a pas beaucoup d'informations sur la façon de commencer à en créer un. Cet article devrait vous aider à démarrer.

1. Comment créer mon propre bot?

Pour commencer, il y a cette grande question: êtes-vous capable de coder ? Pour créer un "vrai" bot Telegram, vous auriez besoin de coder un petit programme pour interagir avec les serveurs Telegram. Si vous n'êtes pas en mesure de le faire, il existe des moyens alternatifs tels que "Manybot" qui ne nécessite aucun codage mais qui ne sera pas traité en détail dans cet article.

1.1) Manybot (etc.)

Ces types de services vous proposent de créer un bot sur leurs serveurs. Ils vous concernent un bot squelette, dans lequel vous pouvez ajouter des éléments mineurs tels que des boîtes de dialogue. Important: vous ne pouvez faire que ce que Manybot vous permet de faire. Vous êtes très limité dans vos actions! Mais vous n'avez pas besoin de vous soucier du code et de l'hébergement du bot.

1.2) Le coder vous-même

Lorsque vous faites tout le codage vous-même, vous n'êtes pas limité dans vos possibilités. Vous pouvez tout faire, ce qui est possible via l'API du bot. Par exemple: vous pouvez créer un bot qui est connecté à votre système domestique, afin que vous puissiez allumer /éteindre les lumières de votre maison via un simple message Telegram. MAIS: lorsque vous le codez vous-même, vous devez réfléchir à l'endroit où vous allez héberger le code (plus à ce sujet plus tard) et comment vous allez le faire. Si vous ne pouvez pas coder et n'allez pas apprendre la programmation de sitôt, vous devez arrêter de lire ici et aller avec "Manybot" ou payer un programmeur pour créer un bot pour vous.

D'accord, puisque vous lisez encore, je suppose que vous êtes capable de coder ou du moins que vous voulez l'essayer. Plongeons dans les détails.

2. Comment commencer?

2.1) Hébergement

Tout d'abord. Pour éviter toute frustration plus tard, vous devez MAINTENANT réfléchir à l'endroit où héberger votre bot. Un bot est un morceau de code qui interagit avec les serveurs (Telegram) via une API. Afin d'avoir un bot en ligne 24h/7, il doit fonctionner sur n'importe quel type d'ordinateur 24h/7 (évidemment). Vous avez plusieurs façons de procéder:
  • Micro-contrôleur / Raspberry Pi
  • Faire fonctionner votre PC 24h /24 et 7j/7
  • Payeur pour un VPS auprès d'un fournisseur d'hébergement
Les avantages et les inconvénients sont clairs: RasPi ne consomme qu'une infime quantité d'énergie par rapport à un PC et coûte ~ 30 $ une fois. Lorsque vous payez pour un VPS, vous avez beaucoup plus de puissance de calcul et n'avez pas besoin de vous soucier des pannes de courant / connexion Internet, mais cela coûte sur une base mensuelle. Consultez également ce lien pour savoir où héberger votre bot.

Maintenant que vous avez décidé de comment héberger votre bot, décidez pour un langage de programmation.

2.2) Langage de programmation

Si vous connaissez déjà un langage de programmation, vous pouvez continuer et l'utiliser. Si vous ne connaissez aucune langue ou si vous souhaitez utiliser une autre / une plus adaptée, consultez la liste des langues que je peux suggérer pour la programmation de robots.
Je code principalement mes bots en Python car il existe de belles bibliothèques et cadres (plus à ce sujet plus tard) disponibles et c'est un langage très simple. Facile à apprendre et facile à coder. Les langages comme C# et Java sont (également) très puissants et offrent une grande variété de fonctionnalités. PHP et Node.js sont largement utilisés dans la branche de développement Web. Ils ne sont pas mauvais en général, mais je n'en suis pas un grand fan. Vérifiez-les si vous êtes curieux et choisissez celui que vous avez le plus aimé.

2.3) Se préparer à coder

Vous êtes plus qu'à quelques pas de coder votre premier robot. Allez-y et téléchargez n'importe quel IDE pour votre langue (ou un simple éditeur de texte tel que Atom ou Notepad ++ pour le codage). Vous voudrez peut-être également commencer à vérifier les bases de la langue que vous avez choisie. Je ne peux pas vous aider à apprendre la langue dans cet article. Allez demander à Google de beaux tutoriels, il y en a des milliers. Si vous avez fait tout cela, vous devez obtenir un BotToken du bot BotFather sur Telegram. Avec lui, vous pouvez interagir avec les serveurs Telegram. Parlez simplement à @BotFather et créez un nouveau bot ou bien regarder cette vidéo ci-dessous pour mieux comprendre.


3. Bibliothèque, cadre ou aucun de ceux-ci?

Telegram utilise une API basée sur HTTP. Vous appelez l' url et lui passez des paramètres. Il revient ensuite une réponse décodée JSON. Vous pouvez faire tout cela par vous-même. Vous auriez besoin d'un analyseur JSON et d'un code pour faire les requêtes HTTP. Ce serait assez ennuyeux car vous pouvez rencontrer de nombreux problèmes. Alors pourquoi ne pas simplement utiliser une bibliothèque ou un framework?
Tout d'abord, vous devez connaître la différence entre les deux termes. Une bibliothèque est un package de code utilisé pour une tâche ou un groupe de tâches. Par exemple, les bibliothèques pour l'édition d'images contiennent probablement des fonctions telles que «redimensionner» ou «pivoter», que vous pouvez ensuite appeler à partir de votre propre code. Vous n'avez pas besoin de réinventer la roue, si quelqu'un d'autre vous a couvert avec son code. Un framework est cependant un logiciel qui est une sorte de squelette. Il fonctionne de manière autonome et fait des choses quand cela doit être fait. Vous ne fournissez pas le code que pour certaines choses spéciales (votre logique métier). Pour Telegram, ce serait le code des commandes uniques.


En comparant les deux pour l'utilisation avec Telegram, nous trouvons qu'un framework est assez génial, car il prend soin de recevoir et d'envoyer des messages, en partie même des limites de débit et des fichiers d'attente de messages. Vous fournissez simplement le code qui doit être présenté lorsque l'envoie une commande à votre bot. Avec une bibliothèque, vous devez toujours vérifier périodiquement les mises à jour et gérer vous-même les conversations. Un framework fait cela pour vous. Les deux - frameworks et bibliothèques - vous avez des méthodes telles que ' send_message () ' pour envoyer des messages à vos utilisateurs. Vous n'avez pas besoin de savoir comment ils fonctionnent. Ils font juste.

Je recommande fortement d'utiliser un framework. Voici quelques bibliothèques / frameworks et exemples de bot. Pour NodeJS, vous voudrez peut-être vérifier ce cadre.

4. Codons

Je ne vous apprendrai pas à coder. Je veux juste vous donner une brève introduction sur la façon de commencer à coder et ce qu'il faut prendre en compte lors du démarrage.

Maintenant que vous avez décidé de l'hébergement, choisi une langue, configuré un nouveau bot avec Botfather et choisi un cadre / bibliothèque sympa, nous pouvons commencer. J'utilise le langage de programmation Python et le framework python-telegram-bot, ce qui est vraiment génial. 
PS: Je suppose que vous avez installé le framework selon le guide d'installation du framework.

4.1) Bonjour le monde / bot Echo

Créez un nouveau projet et créez un nouveau fichier python appelé main.py. Tout le codage entre dans ce fichier pour le début. Vous devez importer certaines classes du framework, créer une instance de "Updater" et créer une fonction à appliquer lorsque l'utilisateur écrit quelque chose. Cela peut ressembler à ceci GitHub Gist. Ce code est extrait du référentiel officiel python-telegram-bot. Lorsque vous avez réussi à démarrer avec le code ci-dessus, essayez quelque chose de plus compliqué.

4.2) Comment continuer?

Maintenant que vous avez votre premier bot opérationnel, vous pouvez commencer à l'étendre. Continuez en ajoutant de nouvelles commandes et gestionnaires de commandes. Consultez ces exemples pour en savoir plus sur la façon de coder avec ledit framework. Le plus important est de lire la documentation de votre framework et la documentation de l'API Telegram Bot ! Connaître les commandes et les paramètres vous conseille beaucoup à l'avenir.

4.3) Devenir professionnel

Lorsque vous avez finalement fait fonctionner votre bot comme vous le souhaitez, vous ne voudrez peut-être pas que votre bot demande aux serveurs Telegram des mises à jour toutes les X secondes (également appelé "longue interrogation"). C'est pourquoi Telegram propose des "webhooks". Les serveurs Telegram démarreront une connexion HTTPS avec votre serveur, si de nouveaux messages arrivent (également appelé « technologie push»). Mais comme le titre l'indique déjà, ce n'est rien pour les débutants. Outre votre serveur, vous avez besoin d'une sorte de serveur Web qui prend en charge les demandes et, plus encore important, vous avez besoin d'un certificat SSL. Étant donné que l'ensemble du processus n'est pas facile, un gentil type nommé Marvin a créé un guide complet sur la configuration des webhooks avec les bots Telegram. Découvrez-le ici .

4.4) D'autres questions?

Si vous avez toujours des questions non couvertes par ce guide, rejoignez le groupe Telegram Bot Talk ( @BotTalk ) et posez vos questions. C'est un groupe composé de centaines de passionnés de bots et de développeurs. Dans la plupart des cas, quelqu'un peut vous aider. N'hésitez pas à poser toutes les questions liées aux robots.

PS: Si vous avez des suggestions concernant cet article, n'hésitez pas et envoyez- moi un ping ( @Mr_G_B ) sur Telegram ou à laisser en commentaire je repondrai avec plaisir.

4.5) Exemples de bots modulaires

  • Python:
 
  • Lua:
 
  • PHP:
 
  • C#:

Commentaires

Vous êtes invités à partager votre idéal avec nous en commentaires !

Archive