2015-07-03 11 views
7

Nachdem ich einen Bot erstellt und Bot-Token erhalten habe, möchte ich eine Anfrage an die Bot-API senden.Wie sollten wir eine Anfrage an die Telegramm-Bot-API senden?

This link sagt, dass wir die HTTP-Anforderung wie folgt senden müssen: https://api.telegram.org/bot<token>/METHOD_NAME und bringt Beispiel für einfachste Methode „getme“, die keine Eingangsparameter hat.

Stellen Sie sich vor, ich möchte einige Nachrichten senden. Ich sollte die sendMessage Methode verwenden, die zwei Erforderliche Eingabeparameter hat: Chat_ID und Text.

Nun meine Fragen beginnt:

  1. Wie kann ich diese nachrichts Methode in oben Anforderungsformat mit seinen Parametern schreiben? Ich versuchte sendMessage(param1,param2) und erhielt Methode nicht gefunden Nachricht.

  2. Was ist chat_id? wenn ich dem Kontakt eine Nachricht senden möchte, wie kann ich seine chat_id wissen?

ich viel im Internet gesucht, es gibt viele Projekte auf GitHub sind speziell für diesen Zweck, und ehrlich gesagt keiner von ihnen macht keinen Sinn. um Gottes willen jemanden bitte hilf mir. Ich verliere den Weg.

Grüße.

Antwort

20

Sie senden nur eine POST-Anfrage an:

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

Zum Beispiel:

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

Im Körper des Antrags, URL Sie die Parameter codieren:

chat_id=12345&text=hello%20friend 

Für Beispiel, in Python mit dem requests Modul:

import requests 

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

Wenn ein Benutzer mit Ihrem Bot chattet, erhalten Sie eine Message object mit einer Chat-ID (und einer Benutzer-ID, die Sie für eine Chat-ID ersetzen können). Es gibt keine Möglichkeit, einen Chat mit einem Benutzer zu initiieren, wenn Sie seine Benutzer-ID nicht bereits kennen. Sie müssen also warten, bis ein Benutzer mit Ihnen spricht. Sie können dies vereinfachen, indem Sie deep linking verwenden und den Benutzer auf einen Link klicken, der eine vorgefertigte Nachricht sendet, wenn er auf die Schaltfläche Start klickt.

+0

Dank für Ihre gute Antwort, um Nachrichten zu empfangen, wie kann ein User-Chat mit meinem Bot, ich meine, sie sollten nur Nachricht an Telegramm-Konto senden und ich kann ihre Chat-ID haben? –

+0

@AliCrash: Der Benutzer findet seinen Bot entweder mit Namen ('@ YourBot') oder er klickt auf einen Link (' https: //telegram.me/YourBot? Start = irgendwas'), was ein Telegram-Fenster öffnet und den Das Nachrichteneingabefeld wird durch einen riesigen Startknopf ersetzt, der '\ start something' an Ihren Bot sendet. – Blender

+0

aha, jetzt sehe ich wie ein Bot funktioniert, danke nochmal, aber wie kann ich die Nachrichten in meinem Telegramm Kontoeingang in einer lokalen Datenbank empfangen und speichern? Ich möchte eine Desktop-App machen, um so etwas zu tun. –

1

Versuchen Sie, diese

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

Beispiel

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