[英]Bot Telegram PHP Send Object Parameters to last Command
我對Bot Telegram PHP有疑問,我的Bot是成功發送帶有nilai(space)[value]格式的請求。
勞斯萊斯 :
我想更改格式nilai(space)[value]到這卷。
這是我的代碼,格式為nilai(space)[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;
}
}
我希望有一個人可以幫助我 :)
您必須保存用戶的“狀態”,並在每條消息上進行檢查。 例如偽代碼:
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');
}
}
}
您可以看到$states
為每個用戶存儲一個狀態。 根據狀態,您可以知道用戶在回答問題的過程中所處的位置。
如果您將機器人設置為使用Webhook,請確保在腳本末尾將此數組保存到文件系統中,並在腳本開始時讀取它。 (例如,使用( file_get_contents()
和file_put_contents()
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.