ОК, я думаю, что у меня есть решение для вас! Итак, это код:
$key = "{\"keyboard\":[ [\"OPTION1\"], [\"OPTION2\"], [\"OPTION3\"] ]}";
$url = $GLOBALS[API_URL]."/sendmessage?chat_id=$id&text=Choose%20your%20action&reply_markup=".urlencode($key);
file_get_contents($url);
переменного $ GLOBALS [API_URL] = https://api.telegram.org/bot123456789:AAf6g4fr4rt5y67hadsffaerafasfasf Так заменить мой глобальный вар с прямым URL или что-то: D Других функций, которые должны быть интересными для вас, заключается в следующем:
function close_keyboard($id, $message)
{
//$text = "Keyboard_closed!";
$message = str_replace(" ", "%20", $message);
$key = "{\"hide_keyboard\":true}";
$url = $GLOBALS[API_URL]."/sendmessage?chat_id=$id&text=$messagge&reply_markup=".urlencode($key);
file_get_contents($url);
}
Эта функция закрыть пользовательскую клавиатуру, а другая моя личная функция заключается в следующем:
function build_keyboard($elements, $message, $chat_id)
{
//Get length of array
$len = count($elements);
//Build custom keyboard
$keyboard = "{\"keyboard\":[ [\"";
for($i = 0; $i < $len; ++$i)
{
if($i < $len-1)
$keyboard .= $elements[$i]."\"],[\"";
else
$keyboard .= $elements[$i]."\"] ]}";
}
$url = $GLOBALS[API_URL]."/sendmessage?chat_id=$chat_id&text=".urlencode($message)."&reply_markup=".urlencode($keyboard);
file_get_contents($url);
}
Прототип этой функции build_keyboard (массив(), String, String) Пример:
$messagge = "Wrong choise";
$keyboard = array("OPT1", "OPT2", "OPT3");
build_keyboard($keyboard, $message, $chat_id);
Помните, что $ сообщение всегда необходимо или reply_doesntt работу!
Надеюсь, это будет полезно! Пожалуйста!
и какой именно вопрос? – RamRaider
Код не работает! И я не знаю, как это сделать! – user3649959
@ user3649959 здесь недостаточно контекста, чтобы понять проблему. Что значит «не работает»? Вы получили сообщение об ошибке? Вы вообще что-то получаете? Вы уверены, что эта линия виновата; Есть ли какой-нибудь другой код, который может помочь? Каковы значения в переменных? и т. д. и т. д. и т. д. ... вам нужно предоставить дополнительную информацию, прежде чем кто-нибудь сможет вам помочь. – Spudley