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 :

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)

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)

Comment envoyer une réaction à un message

tg_set_reaction(platform_id, message_id, reaction)

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)

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

Comment modifier un clavier inline dans un message

Vous ne pouvez modifier qu'un clavier inline.

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)

Comment transférer un message

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

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.

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.

Exemple : envoi de message avec l'API Telegram

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

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 :

/*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

Envoyons un message et enregistrons son ID.

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

/*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)