我是一个新的程序员在电报机器人我有一个php代码为我的机器人
const TOKEN = "https://api.telegram.org/bot<TOKEN>";
const USER_NAME = "@testbot";
const NAME = "Test bot";
$jata = json_decode(file_get_contents("php://input"), true);
define("CHAT_ID", $jata["message"]["chat"]["id"]);
define("MESSAGE", $jata["message"]["text"]);
switch (MESSAGE) {
case "/start":
SendMessage("welcome to bot");
break;
case "/new":
SendMessage("write your name: ");
break;
default:
// ????????????????????????????????????????
}
function SendMessage($msg)
{
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => TOKEN . "/sendMessage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
"chat_id" => CHAT_ID,
"text" => $msg
)
));
curl_exec($ch);
curl_close($ch);
}
所以我想当用户写/新我的机器人发送给用户写你的名字,然后用户发送给我我发送给用户输入你的姓氏机器人我怎么知道答案是哪一个?我不知道我应该写在默认开关块知道用户给我的名字或姓氏
1条答案
按热度按时间mwg9r5ms1#
您可以使用发送
/new
命令的用户的user_id
创建名为{user_id}.json
的文件,并在其中写入具有以下结构的json对象:并且当用户向机器人发送他的名字时,机器人检查JSON对象的
first_name
键是否是空字符串,如果是,则用用户发送的消息的文本替换它并询问姓氏。当用户发送姓氏时,您可以检查名字是否为空(不会为空),这样您就知道用户已经发送了名字,因此您可以将姓氏存储在相应的密钥中。代码: