通过抓取小九的信息能够实现聊天机器人功能,但是我想通过人为输入指令来控制这一功能的开启和关闭,比如我输入“说话”,就开始调用网页内容进行对话,输入“关闭”则关闭这个功能。目前小弟写的代码如下,但是不行,请大神指教:
if($speak_key=='说话'){
$contentStr = "开启智能对话,请注意节操和下限~~";
$switch ="on";
}elseif($speak_key=='闭嘴'){
$contentStr = "对话已关闭,你的节操余额不足,记得充值~~";
$switch ="off";
}elseif(!empty($speak_key) && $switch ='on'){
$contentStr = $this->xiaojo($speak_key);}
下面的是调用的php代码:
public function xiaojo($speak_key){
$curlPost=array("chat"=>$speak_key);
$ch = curl_init();//初始化curl
curl_setopt($ch, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php');//抓取指定网页
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);//运行curl
curl_close($ch);
if(!empty($data)){
return $data;
}else{
$ran=rand(1,5);
switch($ran){
case 1:
return "盆子今天累了,明天再陪你聊天吧。";
break;
case 2:
return "盆子睡觉喽~~";
break;
case 3:
return "呼呼~~呼呼~~";
break;
case 4:
return "你话好多啊,不跟你聊了";
break;
default:
return "您好!我们要经常联系哦~";
break;
}
}
}
基本这些,谢谢大神回答~