Telegram
Pour utiliser des Webhooks avec Telegram, il est nécessaire de créer un Bot. Celui-ci nous permet une panoplie d'interactions avec leur API mais il nous permet entre autres d'envoyer de simples requêtes Webhooks pour automatiser l'envoi de messages dans une discussion ou dans un groupe.
Création d'un bot
Pour créer un bot sous Telegram, démarrez une conversation avec @BotFather. Ce bot-ci est celui qui est utilisé pour gérer tout "bot" ou "API" disponible sous Telegram. Cliquez sur "Start" pour démarrer votre interaction
La commande "/newbot" vous permettera de créer une clé d'API qui vous permettera d'interagir avec une conversation ou un groupe Telegram comme par exemple pour envoyer un message.
Il vous sera ensuite demandé de nommer votre "bot". Le nom de celui-ci doit être unique sur toute la plate-forme et doit se terminer par "bot". Il est possible qu'il soit difficile de trouver un nom disponible mais peu importe ce nom, le nom d'affichage du bot pourra être modifié par un alias/nom d'affichage dans une conversation.
Lorsque votre bot sera créé, vous pourrez consulter son état avec une requête HTTPS à l'URL "https://api.telegrma.org/bot[votre token d'API]/getUpdates".
Création d'un canal/conversation
De façon générale, un groupe ou une conversation sera créé auquel le bot sera joint. S'il s'agit d'un groupe, il serait possible d'ajouter tous les membres de votre équipe d'administrateurs de systèmes pour que vos équipiers puissent consulter les alertes.
Cliquez sur l'icône de crayon pour composer un nouveau message. Il vous sera offert de composer un message privé, créer un groupe ou créer un canal. Un bot peut interagir avec tous ces types de conversations. Dans l'exemple suivant, créons un groupe.
Il vous sera ensuite demandé d'ajouter des membres à votre groupe. Vous devrez saisir le nom complet du bot pour qu'il s'affiche dans les suggestions. Vous pourrez ensuite sélectionner le bot et l'ajouter comme membre du groupe.
Vous pourrez ensuite confirmer la création de votre groupe à l'aide de la fèche en bas à droite de la page.
Félicitations! Vous avez dorénavant un groupe dans lequel votre bot pourra dorénavant interagir.
Utilisation du Webhook
Récupérer l'état du bot
Tout comme vu précédemment, la requête /getUpdates sur l'URL de notre bot nous permet de récupérer son état et ses nouvelles telles que les groupes auxquels notre bot a été ajouté et les messages que le bot a pu observer. Dans la capture suivante, on peut observer que le bot a observé son ajout au chat ID "-4729377648".
Nous pourrions ensuite "tagger" notre bot dans un message et on observerait ensuite dans l'objet JSON qui nous est retourné que note bot a vu notre message passer.
Envoyer un message
Tout comme pour Discord, lorsque nous avons l'identifiant de la discussion ainsi que la clé D'API de notre bot, nous pourrons dorénavant interagir avec ce groupe en soumettant des requêtes HTTP à l'URL d'API de Telegram!
Pour envoyer un message via un bot Telegram, il suffit de soumettre une requête HTTP par méthode POST et de mentionner les variables POST "chat_id" et "text"
La requête cURL suivante serait donc suffisante pour envoyer un message :
curl -s -X POST https://api.telegram.org/bot[API KEY]/sendMessage -F chat_id='[identifiant du chat]' -F text="[message à envoyer]"
Les options de la commande peuvent être décortiquées comme tel :
- -s permet d'exécuter silencieusement la requête
- -X stipule la méthode de transfert de données, dans ce cas-ci, le contenu du message sera acheminé par POST
- -F spécifie une variable de formulaire soumise par POST ainsi que sa valeur associée
- chat_id=[identifiant du chat] spécifie à Telegram dans quel canal envoyer le message
- text=[message] spécifie à Telegram le contenu du message à envoyer
L'URL contacté par la commande cURL est composée de "https://api.telegram.org/bot" suivi de la clé d'API que BotFather vous a spécifié et se termine par /sendMessage dans ce cas pour la commande d'envoyer un message. Nous avons aussi utilisé précédemment /getUpdates pour récupérer l'état du bot.
















