<rmcreative>

RSS

JAXL

12 января 2009

Jabber XMPP Library — библиотека для взаимодействия с протоколом XMPP из PHP.

Что умеет

— Подключаться к серверу (в т.ч. и к Gtalk).

— Использовать TLS.

— Аутентифицироваться по MD5/PLAIN.

— Поддерживается ростер.

Пример кода

/* Include Key file */  
include_once("config.ini.php");  
 
/* Include JAXL Class */  
include_once("jaxl.class.php");  
 
/* Create an instance of XMPP Class */  
$jaxl = new JAXL($key[$env]['host'],    // Jabber Server Hostname  
                 $key[$env]['port'],    // Jabber Server Port  
                 $key[$env]['user'],    // Jabber User  
                 $key[$env]['pass'],    // Jabber Password  
                 $key[$env]['domain'],  // Jabber Domain  
                 $db[$env]['dbhost'],   // MySQL DB Host  
                 $db[$env]['dbname'],   // MySQL DB Name  
                 $db[$env]['dbuser'],   // MySQL DB User  
                 $db[$env]['dbpass'],   // MySQL DB Pass  
                 $logEnable,            // Enable Logging  
                 $logDB                 // Enable MySQL Inserts  
                );  
 
try {  
  /* Initiate the connection */  
  $jaxl->connect();  
 
  /* Communicate with Jabber Server */  
  while($jaxl->isConnected) {  
    $jaxl->getXML();  
  }  
}  
catch(Exception $e) {  
  die($e->getMessage());  
}

Пробуем

Комментарии RSS

  1. №1102
    bracus
    bracus 15 янв. 2009 г., 12:10:29

    Подскажите,я пытаюсь написать бота, как сделать так чтобы у него не менялся статус через некоторое время, а то он уходит в инвизибол,

    Я хочу чтобы он всегда был в on-line

  2. №1103
    Sam
    Sam 15 янв. 2009 г., 12:25:30

    Можно периодически обновлять статус вызовом sendStatus.

  3. №1104
    bracus
    bracus 15 янв. 2009 г., 12:33:53

    А немогли бы предложить пример из какого лучше в каком скрипте? в каком цикле задавать установку статуса?

  4. №1106
    Sam
    Sam 15 янв. 2009 г., 13:18:10

    Ну, это зависит от задачи.

  5. №1108
    bracus
    bracus 15 янв. 2009 г., 13:55:48

    Всмысле от задачачи?

    задача же чтобы всегда был в он-лайн

    Запускается он у меня в винде батником {path_php}\php.exe {path_bot_jabber}\index.php

    если только перезапускать батник каждые 5 минут, но это нифига не вариант

    может где-то в самой библиотеке XMPP, есть поддерживать статус?

    ну хоть какой-нибудь пример пожалуйста приведите

  6. №1109
    Sam
    Sam 15 янв. 2009 г., 14:09:30
    MyCoolJabberClass extends JAXL {
      function eventPresence($fromJid, $status, $photo){
        parent::eventPresence($fromJid, $status, $photo);
        $this->sendStatus('My cool status.');
      }
    }
  7. №1110
    bracus
    bracus 15 янв. 2009 г., 14:33:30

    Спасибо большое за пример, а скрипт из библиотеки в котором его можно разместить не могли бы подсказать?

  8. №1111
    Sam
    Sam 15 янв. 2009 г., 14:42:55

    Размещать можно где угодно.

  9. №1112
    bracus
    bracus 15 янв. 2009 г., 15:34:38

    Извините пожалуйста, но млин я тупой!

    Этот же класс еше нужно как-то вызвать?

    Каким образом он будет поддерживать подключение че-то я не догоню...

    или к циклу какому-то из одного из скриптов самой библиотеки JAXL нужно его привязывать

    если есть возможность ответить более подробно, то пожалуйста,

    или если я действительно туплю, подскажите что почитать плиз

  10. №1113
    Sam
    Sam 15 янв. 2009 г., 15:40:54

    Почитать про ООП… тут просто расширяем класс JAXL. Соотвественно далее пользуемся MyCoolJabberClass, а не им. Вот и вся разница.

  11. №1115
    bracus
    bracus 15 янв. 2009 г., 16:09:26

    Да без ООП походу никак, никогда не работал с классами

  12. №1119
    bracus
    bracus 16 янв. 2009 г., 13:43:14

    Решил свою проблему таким образом, запустил второго бота, который через определенный промежуток шлет сообщение первому боту. Чем не дает упасть себе и первому боту :)

  13. №1126
    Антон Исайкин
    Антон Исайкин 18 янв. 2009 г., 7:30:12

    Как только не извратится человек, чтобы не читать документацию...

  14. №1128
    bracus
    bracus 18 янв. 2009 г., 11:03:00

    Антон, укажите пожалуйста ссылку на хорошую документацию, может я ее просто не видел

  15. №1129
    Антон Исайкин
    Антон Исайкин 18 янв. 2009 г., 11:20:00

    По ООП в PHP http://ru2.php.net/manual/ru/language.oop5.php

    По XMPP и Jabber http://xmpp.org/protocols/

  16. №1194
    bracus
    bracus 31 янв. 2009 г., 11:07:03

    Да с такой документации только сесть и написать свой класс для работы с jabber, но в мои планы это не входило... очень жаль просто не хочется терять времени на такой простой момент как просто поддержать статус бота на jaxl

    Кстати пытался заюзать библиотеку xmpphp, у меня при запуске бота проц на компе грузится на 100%, а в JAXL можно сказать на нуле... Но зато xmpphp быстрее коннектится и статус у него не меняется...Вообщем я наверно не в то обучждения пишу....очень жаль что не смогли мне подсказать конкретно что же все таки нужно сделать чтобы статус не менялся

  17. №1195
    Sam
    Sam 01 февр. 2009 г., 1:26:53

    Ну, я как-бы даже пример привёл для JAXL…

  18. №1200
    Денис Радченко
    Денис Радченко 05 февр. 2009 г., 0:01:52

    Опять GPL, нельзя встраивать в несвободное ПО

  19. №1214
    bracus
    bracus 07 февр. 2009 г., 17:14:18

    Sam что на счет примера, я честно не понял как его использовать? каким образом?

    Мне не удалось заставить его работать

    Может там есть какая нибудь функция "автоуход"? и ее просто можно отключить?

    Мне не особо понятен этот ход рещения... а нельзя более конкретно, просто даже в документации к JAXL ни чего я не нашел про автоуход

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.