テレグラムの複数の連絡先にメッセージを送信するボットを作成しています。 ユーザーはボットとの連絡を共有できます。次にgetUpdatesを使用して電話番号を取得します。 sendMessageメソッドを使用するにはchat_idが必要です。 彼の電話番号でユーザのchat_idを取得する方法は? これを行うにはこの方法よりも良い方法はありますか?テレグラムで電話番号のuser_idを取得する方法
答えて
インターネットサービスが存続するためには、どんなタイプのスパムとでも戦う必要があります。結果として、テレグラムのボットはまだボットを使用していないユーザーにメッセージを送信することはできません。
ユーザーがボットの使用を開始したときにのみ、彼/彼女のchat_id
が表示され、彼にメッセージが送信されます。
つまり、ユーザ(ユーザA)が別のユーザの詳細(この1つをユーザBと呼ぶ)をcontact
に送信すると、ユーザBのuser_id
が表示されます。彼/彼女は以前にボットを使用し始めていない限り、直接メッセージを送信します。
この現象により、回避策を講じて電話番号でユーザーに問い合わせるか、必要に応じて少なくともユーザーの電話番号を確認することができます。
これを行うには、まず、contact
メッセージを作成する必要があります。ボットがメッセージを送信できる場合でも、誰がメッセージを送信したかは関係ありません。この考えは、電文がcontact
メッセージのuser_id
を記入するようにすることです。あなたはここに、このオブジェクトについて読むことができます。私たちが使用する必要がContact Object
方法がsendContactであり、ターゲットchat_id
、first_name
とphone_number
を必要とします。今度はfirst_name
には任意の文字列を指定でき、その値はプロセスには関係ありません。また、chat_id
は、あなたのものであっても、ボットとの任意のユーザーのチャットを識別することができます。また、ボットが書き込みアクセス権を持つ管理者であるグループまたはチャネルの名前でもかまいません(例:@my_private_bot_channel
)。要するに、ボットがメッセージを投稿できる場所。したがって、あなたはphone_number
を提供する必要があります。
メッセージを送信した後、あなたのロボットが投稿したばかりのMessageと一緒に、サーバーの応答が得られます。この新しく作成されたメッセージのcontact
フィールドには、連絡先のユーザーに関する情報が含まれている可能性があります。おそらくユーザーのチャットIDと同じものである自分の電信書user_id
とともに表示されます。
すぐにdeleteMessageメソッドでメッセージを削除できます。
には、以下の無地要求/応答形式でそうすることの一例ですが、あなたはおそらく、このためのフレームワークを使用する必要があります。
https://api.telegram.org/{BOT_TOKEN}/sendContact?chat_id=123456789&phone_number=+989123456789&first_name=Some+Random+String
この要求に対する応答は以下の通りです:
{
"ok": true,
"result": {
"message_id": 12345678987654321,
"from": {
"id": 987654321,
"first_name": "The Bot Name",
"username": "mybot_bot"
},
"chat": {
"id": 123456789,
"first_name": "Your Chat Party",
"last_name": "Your Chat Party",
"type": "private"
},
"date": 1484612850,
"contact": {
"phone_number": "989123456789",
"first_name": "Some Random String",
"user_id": 654789321
}
}
}
"user_id": 654789321
は私たちが興味を持っている部分です。あなたのメッセージを削除することができます。
英語の文法が良くないと私は失礼です。私の文章のエディタは歓迎です –
あなたの方法を共有してくれてありがとう。私はちょうど電話番号があればどのように電信のユーザのuser_idを得ることができます。メソッドを動作させるには、chat_idとuserのfirst_nameを渡す必要があるためです。 –
@AlenooshBaghumian no! first_nameには任意の文字列を指定できます。 chat_idは自分のchat_idでもかまいません! –
問題があります:あなたがuser_idを持っていても、会話開始者としてボットからユーザーにメッセージを送信することはできません。
@AnkitBajpaiはい、それは*質問*への答えを提供します。あなたがそれをすることができないと言って*答えです*。それが有用な答えだと思っていない場合は、その意見をダウンボントで反映させることができます。 – Servy
- 1. テレグラムのサポートの電話番号リスト
- 2. 電話番号の取得
- 3. 電話番号から電話番号を取得 - Android
- 4. アンドロイドで電話のsmsc番号を取得する方法は?
- 5. Androidで自分の電話番号を取得する方法
- 6. Androidで電話番号を取得する方法
- 7. Androidで電話番号を取得する方法
- 8. アスタリスクで電話番号(callerID)を取得する方法
- 9. 特定のグループの電話番号を取得する方法
- 10. テレグラムAPI、送信者の電話番号を取得しますか?
- 11. iPhoneの電話番号を取得する方法
- 12. imessage拡張アプリケーションの電話番号を取得する方法
- 13. アンドロイドの電話番号から電話番号のラベルを取得する方法
- 14. アンドロイドで電話番号を取得
- 15. SMSから電話番号を取得する方法android
- 16. アンドロイド携帯から電話番号を取得する方法
- 17. 電話番号を取得する方法
- 18. Xamarin.Droid - デバイスの電話番号を取得
- 19. WindowsのSystem.Windows.Controls.Layout.Toolkitの取得電話番号
- 20. 電話番号の取得Windows Phone 7
- 21. 通話履歴から国際電話番号を取得する方法
- 22. Androidアプリでユーザーの電話番号を取得する方法は?
- 23. AndroidでSMS受信者の電話番号を取得する方法
- 24. Twilioで購入した電話番号の場所を取得する方法
- 25. 国のプレフィックスなしの電話機の電話番号を取得する
- 26. デバイスの電話番号をプログラムで取得する
- 27. sales_order_place_afterイベントで注文情報(電話番号)を取得する方法
- 28. iPhoneで国際電話番号を取得するには?
- 29. Androidでタイプ別に電話番号を取得する
- 30. WAPでモバイル(セル)電話番号を取得する
ボットは以前にボットに書き込んでいないユーザーに連絡することはできません。 –
誰かがテレグラムに登録されている電話番号でボットに連絡先を送信した場合、連絡先に追加のフィールド「user_id」がありますが、前に述べたように、ボットは、前にボットに。 –