我有一个用于聊天自动回复的脚本,它使用while()来运行,所以它会一直运行直到它死掉
我希望能够每隔3分钟发送一次“PING”消息,但仍然可以对收到的每条消息进行“自动回复”。
麻烦的是,如果我使用sleep(180)函数循环'PING'消息,每3分钟将使'AUTO RESPOND'每条消息都停止响应消息,因为脚本睡眠时具有睡眠(180)功能。
那么什么解决方案使脚本可以每3分钟循环“PING”消息,但仍然可以同时执行'AUTO RESPOND'每条消息。
有什么可能?
有人可以根据我下面的脚本帮助我吗?
$this->connect();
while(!$this->isDisconnected()) {
$starts = $this->processUntil(array('message', 'session_start'));
foreach($starts as $go) {
switch($go[0]) {
case 'session_start':
$this->presence($status="Just Online !!!", $show="online");
break;
case 'message':
$filter = $show="online";
if($new['from'] == $filter) {
$sender = explode('@', $new['from']);
$this->message($new['from'], $body="AUTO RESPOND MESSAGE: Sorry $sender[0] Iam Not Here Right Now.", $type="chat");
}
$the_time = time();
$interval = 3*60;
while(true) {
if ($the_time + $interval >= time()) {
$this->message($myself, $body="PING !!!", $type="chat");
$the_time = time();
}
}
break;
}
}
}