IPB

Witaj Gościu ( Zaloguj | Rejestruj )

 
Reply to this topicStart new topic
> Problemy z class.jabber.php, czy jest jakaś alternatywa?
-p_ch-
post 29 Jun 2005, 15:10
Post #1





Gość






Witam,

Próbuję zrobić powiadamianie o nowych postach z forum IPB. Jednak klasa jabber.php nie ułatwia mi tego. Nie wiem, czy problem leży w samej implementacji klasy, czy po prostu jest to wina serwera.

Otóż założyłem dla bota konto na chrome.pl. Kiedy ktoś pisze nowy post/temat, skrypt automatycznie wysyła do ludzi z rostera powiadomienie. Problem polega na tym, że skrypt bardzo rzadko łączy się z serwerem i przeprowadza autoryzacje bezbłędnie. Jeśli już to się uda, to nie chce pobrać rostera ($jabber->rosterUpdate()).

Czy istnieje jakaś alternatywa do phpjabber? A może da się jakoś rozwiązać ten problem?
Go to the top of the page
+Quote Post
AnonimuS
post 29 Jun 2005, 16:24
Post #2


Sporo już napisał...
****

Grupa: Miłośnik żarówek
Postów: 226
Dołączył: 19.05.04
Skąd: Gliwice
Użytkownik nr: 2717
Jabber ID:
anonimus//jabster.pl



Z tego co wiem to nie ma żadnej alternatywnej biblioteki dla PHP do obsługi Jabbera.
Jeśli pokażesz kod to może uda się jakoś Ci pomóc.
Profile CardPM
Go to the top of the page
+Quote Post
-p_ch-
post 29 Jun 2005, 16:42
Post #3





Gość






Kod jak kod, niczym szczególnym się nie wyróżnia:
KOD
 
               /////////////////////////////////////////////////////
 //       JABBER NOTIFY MOD                         //
 require_once('class.jabber.php');
 require_once('konwersja.php');
 
 $jabber = new Jabber();
     
 $jabber->server   = 'chrome.pl';
 $jabber->port     = '5222';
 $jabber->username = 'mojlogin';
 $jabber->password = 'haslo';
 $jabber->resource = 'ForumBOT';
 
       $jabber->enable_logging = TRUE;
       $jabber->log_filename = "c:\logfile.txt";    
 
 $jabber->connect() or die('Could not connect!');
 $jabber->sendAuth() or die('Could not authenticate!');
     
 $jabber->sendPresence(null, null, 'online');
 
 $jabber->rosterUpdate();
 
 echo '<br><br><pre>';
 print_r($jabber->roster);
       echo '</pre>';
 
 $jabber->cruiseControl(2);
 
 $count = count($jabber->roster);
 for ($i = 0; $i < $count; $i++)
 {
     $to = $jabber->roster[$i]['jid'];
     $msg = plCharset(strip_tags(trim($poster . ' napisal: ' . $post)));
     $jabber->sendMessage($to, 'normal', null, array('subject' => 'Powiadomienie o nowym poscie', 'body' => $msg));
 }    
 
 $jabber->disconnect();


Chyba zainteresuję się bliżej samym protokołem i spróbuję napisać coś swojego. Ale to już w ostateczności
Go to the top of the page
+Quote Post
psz
post 29 Jun 2005, 22:53
Post #4


Nie wytrzyma bez forum!
********

Grupa: Admin
Postów: 1885
Dołączył: 25.02.04
Użytkownik nr: 2451
Jabber ID:
patryk//patryk.net



czy aby napewno posyłasz wiadomość zakodowaną UTF-8 ?


--------------------
Patryk (psz), PLD addicted, Amarok fascinated, arts frustrated
www.patryk.net (IPv6)
Psi-psz - emerytura
Profile CardPM
Go to the top of the page
+Quote Post
p_ch
post 30 Jun 2005, 10:26
Post #5


Początkujący
*

Grupa: Miłośnik żarówek
Postów: 25
Dołączył: 29.06.05
Użytkownik nr: 4076
Jabber ID:
p_ch//chrome.pl



Tak, na pewno. Problem polegana tym, że skrypt nie zawsze chce się połączyć i zalogować do serwera. Jeśli uda mu się zalogować, to nie chce pobrać rostera. Wiadomość udaje się wysłać raz na kilka wywołań skryptu.


--------------------
Remember there is an outside world to see and enjoy.
Bad thoughts -- The diary of a madman
Status użytkownika
Profile CardPM
Go to the top of the page
+Quote Post
Enleth
post 30 Jun 2005, 12:18
Post #6


Gaduła
*****

Grupa: Miłośnik żarówek
Postów: 479
Dołączył: 20.03.04
Skąd: Wrocław
Użytkownik nr: 2586
Jabber ID:
enleth//chrome.pl



Jeśli to możliwe, użyj czegoś co będzie działać stale i np. z bazy danych pobierać kolejkę wiadomości do wysłania.
Profile CardPM
Go to the top of the page
+Quote Post
p_ch
post 30 Jun 2005, 14:34
Post #7


Początkujący
*

Grupa: Miłośnik żarówek
Postów: 25
Dołączył: 29.06.05
Użytkownik nr: 4076
Jabber ID:
p_ch//chrome.pl



Taki demon obecnie nie wchodzi w grę. Nie mam dostępu do shella, czy crona.

Co dziwne, używając mojej prościutkiej klasy wiadomość dochodzi za każdym razem :|

btw, zauważyłem, że na tym forum jest opcja powiadamiania na jid. Użyliście jakiegoś gotowego moda?


