2016-07-29 7 views
1

私は電話番号のリストを持っています。Telegram Bot APIを使用してユーザ名とファーストネームを取得する

テレグラムに一致するusernamefirst_nameが必要です(テレグラムを購読している場合)。

Telegram BOT APIでこれらの情報(ユーザー名とファーストネーム)を取得したいと考えています。

可能ですか?これどうやってするの?それはIMPOSSIBLEで短い言葉で

<?php 

//telegram sdk and configuration 
$client = new Zelenin\Telegram\Bot\Api('someRandomToken'); 

$update = json_decode(file_get_contents('php://input')); 

//your app 
try { 

    if($update->message->text != '/next_event_datetime') 
     exit; 

    $dom = Sunra\PhpSimple\HtmlDomParser::file_get_html('http://laratalks.com/'); 
    $element = $dom->find('#location header.section-header h3', 0); 
    $dateTime = $element->plaintext; 

    $response = $client->sendMessage([ 
     'chat_id' => $update->message->chat->id, 
     'text' => $dateTime 
    ]); 

} catch (\Zelenin\Telegram\Bot\NotOkException $e) { 

    //echo error message ot log it 
    //echo $e->getMessage(); 

} 
+0

あなたの質問の部分と関連していないので、サンプルコードは言及しない方が良いと思います。 –

+0

あなたの電話番号を持っている人にあなたの名前とユーザー名を知らせたいですか?それはプライバシーの侵害であり、あなたにフィッシング攻撃を加えたいと思っている人にとって重大な潜在的なスタートとなります。 – ceejayoz

答えて

1

あなたは電話番号を持っていれば、ユーザーからuser_idというユーザー名を取得できます。私は最初の名前を得る方法を知らない。

first_nameと電話番号の連絡先(sendContact)を送信してください。テレグラムは、送信された連絡先で応答します。連絡先にはuser_id(テレグラムがある場合)とusernameが含まれます。ステップバイ

ステップ:

  1. 電報のAPIが応答する
  2. (...自分で、グループは、重要ではありません)任意のチャットに数とし、任意の最初の名前と連絡先を送信送信メッセージまたは何らかのエラーコードでメッセージが正常に送信された場合は、応答内の連絡先に詳細(usernameとuser_id)が含まれている可能性があります。
+0

[Telegram Bot Doc](https://core.telegram。org/bots/api#sendcontact)メソッド( 'sendContact')は、既存の連絡先(例えば、個人Aの連絡先番号)を人Bに送信するためのものです。この質問とは全く別のもの –

+0

自分で試してみてください。ボットが連絡先を送信し、結果のメッセージを見てみましょう。 –

+1

私はいくつかのapi [here](http://telegram.me/JohannesTestBot)をテストするためのテストボットを作った。 '/ raw sendContact phone_number 424314159 first_name bot_support'のようなメッセージを送信し、(わずかに解析された)JSON結果で答えるでしょう。 'user_id'フィールドがあることに注意してください。 –

0

(PHPで)これは私のサンプルコードです。しかし、全体の記事を読む、それはあなたのために有用かもしれません。

テレグラムとテレグラムのボットAPIから電話番号を取得する一方向は、 です。これは、電話番号を送信できず、テレグラムからユーザーデータを取得できないことを意味します(注:前に電話番号でユーザーを追加していないものとします)

電報で、ユーザーの電話番号を取得する唯一の2つの方法があります:

1-特定KeyboardButtonボタンでそれを取得しますが。

2ユーザに電話番号を尋ねますが、信頼できないため、他の方法で確認する必要があります(この場合、ユーザはあなたの電話番号を尋ねる必要があります)。 (SMSのようなものです)

これらの2つの方法はユーザーの電話番号を取得するために使用できますが、電話番号を取得するとリストが役に立たないためです。

しかし、usernameを電話番号で取得したい場合は、Telegram Bot APIインフラストラクチャのためにこれは不可能です。

関連する問題