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 по email OK
Подскажите,я пытаюсь написать бота, как сделать так чтобы у него не менялся статус через некоторое время, а то он уходит в инвизибол,
Я хочу чтобы он всегда был в on-line
Можно периодически обновлять статус вызовом sendStatus.
А немогли бы предложить пример из какого лучше в каком скрипте? в каком цикле задавать установку статуса?
Ну, это зависит от задачи.
Всмысле от задачачи?
задача же чтобы всегда был в он-лайн
Запускается он у меня в винде батником {path_php}\php.exe {path_bot_jabber}\index.php
если только перезапускать батник каждые 5 минут, но это нифига не вариант
может где-то в самой библиотеке XMPP, есть поддерживать статус?
ну хоть какой-нибудь пример пожалуйста приведите
Спасибо большое за пример, а скрипт из библиотеки в котором его можно разместить не могли бы подсказать?
Размещать можно где угодно.
Извините пожалуйста, но млин я тупой!
Этот же класс еше нужно как-то вызвать?
Каким образом он будет поддерживать подключение че-то я не догоню...
или к циклу какому-то из одного из скриптов самой библиотеки JAXL нужно его привязывать
если есть возможность ответить более подробно, то пожалуйста,
или если я действительно туплю, подскажите что почитать плиз
Почитать про ООП… тут просто расширяем класс JAXL. Соотвественно далее пользуемся MyCoolJabberClass, а не им. Вот и вся разница.
Да без ООП походу никак, никогда не работал с классами
Решил свою проблему таким образом, запустил второго бота, который через определенный промежуток шлет сообщение первому боту. Чем не дает упасть себе и первому боту :)
Как только не извратится человек, чтобы не читать документацию...
Антон, укажите пожалуйста ссылку на хорошую документацию, может я ее просто не видел
По ООП в PHP http://ru2.php.net/manual/ru/language.oop5.php
По XMPP и Jabber http://xmpp.org/protocols/
Да с такой документации только сесть и написать свой класс для работы с jabber, но в мои планы это не входило... очень жаль просто не хочется терять времени на такой простой момент как просто поддержать статус бота на jaxl
Кстати пытался заюзать библиотеку xmpphp, у меня при запуске бота проц на компе грузится на 100%, а в JAXL можно сказать на нуле... Но зато xmpphp быстрее коннектится и статус у него не меняется...Вообщем я наверно не в то обучждения пишу....очень жаль что не смогли мне подсказать конкретно что же все таки нужно сделать чтобы статус не менялся
Ну, я как-бы даже пример привёл для JAXL…
Опять GPL, нельзя встраивать в несвободное ПО
Sam что на счет примера, я честно не понял как его использовать? каким образом?
Мне не удалось заставить его работать
Может там есть какая нибудь функция "автоуход"? и ее просто можно отключить?
Мне не особо понятен этот ход рещения... а нельзя более конкретно, просто даже в документации к JAXL ни чего я не нашел про автоуход