電報ボットを作成してボットトークンを取得した後、ボットAPIにリクエストを送信します。
このリンク は、次のようなHTTPリクエストを送信する必要があることを示しています:https://api.telegram.org/bot<token>/METHOD_NAME
。入力パラメーターを持たない最も簡単なメソッド「getme」の例を示します。
メッセージを送りたいと想像してください。 chat_IDとtextの2つの必須入力パラメーターを持つsendMessage
メソッドを使用する必要があります。
これで私の質問が始まります:
このsendMessageメソッドを上記のリクエスト形式でそのパラメータとともにどのように記述できますか? sendMessage(param1,param2)
を試しましたが、method not foundメッセージを受け取りました。
chat_id
とは何ですか?連絡先にメッセージを送信したい場合、どのようにしてchat_id
を知ることができますか?
私はインターネットでたくさん検索しましたが、GitHubには特にこの目的のためのプロジェクトがたくさんありますが、正直なところ、それらのどれも意味がありません。神のために誰かが私を助けてください。私は道を失っています。
よろしく。
POSTリクエストを送信するだけです:
https://api.telegram.org/bot{token}/{method}
例えば:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage
リクエストの本文で、パラメーターをURLエンコードします。
chat_id=12345&text=hello%20friend
たとえば、Pythonで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()
ユーザーがボットとチャットすると、 Message
オブジェクト を取得します。これには、チャットID(およびチャットIDの代わりに使用できるユーザーID)があります。ユーザーIDを既に知っている場合を除き、ユーザーとチャットを開始する方法はないため、ユーザーがあなたと会話するのを待つ必要があります。 ディープリンク を使用して、ユーザーが[スタート]ボタンを押したときに事前に作成されたメッセージを送信するリンクをクリックすることで、これを簡素化できます。
これを試して
https://api.telegram.org/bot{token}/sendMessage?chat_id=<chat_id>&text=<Enter your text here>
例
https://api.telegram.org/bot449123456:AAHSAnSGDm8PW2Z-1ZiwdVDmgv7sM3NMTxg/sendMessage?chat_id=311911234&text=Hi+Everyone