2016-07-11 17 views
3

Ich weiß, es ist nicht möglich, a Bot zu verwenden, um die Telefonnummer eines Absenders zu erhalten.
Ich muss jedoch einen Bot-ähnlichen Client implementieren, der auf jeden antwortet, der ihn sendet. Ich benutze PHP auf Apache.Telegram API, erhalten die Telefonnummer des Absenders?

Es ist kein Bot, da es keine Befehle entgegennimmt, sondern auf gesendeten Text von jedem antwortet, der diese Telefonnummer hat. So fügen Sie den Benutzer als Kontakt hinzu (unter Verwendung einer Telefonnummer) und senden dann Text an ihn.

Mein Ziel ist die Telefonnummer des Absenders zu erkennen, wie ich es erhalten, ich auf den Telegram API sah, dass es eine Peer-ID, aber ich kann nicht finden, wie die Telefonnummer zu erhalten, wenn das überhaupt möglich ist ...

+0

Haben Sie die Benutzer-ID? Wenn ja, können Sie nach ['getFullUser'] (https://core.telegram.org/method/users.getFullUser) suchen und dann den [' User'] abrufen (https://core.telegram.org/type/ Benutzer), der die Telefonnummer als Zeichenfolge enthält. –

+0

Ich soll eine Nachricht erhalten, beim Empfang, überprüfen Sie den Absender der Nachricht. Beziehen Sie sich auf das, was ich als Peer-ID erwähnte? – Ted

+0

Dies ist nicht wahr: "Es ist nicht möglich, einen Bot zu verwenden, um die Telefonnummer eines Absenders zu empfangen." [[Reference] (https://core.telegram.org/bots/api#keyboardbutton)] Sie können ein Benutzer-Telefon abrufen Nummer über einen speziellen Schlüssel, dass, wenn er/sie darauf klickt, seine/ihre Telefonnummer an den Bot sendet. Und ich komme hier mit Ihrem 'telegramm-bot'-Schlüsselwort, aber Ihre Frage hat nichts damit zu tun. Bitte entferne diesen Keyword-Freund. –

Antwort

2

versuchen, diese lib von github https://github.com/irazasyed/telegram-bot-sdk

und Code 'Visitenkarte' Button im privaten Chat zu erstellen:

$keyboard = array(
        array(
         array( 
           'text'=>"Send your visit card", 
           'request_contact'=>true 
          ) 
         ) 
       ); //user button under keyboard. 

$reply_markup = $telegram->replyKeyboardMarkup([ 'keyboard' => $auth_keyboard, 'resize_keyboard' => true, 'one_time_keyboard' => false ]); 
$telegram->sendMessage([ 'chat_id' => $chat_id, 'text' => $reply, 'reply_markup' => $reply_markup ]); 

und Code unic Benutzer Telefon von 'Visitenkarte' nach Benutzer drücken Sie die Taste, um

$user_phone = $result["message"]["contact"]["phone_number"]; 
if ($user_phone) { 
     $reply = $user_phone; 
     $telegram->sendMessage([ 'chat_id' => $chat_id, 'text' => $reply, 'reply_markup' => $reply_markup ]); 
    } 
Verwandte Themen