Comment envoyer des messages avec un compte Telegram Business

tg_send_message(platform_id, text, client_message_id, reply_markup, parse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id, entities)

Paramètres :

Paramètre Description
**!** platform_id ID utilisateur Telegram auquel un message doit être envoyé *
**!** text Texte du message
client_message_id ID du message à citer
reply_markup Paramètres des boutons **
parse_mode Formatage du texte en gras et en italique dans la description ***. Peut prendre les valeurs html, markdown, markdownV2.
disable_web_page_preview Afficher l'aperçu du lien. Pour le désactiver, passez 1 ; sinon, passez 0 ou laissez vide "".
protect_content Indicateur de protection du contenu. Passez n'importe quelle valeur sauf 0, False ou '' pour activer.
disable_notification Indicateur de notification sonore (par défaut : 0). Passez 1 pour désactiver la notification, 0 pour l'activer.
message_thread_id ID du sujet (disponible pour les supergroupes avec la fonctionnalité forum activée)
entities Cela permet de copier un texte pré-formaté avec tous ses styles et de spécifier simplement la plage de caractères où une police particulière doit être appliquée. Un exemple se trouve dans tg_request sous le champ correspondant. Le paramètre doit être un dictionnaire. Voir l'onglet exemple pour référence.
**Exemple détaillé**

Prenons un exemple simple avec un ensemble de paramètres obligatoires :

Le platform_id spécifie l'identifiant d'un client particulier.

Voir le même exemple, mais en utilisant des variables :

Dans cet exemple, la variable soob contiendra la réponse du serveur après l'envoi du message.

Si vous enregistrez le message_id de la réponse reçue, cela vous permettra de travailler ultérieurement avec ce message (modifier, supprimer, transférer, commenter).

Des difficultés surviennent souvent lors de l'utilisation de tous les paramètres. Prenons l'exemple suivant :

  • Déclarez d'abord tous les paramètres utilisés dans la fonction. N'oubliez pas que les paramètres peuvent être passés non seulement comme valeurs, mais aussi comme variables, ce qui est souvent plus pratique et plus clair. Des variables telles que platform_id et client_message_id peuvent être obtenues à partir de la fiche client.
    platform_id — ID client Telegram auquel le message doit être envoyé *\ >Nous répondrons dans le même chat où le client écrit

    text - texte du message. \ >Nous utilisons le formatage du texte - par exemple, la mise en gras.

    client_message_id - ID du message à citer\ >Dans les chats, cette variable se voit attribuer sa valeur automatiquement.
    reply_markup — paramètres des boutons **. \ >Assignons-la à la variable opts.
    parse_mode — Formatage du texte en gras et en italique dans la description ***. Peut prendre les valeurs html, markdown, markdownV2. Les caractères utilisés pour le formatage du texte du message sont décrits ici. \ >Utilisons markdown.
    disable_web_page_preview - Afficher l'aperçu du lien. Pour le désactiver, passez 1 ; sinon, passez 0 ou laissez vide "".\ >Nous pouvons passer n'importe quelle valeur car le texte du message ne contient pas de lien.
    protect_content — Indicateur de protection du contenu. Passez n'importe quelle valeur sauf 0, False ou '' pour activer.\ >Nous n'avons pas besoin de protection du contenu, nous passerons donc une chaîne vide ''.
    disable_notification — Indicateur de notification sonore (par défaut : 0). Passez 1 pour désactiver la notification, 0 pour l'activer.\ >Une notification est une fenêtre contextuelle affichant le texte du message. Activons-la.

  • Ensuite, nous assemblons la fonction. N'oubliez pas d'assigner la fonction à une variable — cela vous permettra de suivre le statut d'envoi du message.

Voici ce que nous avons obtenu :

Après que le client nous a envoyé le mot-clé test, nous répondons en citant son message.

Dans ok, nous voyons le statut d'envoi ; ensuite viennent les informations sur le message lui-même — son ID, les données de l'expéditeur et le contenu.

Exemple avec le paramètre entities

Vous pouvez stocker la chaîne originale dans une variable, comme indiqué ci-dessous :

text = "qwert asdfg zxcvb poiuy lkjhg 12345"

Vous devez écrire le paramètre comme un dictionnaire avec les données et spécifier le formatage souhaité en indiquant les polices :

entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"`` https://mavibot.ai"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]

Passez le paramètre en dernier dans la fonction que vous utilisez. Le paramètre peut être passé aux fonctions tg_send_message et tg_send_message_1 :

x = tg_send_message(platform_id, text, None, None, None, False, False, False, None, entities)

Pour assigner un texte avec des sauts de ligne à une variable, spécifiez la valeur comme suit :

text = "Première ligne de texte" + "\n" + "Deuxième ligne de texte" + "\n" + "Troisième ligne"

