如何使用“;request_contact”;以及“;请求位置”;“”中的字段;键盘按钮”;Telegram Bot A


How to use "request_contact" and "request_location" fields in "KeyboardButton" Object on Telegram Bot API

我想尝试使用telegram bot API获取用户电话。我找到了一个方法:https://core.telegram.org/bots/api#keyboardbutton

我尝试过,但仍然没有解决,这是我的代码:

        $replyMarkup3 =array(
                            'keyboard' => array(
                            array('text'=>'test'),
                            'request_contact'=>true,
                            'request_location'=>true,
                                ),
                            'resize_keyboard'=>true,
                            'one_time_keyboard'=>true,
                                );
        $encodedMarkup = json_encode($replyMarkup3);
        $data =    $this->tele->sendMessage($this->user_id2,$content,$parse_mode=null, true, null, $encodedMarkup);
        print_r($data); die();

正如Telegram Doc所说:"可选字段是互斥的。"这意味着你只能使用request_contact字段或request_location字段。你不能同时使用它们。

此外,keyboard必须是KeyboardButton对象的数组的数组。这是一个工作样本replyMarkup,您可以使用它:

$replyMarkup3 =[
    'keyboard' =>[ [ [
        'text'=>'test',
        'request_contact'=>true,
    ]]],
    'resize_keyboard'=>true,
    'one_time_keyboard'=>true,
];