# Comment créer un bot Telegram

{% hint style="warning" %}

#### **Exigences et limites de Telegram**

**1. Limites des messages**

* **Message texte uniquement :** Maximum de **4 096 caractères**.
* **Message avec une image :** Maximum de **1 024 caractères** (pour une image de 1080x1080 px).

**2. Exigences relatives aux images**

* **Format :** Les images carrées sont préférées.
* **Taille optimale :** 900x900 pixels, maximum **5 Mo**.

**3. Exigences relatives aux fichiers**

L’API Telegram impose des exigences spécifiques pour les fichiers téléversés :

* Les bots peuvent envoyer des fichiers jusqu’à **2 Go**.
* Vous pouvez utiliser **file\_id** pour travailler avec des fichiers déjà téléversés. Dans ce cas, les limites de fichier suivent la documentation de Telegram.
* Les fichiers peuvent être envoyés à l’aide d’un **URL** (le bot le télécharge et l’envoie) :
  * **Photos :** ≤ 5 Mo
  * **Autres fichiers :** ≤ 20 Mo
* Des limites différentes s’appliquent pour la publication :
  * **Photos :** 10 Mo
  * **Autres fichiers :** 2 Go

[En savoir plus dans la source originale](https://core.telegram.org/bots/api#sending-files)
{% endhint %}

## Création d’un bot Telegram

Un bot Telegram est créé via **BotFather**, le système officiel de gestion des bots de Telegram. Cet outil vérifié (indiqué par une coche bleue) vous permet de créer un bot sans aucune connaissance en programmation et vous protège contre les imitateurs frauduleux.

**Étapes de création :**

1. **Démarrez une discussion** avec [BotFather](https://t.me/botfather).
2. Envoyez la commande : `/newbot`
3. **Choisissez un nom** pour votre bot (c’est le nom affiché pour les utilisateurs).
4. **Choisissez un nom d’utilisateur** pour votre bot. Il **doit** se terminer par `bot` ou `_bot` (par ex. : `my_test_bot`).

Si le nom d’utilisateur est disponible, BotFather vous enverra un message de confirmation contenant un **« token »**—une clé unique pour l’accès à l’API.

> **Important :** Ce token est le mot de passe de votre bot. Conservez-le en lieu sûr et **ne le partagez jamais** avec qui que ce soit.

<div data-with-frame="true"><figure><img src="/files/795ca08e4742877316990d7f07e02ac8d4033ce8" alt=""><figcaption></figcaption></figure></div>

Accédez à la **Messageries** section, sélectionnez **Telegram**et collez le token de votre bot dans le champ prévu à cet effet.

<div data-with-frame="true"><figure><img src="/files/d93fad4a865f390bc840154bbf653768e40edfbc" alt=""><figcaption></figcaption></figure></div>

Cliquez sur le bouton **Terminé** bouton pour terminer la configuration du bot et activer la connexion à votre projet.

### Travailler avec les groupes/canaux Telegram

**Informations utiles**

Un groupe Telegram est un canal de communication entre participants : tous les participants peuvent y écrire.

Le canal Telegram est un moyen de communication à sens unique. Seul le propriétaire ou les administrateurs peuvent envoyer des messages, tandis que les autres participants peuvent seulement les consulter et laisser des commentaires.

#### Comment ajouter un bot à un groupe/canal Telegram

Cette fonction pour le bot est incluse dans BotFather :

Étape 1. Allez dans les paramètres du bot :

<div data-with-frame="true"><figure><img src="/files/af924490acf3c59ab23dc0f87d9ea788b59011e5" alt="" width="563"><figcaption></figcaption></figure></div>

Étape 2. Cliquez sur **« Autoriser les groupes ? »**

<div data-with-frame="true"><figure><img src="/files/14df817aa924834db693af62cea25feb019aa8e4" alt="" width="563"><figcaption></figcaption></figure></div>

Étape 3. Il devrait y avoir un statut activé.

<div data-with-frame="true"><figure><img src="/files/50baad7369ce1330b86aad4fd6b85d9d71959cd3" alt="" width="563"><figcaption></figcaption></figure></div>

### Ajouter un bot en tant qu’administrateur dans un groupe/canal

Afin d’automatiser le travail dans les chats et les canaux, vous devez ajouter votre propre bot en tant qu’administrateur.

Comment faire ?

Étape 1. Allez dans la gestion du groupe/canal et sélectionnez l’ **Les administrateurs** onglet

<div data-with-frame="true"><figure><img src="/files/8b2cd5c97baa9d43392cca5db2ef44f036e382d3" alt="" width="563"><figcaption></figcaption></figure></div>

Étape 2. Cliquez sur **« Ajouter un admin »** .

<div data-with-frame="true"><figure><img src="/files/9b0f11c4665bc348887df5fd852f33e92efbe33d" alt="" width="563"><figcaption></figcaption></figure></div>

Étape 3. Saisissez le nom d’utilisateur de votre bot dans le champ de recherche.

<div data-with-frame="true"><figure><img src="/files/64bbf9719f82c2557af89c74cea2a23d1190758c" alt="" width="563"><figcaption></figcaption></figure></div>

Étape 4. Pour un fonctionnement complet, assurez-vous que le bot dispose des droits de lecture et de suppression des messages.

<div data-with-frame="true"><figure><img src="/files/527209a68e18bf3d69d91ffdd3a11a6ef91befab" alt="" width="375"><figcaption></figcaption></figure></div>

### Variables pour travailler dans les chats

{% hint style="warning" %}
Veuillez noter !

L’enregistrement des variables dans les chats de groupe pour des événements tels que rejoindre un chat, quitter un chat, nouveau like, etc. n’est pas disponible.

Les variables seront disponibles uniquement à l’intérieur du bloc qui a fonctionné. Vous pouvez afficher ces variables dans le bloc pour suivre le travail.

Cela n’affectera en AUCUN CAS le fonctionnement des chatbots, il sera impossible de suivre qui est entré/sorti dans la section clients.
{% endhint %}

* Variables contenant des informations sur l’auteur du message

message\_from - l’ID de l’auteur du message&#x20;

message\_from\_name - le nom de l’auteur du message

message\_from\_username - le pseudonyme de l’auteur du message dans Telegram

<div data-with-frame="true"><figure><img src="/files/b41e27bdb2881a292b466e32a9b8b768819f1268" alt="" width="310"><figcaption></figcaption></figure></div>

* Variables contenant des informations sur le message transféré

reply\_message\_id - le numéro du message transféré&#x20;

reply\_from - qui est l’auteur du message transféré

reply\_from\_name - le nom de la personne dont le message est transféré

reply\_from\_username - le pseudonyme de la personne dont le message est transféré

reply\_from\_chat\_id - le numéro de la discussion depuis laquelle le message a été transféré

* Ajout et suppression d’un groupe

Dans ce cas, les callbacks new\_chat\_member et left\_chat\_member sont déclenchés (les variables ne sont pas enregistrées dans la fiche du client) :

chat\_member\_name - nom d’utilisateur&#x20;

chat\_member\_username - pseudonyme de l’utilisateur

chat\_member\_id - numéro de l’utilisateur

### Callbacks dans Telegram

client\_unsubscribed - le client s’est désabonné, a bloqué le bot

client\_returned - le client a débloqué le bot

<div data-with-frame="true"><figure><img src="/files/56590f02df91db9b178d829160fc069cefb6bde8" alt="" width="349"><figcaption></figcaption></figure></div>

#### Callbacks dans les groupes/canaux

new\_chat\_member - un nouvel utilisateur a été ajouté

left\_chat\_member - l’utilisateur a quitté le canal&#x20;

kicked\_chat\_member - l’utilisateur a été supprimé par l’administrateur

chat\_join\_request - une demande d’ajout au canal a été reçue

edited\_channel\_post - le message sur le canal a été modifié (edited\_channel\_post + date et heure de modification)

<div data-with-frame="true"><figure><img src="/files/2523a470cda0e92608099a453ac2b297f86412b7" alt="" width="347"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/03abdf75cdf0ae7248c986817950c1d9298bbabf" alt="" width="333"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/370a0abb0babf6104cd9078a8b8b68235b56e628" alt="" width="322"><figcaption></figcaption></figure></div>

Les callbacks sont affichés dans la **section Clients** section

bot\_added\_to\_group - un bot a été ajouté au chat (peu importe lequel, il répondra à n’importe qui, même si le bot connecté a été ajouté au groupe lui-même) ;

bot\_left\_group - un callback similaire supprime le bot du canal ;

new\_like - a aimé la publication

like\_deleted - a supprimé un like de la publication

<div data-with-frame="true"><figure><img src="/files/fe3ffe45dc6d96bd3e0b9039da034b94fd6638ca" alt="" width="358"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/8b5088a7d0c819550cbf99e8cc5a3e10063cb046" alt="" width="326"><figcaption></figcaption></figure></div>

Le numéro dans le callback (new\_like; like\_deleted) est l’ID du message auquel il a été répondu ou duquel le like a été supprimé.

{% hint style="warning" %}
Veuillez noter !

* Les callbacks pour les réactions ne sont pas affichés dans les canaux Telegram ! Les callbacks pour les réactions arrivent uniquement dans les groupes.
* Si une personne a mis plusieurs likes, puis en a supprimé 1, il n’est pas indiqué lequel a été supprimé.
  {% endhint %}

Lorsque les callbacks avec réactions apparaissent dans les groupes, des variables sont disponibles dans le bloc :

reaction\_on\_message\_id - contient l’ID du message auquel il a été répondu

reaction\_from - identifiant de la personne ayant émis la réaction

message\_from\_username - nom d’utilisateur de la personne ayant émis la réaction (le cas échéant)

reaction\_from\_name - nom de la personne ayant émis la réaction

<div data-with-frame="true"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfQptKK4YrlEATINQANRDaNEnpT95W_lgIGjMfOitIn387SG1GKI_n02rgWMZUrCP6hEGEnYAPiY99aZud2Ze4iOCYSlDCpzNsyHAMFdHd_mCxP5VfBpSx2iG7HzP1lgzDDly1Ziw?key=lL8rEUrFbZeHFjWugKFnxg" alt="" width="375"><figcaption></figcaption></figure></div>

De plus, si Telegram répond à un message, la variable reply\_text dans la fiche contiendra le texte complet du message auquel il a été répondu.

<div data-with-frame="true"><figure><img src="/files/cc8bb96f0f9794a0ad99e82887799ebbc0dfd2c3" alt="" width="337"><figcaption></figcaption></figure></div>

Si un message a été envoyé en réponse (en citant un message précédent), le système générera également la `tg_quote` variable, qui contient le texte cité.

<div data-with-frame="true"><figure><img src="/files/8ef34a414375398a148b8dd1085e29c4b3422ea4" alt="" width="188"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/174b403509286b2da61bd754f9f5f31483f723cd" alt="" width="375"><figcaption></figcaption></figure></div>

#### Callbacks avec boost

* chat\_boost\_from utilisateur #{id\_user} - a donné un boost au chat (ou au canal) :

<div data-with-frame="true"><figure><img src="/files/bb19a0a8f1a0c9ba3230cc145b65dcec0af0f853" alt="" width="375"><figcaption></figcaption></figure></div>

Lorsque ce callback est déclenché, des variables sont générées :

<div data-with-frame="true"><figure><img src="/files/a0f023b52e9a38d03e82cb60a42b0cfe56f664a9" alt="" width="375"><figcaption></figcaption></figure></div>

* remove\_boost\_from utilisateur #{id\_user} - ils ont retiré le boost du chat (ou du canal) :

<div data-with-frame="true"><figure><img src="/files/419b133b36001aab837882bf7a16daed5aa6f7d6" alt="" width="375"><figcaption></figcaption></figure></div>

Lorsque ce callback est déclenché,, des variables sont générées :

<div data-with-frame="true"><figure><img src="/files/da4dee3f683bcf602cb786a9ea6c8b65f57ccaf6" alt="" width="344"><figcaption></figcaption></figure></div>

* chat\_boost from giveaway - attribué lors du tirage des étoiles dans le canal
* remove\_chat\_boost from giveaway - la période de boost pour le tirage des étoiles dans le canal est terminée

#### Comment automatiser la suppression des notifications système dans les groupes

Pour supprimer automatiquement tous les messages système, il suffit d’attribuer une valeur quelconque à la variable del\_tg\_system\_messages (la variable peut être soit une constante du projet, soit une variable de transaction) et de donner au bot l’autorisation de supprimer des messages.

La variable del\_tg\_system\_messages ne peut être utilisée que dans les groupes. Dans les canaux, attribuer une valeur quelconque à cette variable n’entraînera aucun résultat.

<div data-with-frame="true"><figure><img src="/files/e47a342fc7afe6263f6a61cca5045d103ed0ae7b" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/6bf139bb0c540acf1870f21c444d0dfa9bd5630c" alt="" width="349"><figcaption></figcaption></figure></div>

**Droits d’administrateur dans les paramètres du groupe Telegram**

Les types de notifications système suivants sont supprimés :

\- Le nom du groupe a été modifié

\- La photo du groupe a été modifiée

\- La photo du groupe a été supprimée

\- Le message est épinglé

\- L’utilisateur a rejoint le groupe

\- L’utilisateur a quitté le groupe

Si vous souhaitez supprimer uniquement certains types de notifications système, créez alors la variable del\_tg\_chosen\_messages au lieu de del\_tg\_system\_messages et placez-y un tableau contenant les types de notifications à supprimer, séparés par des virgules.

{% hint style="warning" %}
Veuillez noter !

Ces variables ne fonctionneront que pour les groupes Telegram, mais pas pour les canaux.
{% endhint %}

Options de notification système :

* 'new\_chat\_member' – l’utilisateur a rejoint le groupe,
* 'left\_chat\_member' – l’utilisateur a quitté le groupe,
* 'pinned\_message' – le message est épinglé,
* 'delete\_chat\_photo' – photo du groupe supprimée,
* 'new\_chat\_photo' – la photo du groupe a été modifiée,
* 'new\_chat\_title' – le nom du groupe a été modifié

Par exemple, vous devez supprimer tous les types de messages système sauf l’ajout à un groupe ; alors vous devez ajouter tous les types de callbacks à la variable de projet (constante) sauf "new\_chat\_member".

<div data-with-frame="true"><figure><img src="/files/a4f07133b949d8e692ea72adbbe2ec8c6a53d41a" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
Veuillez noter !

La suppression des notifications système n’affectera pas les callbacks. Seul le message système de la discussion Telegram sera supprimé.
{% endhint %}

### Forum dans Telegram

Un forum est un groupe dans lequel vous pouvez créer des sujets distincts de discussion. Vous pouvez utiliser les fonctions standard du forum : joindre des fichiers multimédias, publier des sondages et configurer des notifications. Vous pouvez également épingler des messages et ajouter des bots individuels à chaque chat.

<div data-with-frame="true"><figure><img src="/files/80ad0dfd7c9c52847a491a56f12f3e46894de5f3" alt="" width="375"><figcaption></figcaption></figure></div>

L’objectif principal d’un forum est de **structurer la communication** au sein d’une grande communauté.

Dans une discussion de groupe standard avec de nombreux participants, il devient difficile de suivre les conversations et de trouver les messages pertinents. Les forums résolvent cela en organisant les discussions en **fils thématiques dédiés**. Cela segmente automatiquement la communauté par sujet et par intérêt, rendant la communication plus ciblée et plus facile à gérer.

Seul le propriétaire du groupe peut créer un sujet s’il y a plus de 100 membres dans le groupe. Si le groupe est lié à un canal, vous ne pourrez alors pas créer de thème. Les sujets sont activés dans les **Paramètres du groupe**:

<div data-with-frame="true"><figure><img src="/files/129c57c7dd0bede8bd68554fba10c987426d5d30" alt="" width="563"><figcaption></figcaption></figure></div>

En tant qu’administrateur, vous pouvez créer un sujet dans les paramètres du groupe de forum :

<div data-with-frame="true"><figure><img src="/files/9e1a89315ff9c01cad7e155a283a1144070270c7" alt="" width="563"><figcaption></figcaption></figure></div>

Après avoir activé les **Sujets**, l’avatar passera de rond à carré, ce qui permet de distinguer le forum des autres chats Telegram :

<div data-with-frame="true"><figure><img src="/files/61eab8f1032e319cfe06217c059d93488ad42c1c" alt="" width="563"><figcaption></figcaption></figure></div>

### Comment configurer un ensemble client Telegram avec un site web ?

En savoir plus sur la façon de lier un client Telegram et un client du site web après [un paiement réussi ici](#how-to-configure-a-telegram-client-bundle-with-a-website).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/chatbot/messageries/telegram/chatbot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
