Я понимаю, что это не возможно использовать a Bot
получить номер телефона отправителя.
Мне, однако, нужно внедрить ботоподобный клиент, который отвечает всем, кто им отправляет сообщения. Я использую PHP на Apache.
Это не бот, так как он не принимает команды, а отвечает на отправленный текст от любого, у кого есть этот номер телефона. Таким образом, вы добавляете пользователя в качестве контакта (используя номер телефона), а затем отправляете ему текст.
Моя цель состоит в том, чтобы узнать номер телефона отправителя, когда я его получу. Telegram API что есть одноранговый идентификатор, но я не могу найти, как получить номер телефона, если это вообще возможно …
попробуйте эту библиотеку из github https://github.com/irazasyed/telegram-bot-sdk
и код для создания кнопки «визитная карточка» в приватном чате:
$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 ]);
и код для получения уникального телефона пользователя с «визитной карточки» после нажатия пользователем кнопки
$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 ]);
}
Других решений пока нет …