QQ聊天机器人for PHP版 (登录,收、发消息)

时间:2023-03-09 14:54:58
QQ聊天机器人for PHP版 (登录,收、发消息)
<?php

include "http_no_cookie.class.php";

class qq {

    public $sid;
public $http;
public $qq_num; function __construct() {
$this->http = new http_no_cookie;
} function login($qq_num, $qq_pwd) {
echo $data = $this->http->get("http://pt.3g.qq.com/");
$action = preg_match("/action=\"(.+)?\"/", $data, $matches);
$action = $matches[1];
$params = array();
$params["login_url"] = "http://pt.3g.qq.com/s?aid=nLogin";
$params["sidtype"] = 1;
$params["loginTitle"] = "手机腾讯网";
$params["bid"] = 0;
$params["qq"] = $qq_num;
$params["pwd"] = $qq_pwd;
$params["loginType"] =1;
echo $data = $this->http->post($action, http_build_query($params));
if(preg_match("/http:\/\/vc.gtimg.com\//",$data,$matches)){
echo "需要输入验证码";
return 0;
exit;
} if(preg_match("/密码错误/",$data,$matches)){
echo "密码错误";
return 1;
exit;
}
$action = preg_match("/sid=(.+?)&/", $data, $matches);
$this->sid = $matches[1];
return $this->sid;
} function sendMsg($to_num, $msg, $sid = 0) {
$sid = $sid ? $sid : $this->sid;
if (!$sid)
exit("sid值未传入进去");
$params = array();
$params["msg"] = $msg;
$params["u"] = $to_num;
$params["saveURL"] = 0;
$params["do"] = "send";
$params["on"] = 1;
$params["aid"] = "发送";
$url = "http://q16.3g.qq.com/g/s?sid=" . $sid;
echo $data = $this->http->post($url, http_build_query($params));
return $data;
} function getMsg($qq_num = 0, $sid = 0) {
$qq_num = $qq_num ? $qq_num : $this->qq_num;
if (!$qq_num)
exit("qq_num值未传入进去");
$sid = $sid ? $sid : $this->sid;
if (!$sid)
exit("sid值未传入进去");
$url = "http://q16.3g.qq.com/g/s?sid=" . $sid . "&3G_UIN=" . $qq_num . "&saveURL=0&aid=nqqChat";
$data = $this->http->get($url);
preg_match("/name=\"u\" value=\"(\d+)\"/", $data, $matches);
$result["qq"] = $matches[1];
$data = explode("<form", $data);
$data = $data[0];
preg_match_all("/<p>(.+)?<\/p>/", $data, $matches);
unset($matches[1][0]);
$result["content"] = $matches[1];
return $result;
}
function logout($sid){
$url="http://pt.3g.qq.com/s?sid=".$sid."&aid=nLogout";
echo $url;
echo $this->http->get($url);
}
function getFriendsList($qq_num = 0, $sid = 0){
$result=array(); $qq_num = $qq_num ? $qq_num : $this->qq_num;
if (!$qq_num)
exit("qq_num值未传入进去");
$sid = $sid ? $sid : $this->sid;
if (!$sid)
exit("sid值未传入进去");
$url="http://q16.3g.qq.com/g/s?aid=nqqchatMain&sid=".$sid."&myqq=".$qq_num;
while(true){
$i=1;
$url.="&p=".$i;
$data=$this->http->get($url);
preg_match_all("/u=(.+?)&/",$data,$matches);
foreach($matches[1] as $key=>$value){
$result[]=$value;
}
if(count($matches[1])<13)
break;
$i++;
}
return $result;
}
}
<?php

class http_no_cookie {

    private $curl;
public $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13"; public function get($url) {
$this->curl = curl_init();
curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8);
curl_setopt($this->curl, CURLOPT_URL, $url);
curl_setopt($this->curl, CURLOPT_HEADER, 0);
curl_setopt($this->curl, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($this->curl);
curl_close($this->curl);
return $data;
} public function post($url, $params) {
$this->curl = curl_init();
curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8);
curl_setopt($this->curl, CURLOPT_URL, $url);
curl_setopt($this->curl, CURLOPT_HEADER, 1);
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->curl, CURLOPT_POST, 1);
curl_setopt($this->curl, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($this->curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($this->curl);
curl_close($this->curl);
return $data;
} } ?>

http://lvxinwei.sinaapp.com/961.html