--------------------
Remember there is an outside world to see and enjoy.
Bad thoughts -- The diary of a madman
Status użytkownika
Profile CardPM
Go to the top of the page
+Quote Post
kg
post 30 Jun 2005, 15:34
Post #8


Nie wytrzyma bez forum!
********

Grupa: Admin
Postów: 2372
Dołączył: 14.01.04
Skąd: Wejherowo
Użytkownik nr: 2374



CYTAT(p_ch @ 30 Jun 2005, 15:34)
btw, zauważyłem, że na tym forum jest opcja powiadamiania na jid. Użyliście jakiegoś gotowego moda?
*
Modyfikacja istniejącego (przynajmniej kiedyś - dziś już nie udało mi się go odnaleźć na stronie domowej) moda.

Kilka uwag co do Twojej koncepcji. Jeśli masz problem z samym połączeniem - poszukaj lepszego (z lepszym połączeniem z Twoim serwerem jabbera/www) serwera www/jabbera. Lepiej w bazie forum zapisać sobie kto chce/nie chce dostawać powiadomień niż bazować na rosterze. No i jeszcze ze trzy razy upewnij się czy wysyłana wiadomość jest poprawnie zakodowana w utf-8 wink.gif


--------------------
To co napisałem powyżej, to tylko moja prywatna opinia ;)
Konweter GG->Jabber - Sprawdź mnie ;)
Pożywka dla pająków: Jabber Forum, Forum Jabber, Jabber, Zamki dmuchane
Jakby ktoś szukał - jestem na chrome.pl pod nickiem jak na forum, ale najszybciej można mnie złapać pisząc PM na forum.
Profile CardPM
Go to the top of the page
+Quote Post
skolima
post 30 Jun 2005, 19:44
Post #9


Początkujący
*

Grupa: Validating
Postów: 13
Dołączył: 25.05.05
Skąd: Politechnika Poznańska
Użytkownik nr: 3991
Jabber ID:
skolima//gmail.com



moje problemy z phpJabber : cruiseControl działa pod Unixem albo pod windą na php5 - taki szczegół.
nawet jeśli działa poprawnie, 2 sekundy moga nie wystarczyć na pobranie wiadomości...
Profile CardPM
Go to the top of the page
+Quote Post
-kostek-
post 21 Feb 2006, 18:26
Post #10





Gość






Witam
co do samego połączenia to ja też miałem z tym problem, rozwiązałem go w ten sposób:

KOD
include("class.jabber.php");
$body = $_POST["autor"] . " mówi: " . $_POST["tresc"];
$adres = $_POST["adres"];
$j=new Jabber();
do {
$j->server="chrome.pl";
$j->port=5222;
$j->username="mojnick";
$j->password="mojehaslo";
$j->resource="kostek";
$j->connect() or die($g = 1);
$j->sendauth() or die($g = 1);
$j->SendMessage($adres, "chat", NULL, array("body"=>$body));
$j->Disconnect();
}
while ($g == 1);



Działa to w ten sposób, zę jeśli się nie połączy, to wywala błąd i pentelka leci od nowa.
Tu jest link do bramki wykorzystującej ten kod : http://luktom.forall.pl/bartek/bramka/

Pozdrowienia
kostek
Go to the top of the page
+Quote Post
AdamPilorz
post 21 Feb 2006, 22:58
Post #11


Niepohamowany gaduła
******

Grupa: Miłośnik żarówek
Postów: 670
Dołączył: 09.03.04
Skąd: Lublin, Polska, Europa, Ziemia, Droga mleczna...
Użytkownik nr: 2510
Jabber ID:
adam//pilorz.net



Ekhm, ekhm, ekhm, co Smoku mówił o zakładaniu kont botów na chrome? rolleyes.gif
//Edit: To miało być pytanie retoryczne wink.gif

Ten post został edytowany przez AdamPilorz: 21 Feb 2006, 23:12


--------------------
Grunt to uziemienie...
Komunikatory całego świata łączcie się!! :>
Profile CardPM
Go to the top of the page
+Quote Post
Krystek
post 21 Feb 2006, 23:05
Post #12


Niepohamowany gaduła
******

Grupa: Super Moderator
Postów: 595
Dołączył: 11.05.04
Skąd: Białystok
Użytkownik nr: 2681
Jabber ID:
krystek//chrome.pl



CYTAT(AdamPilorz @ 21 Feb 2006, 22:58) *
Ekhm, ekhm, ekhm, co Smoku mówił o zakładaniu kont botów na chrome? rolleyes.gif

O ile to nie autoresponder w kliencie użytkownika, pełniący funkcję automatycznej sekretarki to taki bot postawiony bez uzgodnienia z administratorem serwera może zostać zablokowany...


--------------------
Profile CardPM
Go to the top of the page
+Quote Post
smoku
post 22 Feb 2006, 01:17
Post #13


Administrator serwera chrome.pl
********

Grupa: Miłośnik żarówek
Postów: 1807
Dołączył: 30.09.04
Skąd: Warszawa
Użytkownik nr: 3206
Jabber ID:
smoku//xiaoka.com



Nie do końca.
Blokowany jest cały adres IP, nie tylko jedno konto.
Profile CardPM
Go to the top of the page
+Quote Post

Fast ReplyReply to this topicStart new topic
1 użytkownik(ów) przegląda ten temat (1 gości i 0 anonimowych użytkowników)
0 Użytkownicy:

 



Wersja Lo-Fi Aktualny czas: 2 September 2010, 18:22

Hosting: Jogger.pl