![]() ![]() |
| -p_ch- |
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? |
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. |
| -p_ch- |
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 |
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 ?
--------------------
|
||
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.
-------------------- |
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.
|
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? -------------------- |
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) 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 -------------------- 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. |
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... |
| -kostek- |
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 |
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?
//Edit: To miało być pytanie retoryczne Ten post został edytowany przez AdamPilorz: 21 Feb 2006, 23:12 -------------------- Grunt to uziemienie...
Komunikatory całego świata łączcie się!! :> |
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 |
Ekhm, ekhm, ekhm, co Smoku mówił o zakładaniu kont botów na chrome? 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... -------------------- |
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. |
![]() ![]() ![]() |
| Wersja Lo-Fi | Aktualny czas: 2 September 2010, 18:22 |
Hosting: Jogger.pl