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