我意识到无法使用Bot来接收发件人的电话号码.
但是,我确实需要实现一个类似于bot的客户端,以响应正在发送消息的任何人.我在Apache上使用PHP.
它不是Bot,因为它不接受命令,而是响应拥有该电话号码的任何人发送的文本.因此,您将用户添加为联系人(使用电话号码),然后向其发送文本.
我的目标是在收到发件人的电话号码时实现它,我在Telegram API上看到有一个对等ID,但即使有可能,我也找不到如何获取电话号码…
解决方法:
尝试从github https://github.com/irazasyed/telegram-bot-sdk这个lib
以及在私人聊天中创建“访问卡”按钮的代码:
$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 ]);
}