web-dev-qa-db-fra.com

Comment envoyer la requête à Telegram bot API?

Après avoir créé un bot de télégramme et gagné un jeton de bot, je souhaite envoyer une demande à l'API du bot.

Ce lien dit que nous devons envoyer la requête HTTP comme ceci: https://api.telegram.org/bot<token>/METHOD_NAME Et donne un exemple pour la méthode la plus simple "getme" qui n'a pas de paramètres d'entrée.

Imaginez que je veuille envoyer des messages. Je devrais utiliser la méthode sendMessage qui a deux paramètres d'entrée requis: chat_ID et text.

Maintenant mes questions commencent:

  1. Comment puis-je écrire cette méthode sendMessage dans le format de demande ci-dessus avec ses paramètres? J'ai essayé sendMessage(param1,param2) et j'ai reçu un message de méthode non trouvée.

  2. Qu'est-ce que chat_id? si je veux envoyer un message au contact, comment puis-je connaître son chat_id?

J'ai beaucoup cherché sur internet, il y a plein de projets sur GitHub spécialement à cet effet, et honnêtement aucun n'a de sens. pour l'amour de Dieu, aidez-moi s'il vous plaît. Je perds le chemin.

Cordialement.

13
Ali Crash

Vous envoyez simplement une demande POST à:

https://api.telegram.org/bot{token}/{method}

Par exemple:

https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage

Dans le corps de la demande, votre URL encode les paramètres:

chat_id=12345&text=hello%20friend

Par exemple, dans Python en utilisant le module requests:

import requests

response = requests.post(
    url='https://api.telegram.org/bot{0}/{1}'.format(token, method),
    data={'chat_id': 12345, 'text': 'hello friend'}
).json()

Lorsqu'un utilisateur discute avec votre bot, vous obtenez un Message objet qui a un identifiant de discussion (et un identifiant d'utilisateur, que vous pouvez remplacer par un identifiant de discussion). Il n'y a aucun moyen d'initier un chat avec un utilisateur à moins que vous ne connaissiez déjà son identifiant, vous devez donc attendre qu'un utilisateur vous parle. Vous pouvez simplifier cela en utilisant lien profond et en demandant à l'utilisateur de cliquer sur un lien qui envoie un message prédéfini lorsqu'il appuie sur le bouton Démarrer.

29
Blender

Essaye ça

https://api.telegram.org/bot{token}/sendMessage?chat_id=<chat_id>&text=<Enter your text here>

Exemple

https://api.telegram.org/bot449123456:AAHSAnSGDm8PW2Z-1ZiwdVDmgv7sM3NMTxg/sendMessage?chat_id=311911234&text=Hi+Everyone
5