我对Bot Telegram PHP有疑问,My Bot是成功发送请求的格式为nilai(空格)[value]。
劳斯:
我想要改变格式nilai(空格)[值]到此卷。
这是我的代码,格式为nilai(空格)[Value]。
function prosesApiMessage($sumber)
{
$updateid = $sumber['update_id'];
if(isset($sumber['message']))
{
$message = $sumber['message'];
if(isset($message['text']))
{
prosesPesanText2($message);
}
}
return $updateid;
}
function prosesPesanText2($message)
{
$idpesan = $message['message_id'];
$balas = $message['reply_to_message'];
$pesan = $message['text'];
$idchat = $message['chat']['id'];
$namamu = $message['from']['first_name'];
$iduser = $message['from']['id'];
//untuk memisahkan antara format dan inputan
$pecah = explode(' ', $pesan, 3);
$katapertama = strtolower($pecah[0]);
switch ($katapertama)
{
case 'nilai':
sendApiAction($idchat);
if(isset($pecah[1]))
{
$inputKode = $pecah[1];
// this funtion for show data nilai by code
$text = lihatNilai($iduser,$inputKode);
}
else
{
$text = "Gagal menampilkan nilai.\n";
$text .= "Format Nilai Nilai (Kode Matkul)";
}
// sendMessageReply($idpesan, $idchat, $text);
sendApiKeyboard($idchat, $text, $keyboard_fungsi);
break;
case 'id':
sendApiAction($idchat);
$text = "ID User Anda adalah ".$iduser;
sendMessage($idchat, $text);
break;
default:
# code...
break;
}
}
我希望有人可以帮助我:)。
答案 0 :(得分:0)
您必须保存用户的“状态”并在每条消息上进行检查。 例如。在伪代码中:
xsl:output
您可以看到on message {
if ($states[user_id] === 'expect nilai code') {
sendMessage(user_id, ' show object data for code'.$text);
$states[user_id] = null;
} else {
if ($msg_text === '/nilai') {
$states[user_id] = 'expect nilai code';
sendMessage(user_id, 'please input the nilai code for example : IT601');
}
}
}
为每个用户存储状态。根据状态,您知道用户在回答您问题的过程中的位置
如果您将机器人设置为使用webhook,请确保将此数组保存到脚本末尾的文件系统中,并在脚本开头读取它。 (例如使用($states
和file_get_contents()
)。