如何在 Telegram Bot API 上的 "KeyboardButton" 对象中使用 "request_contact" 和 "request_location" 字段
How to use "request_contact" and "request_location" fields in "KeyboardButton" Object on Telegram Bot API
我想尝试使用电报机器人 API 获取用户 phone。我找到了一个方法: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所说:"Optional fields are mutually exclusive."这意味着你只能使用request_contact
字段或request_location
。你不能同时使用它们。
此外,keyboard
必须是 KeyboardButton
对象数组的数组。
这是一个工作示例 replyMarkup
您可以改用:
$replyMarkup3 =[
'keyboard' =>[ [ [
'text'=>'test',
'request_contact'=>true,
]]],
'resize_keyboard'=>true,
'one_time_keyboard'=>true,
];
我想尝试使用电报机器人 API 获取用户 phone。我找到了一个方法: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所说:"Optional fields are mutually exclusive."这意味着你只能使用request_contact
字段或request_location
。你不能同时使用它们。
此外,keyboard
必须是 KeyboardButton
对象数组的数组。
这是一个工作示例 replyMarkup
您可以改用:
$replyMarkup3 =[
'keyboard' =>[ [ [
'text'=>'test',
'request_contact'=>true,
]]],
'resize_keyboard'=>true,
'one_time_keyboard'=>true,
];