Comment envoyer un message en spécifiant un bot Telegram particulier

tg_send_message_1(token, platform_id, text, client_message_id, reply_markup, parse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id, entities, business_connection_id)

Paramètre Description
**!** token Jeton du bot Telegram obtenu auprès de BotFather
**!** platform_id ID utilisateur Telegram auquel un message doit être envoyé *
**!** text Texte du message
client_message_id ID du message à citer
reply_markup Paramètres des boutons **
parse_mode Formatage du texte en gras et en italique dans la description ***. Peut prendre les valeurs html, markdown, markdownV2.
disable_web_page_preview Afficher l'aperçu du lien. Pour le désactiver, passez 1 ; sinon, passez 0 ou laissez vide "".
protect_content Indicateur de protection du contenu. Passez n'importe quelle valeur sauf 0, False ou '' pour activer.
disable_notification Indicateur de notification sonore (par défaut : 0). Passez 1 pour désactiver la notification, 0 pour l'activer.
message_thread_id ID du sujet (disponible pour les supergroupes avec la fonctionnalité forum activée)
entities Cela permet de copier un texte pré-formaté avec tous ses styles et de spécifier simplement la plage de caractères où une police particulière doit être appliquée. Un exemple se trouve dans tg_request sous le champ correspondant. Le paramètre doit être un dictionnaire.
business_connection_id La valeur Business ID est utilisée lors de la connexion du bot et affichée dans les canaux. Elle doit être fournie si un jeton de bot est inclus dans les paramètres et que le message doit être envoyé via un compte utilisateur lié au bot.
Exemple

Exemple de passage du paramètre :
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://mavibot.ai"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]

L'exemple montre uniquement le dictionnaire, tandis que le texte du message lui-même est assigné à une variable séparée.

Comment modifier le texte d'un message Telegram

Veuillez noter !

La fonction de modification de message est disponible uniquement pour les messages nouveaux et récemment envoyés.

La fenêtre de temps pendant laquelle la modification du message est autorisée est déterminée par le messager lui-même et dépend de la charge/de l'activité de votre bot ; elle peut être raccourcie pour la modification.

Selon le support technique du messager, la période optimale pour modifier un message est de 48 heures.

tg_edit_message_text(platform_id, message_id, text, reply_markup, parse_mode, disable_web_page_preview, entities)

Paramètre Description
**!** platform_id ID utilisateur Telegram auquel un message doit être envoyé *
**!** message_id ID du message à modifier. Cet ID doit être enregistré au préalable lors de l'envoi du message.
**!** text Texte du message
reply_markup Paramètres des boutons **
parse_mode Formatage du texte en gras et en italique dans la description ***. Peut prendre les valeurs html, markdown, markdownV2.
disable_web_page_preview Afficher l'aperçu du lien. Pour le désactiver, passez 1 ; sinon, passez 0 ou laissez vide "".
entities Cela permet de copier un texte pré-formaté avec tous ses styles et de spécifier simplement la plage de caractères où une police particulière doit être appliquée. Un exemple se trouve dans tg_request sous le champ correspondant. Le paramètre doit être un dictionnaire.

Comment envoyer une réaction à un message

tg_set_reaction(platform_id, message_id, reaction)

Paramètre Description
**!** platform_id ID du chat Telegram
**!** message_id ID du message
**!** reaction La réaction souhaitée est passée sous forme de chaîne.
Exemple

Exemple de code à copier :

react = tg_set_reaction(platform_id, 1556, '👌')

Exemple dans la calculatrice :

Comment modifier la description d'une pièce jointe

tg_edit_message_caption(platform_id, message_id, caption, reply_markup, parse_mode, entities, show_caption_above_media)

Paramètre Description
**!** platform_id ID utilisateur Telegram auquel un message doit être envoyé *
**!** message_id ID du message à modifier
**!** caption Texte de la description
reply_markup Paramètres des boutons **
parse_mode Formatage du texte en gras et en italique dans la description ***. Peut prendre les valeurs html, markdown, markdownV2.
entities

Cela permet de copier un texte pré-formaté avec tous ses styles et de spécifier simplement la plage de caractères où une police particulière doit être appliquée. Un exemple se trouve dans tg_request sous le champ correspondant. Le paramètre doit être un dictionnaire.

Exemple de passage du paramètre :
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"**https://,mavibot.ai"}**,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]

L'exemple montre uniquement le dictionnaire, tandis que le texte du message lui-même est assigné à une variable séparée.

show_caption_above_media Prend la valeur True ; si ce paramètre est spécifié, le texte du message sera affiché au-dessus de la pièce jointe.

Comment modifier les pièces jointes média dans un message

