電報でボットをプログラミングしていますが、reply_mark up を介して特別なキーボードを作成していません。誰か助けてもらえますか? 私のコードはこれです:
file_get_contents($website."/sendmessage?chat_id=".$myID."&text=keyTest&reply_markup={"keyboard":[["test"]]}");
電報でボットをプログラミングしていますが、reply_mark up を介して特別なキーボードを作成していません。誰か助けてもらえますか? 私のコードはこれです:
file_get_contents($website."/sendmessage?chat_id=".$myID."&text=keyTest&reply_markup={"keyboard":[["test"]]}");
OK、私はあなたのための解決策を持っていると思います! したがって、これはコードです:
$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(array(), String, String) です。 例:
$messagge = "Wrong choise";
$keyboard = array("OPT1", "OPT2", "OPT3");
build_keyboard($keyboard, $message, $chat_id);
$message が常に必要であるか、reply_doesntt が機能しないことを忘れないでください!
これが役に立つことを願っています!どういたしまして!