>[success] 接口原理:
> 1.触发型消息:爱优微信精灵在收到消息或事件时,将数据按照一定的规范POST至自定义接口地址,并获取接口的返回数据。通过解析返回数据的内容,来完成消息回复或指令操作等。
> 2.主动型消息:爱优微信精灵根据轮询频率定时POST自定义接口地址,并获取接口的返回数据。通过解析返回数据的内容,来完成消息发送或指令操作等。
>[success] 接口类型:
> 1.事件接口:机器人收到事件后进行处理,如收到转账。
> 2.消息接口:机器人收到消息后进行处理,如收到群聊消息。
> 3.回调接口:机器人收到指令后异步触发的消息,如刷新群列表。
* * * * *
DEMO:
```
<?php
$s['mode']=trim($_POST['mode']);//消息模式
$s['ip']=trim($_POST['ip']);//客户端IP
$s['sysname']=urldecode(trim($_POST['sysname']));//客户端主机名
$s['pid']=trim($_POST['pid']);//客户端pid
$s['nonce']=trim($_POST['nonce']);//随机字符
$s['systime']=trim($_POST['systime']);//当前时间戳
$s['appkey']=trim($_POST['appkey']);//密钥
$s['iuname']=trim($_POST['iuname']);//用户名
$s['robotid']=trim($_POST['robotid']);
//机器人wxid
$s['robotname']=urldecode(trim($_POST['robotname']));
//机器人昵称
$s['pic']=trim($_POST['pic']);
//机器人头像地址
$appkey = md5($s['iuname'].$s['systime'].$s['nonce']);
$time=time();
if($appkey<>$s['appkey']){
echo "error appkey";
exit();
}
$json = json_encode($_POST);
$str = file_get_contents("post.log");
write('post.log',$str."\r\n".date("H:i:s",$time).$json);
if($s['mode']=="timemsg"){
echo '{"delaytime":"1000","list":[{"code":"10001","wxid":"10140225738@chatroom"}]}';
}elseif($s['mode']=="groupmsg"){
if(substr($s['content'],0,6)=="测试"){
echo '{"code":"10001","text":"'.$output.'"}';
}
}
function write($file_name,$data,$mode='w'){
if(!in_array($mode,array('w','a','x')))
return false;
$dir = dirname($file_name);
if(!is_dir($dir))
$dir = mkdir($dir,0777);
if(!$dir) return false;
$file = fopen($file_name,$mode);
if(!$file || !is_writable($file_name)) return false;
fwrite($file,$data);
fclose($file);
return true;
}
```