Xpoint
   [напомнить пароль]

XMPPHP #2

Метки: [без меток]
2009-10-02 11:33:44 [обр] Александр Петров(2/4)[досье]

Здравствуйте, помогите советом.

Взял пример jabber bota

set_time_limit(0);
$conn = new XMPPHP_XMPP('jabber.aibolit', 5222, 'user', 'passwd', 'xmpphp', 'jabber.aibolit', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_INFO);
$conn->autoSubscribe();

$vcard_request = array();

try {
    $conn->connect();
    while(!$conn->isDisconnected()) {
       $payloads = $conn->processUntil(array('message', 'presence', 'end_stream', 'session_start', 'vcard'));
   
      foreach($payloads as $event) {
          $pl = $event[1];
         switch($event[0]) {
            case 'message': 
                //Обрабатываем событие "Пришло сообщение"
             break;
             case 'presence':
                //...
             break;
             case 'session_start':
                 //...
             break;
            case 'vcard':
               //...
            break;
          }
       }
    }
} catch(XMPPHP_Exception $e) {
    die($e->getMessage());
}

Он работает так. Как только в его адрес приходит событие то в isDisconnected() выставляется false И цикл начинает работать. Умное решение, но...

Мне нужно что бы робот считал время и каждые 5 минут отправлял сообщение. В while не пристроить потому как работать будет только когда событие произойдет из тех которые я отслеживаю:

array('message', 'presence', 'end_stream', 'session_start', 'vcard')

Помогите найти решение. Два цикла одновременно работать не будут :((((

P.S. Может какое событие каждые 5 минут генерировать. В исходном коде класса XMPPHP. А может там такое уже есть???

спустя 1 час 54 минуты [обр] Александр Петров(2/4)[досье]
Нет, не в этом деле. А только в том что класс начинает работать когда события приходят array('message', 'presence', 'end_stream', 'session_start', 'vcard')
спустя 4 минуты [обр] Прокаев2(13/35)[досье]
а что мешает передать второй параметр в processUntil ?
спустя 19 минут [обр] Александр Петров(2/4)[досье]
да, да, да, я уже понял
спустя 35 секунд [обр] Александр Петров(2/4)[досье]
просто документации нет, только описание. Пока поймешь по чужому коду. Хотя очень грамотно написано
Powered by POEM™ Engine Copyright © 2002-2005