Paramètre Description
**!** platform_id ID utilisateur Telegram auquel un message doit être envoyé *
**!** message_id ID du message à modifier. Cet ID doit être enregistré au préalable lors de l'envoi du message.
**!** media

Un dictionnaire décrivant le fichier média :
Exemple d'un dictionnaire JSON pour remplacer une photo précédemment envoyée :
media = '{"type": "photo", "media": "<file_to_send>"}'

où <file_to_send> est recommandé d'être le file_id obtenu via le webhook Telegram complet.

Pour plus de détails, les paramètres du dictionnaire sont décrits dans la documentation officielle de Telegram.

reply_markup Paramètres des boutons **

Comment modifier un clavier inline dans un message

Paramètre Description
**!** platform_id ID utilisateur Telegram auquel un message doit être envoyé *
**!** message_id ID du message à modifier. Cet ID doit être enregistré au préalable lors de l'envoi du message.
**!** reply_markup Paramètres des boutons **

Vous ne pouvez modifier qu'un clavier inline.

Exemple : modification de message avec l'API Telegram

Vous trouverez ci-dessous un exemple détaillé de travail avec les fonctions de l'API Telegram pour la modification de messages.

Comment copier un message

tg_copy_message(platform_id, from_chat_id, message_id, reply_to_message_id, reply_markup, parse_mode, protect_content, disable_notification, caption, message_thread_id, entities, show_caption_above_media)

Paramètre Description
**!** platform_id ID utilisateur Telegram VERS lequel un message doit être copié *
**!** from_chat_id ID utilisateur Telegram DEPUIS lequel un message doit être copié *
**!** message_id ID du message à copier
reply_to_message_id ID du message original si le message copié est un commentaire
reply_markup Paramètres des boutons **
parse_mode

Formatage du texte en gras et en italique dans la description ***.

Peut prendre les valeurs html, markdown, markdownV2.

protect_content Indicateur de protection du contenu. Passez n'importe quelle valeur sauf 0, False ou '' pour activer.
disable_notification Indicateur de notification sonore (par défaut : 0). Passez 1 pour désactiver la notification, 0 pour l'activer.
caption - Description jusqu'à 1024 caractères.
message_thread_id ID du sujet (disponible pour les supergroupes avec la fonctionnalité forum activée)
entities Cela permet de copier un texte pré-formaté avec tous ses styles et de spécifier simplement la plage de caractères où une police particulière doit être appliquée. Un exemple se trouve dans tg_request sous le champ correspondant. Le paramètre doit être un dictionnaire.

Exemple de passage du paramètre :
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":**"https://mavibot.ai"}**,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]

L'exemple montre uniquement le dictionnaire, tandis que le texte du message lui-même est assigné à une variable séparée.
show_caption_above_media Prend la valeur True ; si ce paramètre est spécifié, le texte du message sera affiché au-dessus de la pièce jointe.

Comment transférer un message

tg_forward_message(platform_id, from_chat_id, message_id, protect_content, disable_notification, message_thread_id)

Paramètre Description
**!** platform_id ID utilisateur Telegram VERS lequel un message doit être envoyé *
**!** from_chat_id ID utilisateur Telegram DEPUIS lequel un message doit être envoyé *
**!** message_id ID du message à transférer
protect_content Indicateur de protection du contenu. Passez n'importe quelle valeur sauf 0, False ou '' pour activer.
disable_notification Indicateur de notification sonore (par défaut : 0). Passez 1 pour désactiver la notification, 0 pour l'activer.
message_thread_id ID du sujet (disponible pour les supergroupes avec la fonctionnalité forum activée)

Comment supprimer un message

tg_delete_message(platform_id, message_id)

! Utilisez cette méthode pour supprimer un message, y compris les messages de service, avec les restrictions suivantes :

  • Un message ne peut être supprimé que s'il a été envoyé il y a moins de 48 heures.
  • Les messages avec un dé dans un chat privé ne peuvent être supprimés que s'ils ont été envoyés il y a plus de 24 heures.
  • Les bots peuvent supprimer les messages sortants dans les chats privés, les groupes et les supergroupes.
  • Les bots peuvent supprimer les messages entrants dans les chats privés.
  • Les bots disposant de l'autorisation can_post_messages peuvent supprimer les messages sortants dans les canaux.
  • Si un bot est administrateur d'un groupe, il peut supprimer n'importe quel message dans ce groupe.
  • Si un bot dispose de l'autorisation can_delete_messages dans un supergroupe ou un canal, il peut supprimer n'importe quel message dans ce supergroupe ou canal.
Paramètre Description
**!** platform_id ID utilisateur Telegram *
**!** message_id ID du message à supprimer

Comment supprimer plusieurs messages

tg_delete_messages(platform_id, message_ids)

! Utilisez cette méthode pour supprimer un message, y compris les messages de service, avec les restrictions suivantes :

  • Un message ne peut être supprimé que s'il a été envoyé il y a moins de 48 heures.
  • Les messages avec un dé dans un chat privé ne peuvent être supprimés que s'ils ont été envoyés il y a plus de 24 heures.
  • Les bots peuvent supprimer les messages sortants dans les chats privés, les groupes et les supergroupes.
  • Les bots peuvent supprimer les messages entrants dans les chats privés.
  • Les bots disposant de l'autorisation can_post_messages peuvent supprimer les messages sortants dans les canaux.
  • Si un bot est administrateur d'un groupe, il peut supprimer n'importe quel message dans ce groupe.
  • Si un bot dispose de l'autorisation can_delete_messages dans un supergroupe ou un canal, il peut supprimer n'importe quel message dans ce supergroupe ou canal.
Paramètre Description
**!** platform_id ID utilisateur Telegram
**!** message_ids Un tableau d'ID de messages à supprimer. Maximum de 100 éléments.

Exemple : envoi de message avec l'API Telegram

Exemple de code à copier

Exemple 1

/*Il est pratique de définir le texte dans une variable au préalable*/
text='Écrire-écrire-écrire du texte'
/*Fonction d'envoi de message*/
soob=tg_send_message(platform_id, text)
/*Enregistrer l'ID du message envoyé*/
soob_id=soob['result']['message_id']

Exemple 2

id_group=-1001847103100
text='Test d\'envoi de message via la méthode API. Par exemple, *texte en gras*'
opts = {"inline_keyboard": [[{"text": "👍","callback_data":1}, {"text": "👎","callback_data":2}]]}
disable_web_page_preview=1
protect_content=''
disable_notification=1
parse_mode='markdown'
soob=tg_send_message(id_group, text,client_message_id, opts, parse_mode, disable_web_page_preview, protect_content, disable_notification) 


Exemple : modification de message avec l'API Telegram

Exemple de configuration

Alors, envoyons-nous un message avec un clavier inline :

Ensuite, modifions le texte du message :

Et modifions les boutons :

Essayons de modifier un message avec une image. Pour ce faire, envoyez un message avec une image et enregistrez l'ID du message envoyé. Lisez les instructions détaillées sur la façon d'obtenir l'URL de l'image ici :

Maintenant, modifions l'image et sa description :

Exemple de code à copier
/*Il est pratique de définir les paramètres dans une variable au préalable.*/
text='Quel forfait souhaitez-vous choisir ?'
opts = {"inline_keyboard": [[{"text": "Forfait 1","callback_data":1}, {"text": "Forfait 2","callback_data":2}]]}
/*Fonction d'envoi de message*/
soob=tg_send_message(platform_id, text, None, opts)
/*Enregistrer l'ID du message envoyé*/
soob_id=soob['result']['message_id']

/*Modifier le message*/
text='Quel forfait vous intéresse ?'
tg_edit_message_text(platform_id, soob_id, text, opts)  

/*Modifier le clavier inline*/
opts = {"inline_keyboard": [[{"text": "Standard","callback_data":1}, {"text": "Premium","callback_data":2}]]}
tg_edit_message_reply_markup(platform_id, soob_id, opts)


/*Envoyer une image avec la description*/
soob=tg_send_photo(platform_id, "AgACAgIAAxkBAAIPpWO4T7jhOgYHq6uR8rjnq9rIvBs-AAJlwDEb5fHASaGdhzgWjyn7AQADAgADeAADLQQ", "Ceci est une image")
/*Enregistrer l'ID du message envoyé*/
soob_id=soob['result']['message_id']

/*Modifier l'image*/
media='{"type": "photo", "media": "AgACAgIAAxkBAAIPrmO4UiH7Tazqn-3IbFVzPKNsVEZmAAJ1wDEb5fHASWcNXKah-egvAQADAgADeQADLQQ"}'
tg_edit_message_media(platform_id, soob_id, media)
/*Modifier la description de l'image*/
tg_edit_message_caption(platform_id, soob_id, 'C\'est MOI !')

Exemple : copie de message avec l'API Telegram

Exemple

Envoyons un message et enregistrons son ID.

Et copions le message précédemment envoyé.

Exemple de code à copier
/*Il est pratique de définir les paramètres dans une variable au préalable.*/
text='Quel forfait souhaitez-vous choisir ?'
opts = {"inline_keyboard": [[{"text": "Forfait 1","callback_data":1}, {"text": "Forfait 2","callback_data":2}]]}
/*Fonction d'envoi de message*/
soob=tg_send_message(platform_id, text, None, opts)
/*Enregistrer l'ID du message envoyé*/
soob_id=soob['result']['message_id']


/*Copier le message envoyé*/
tg_copy_message('5081438490', '1840834360', soob_id, None, opts, None, None, 1)