Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Fatal error: Cannot use string offset as an array in - co zmienić?
Forum PHP.pl > Forum > Przedszkole
Defozo
Witam, mam taki kod:

jbot.php:
Wklej.to - Klik!
Lub:
  1. <?php
  2. /**********************************************
  3. Autor: Tracerout
  4. Kontakt:
  5. -mail: tracerout@o2.pl
  6. -jid: tracerout@jid.pl
  7.  
  8. Uzycie: php skrypt pokoj@serwer nick
  9. np: php jbot.php bar@conference.aqq.eu JBot
  10. **********************************************/
  11.  
  12. #przylaczam klase class.jabber
  13. require("class.jabber.php");
  14. #ustawiam dane bota
  15. $dane = array(server => "jid.pl", port => "5222", username => "defozobot", password => "niewiem", resource => ("$argv[2]"), enable_logging => TRUE, log_filename => "logfile.txt", room => $argv[1]);
  16. (empty($argv[2])) ? $jbot_nick=$dane['username'] : $jbot_nick=$argv[2];
  17. $vip="defozoo@aqq.eu";
  18. #lacze bota
  19. $jabb = new Jabber;
  20. $jabb->server = $dane['server'];
  21. $jabb->port = $dane['port'];
  22. $jabb->username = $dane['username'];
  23. $jabb->password = $dane['password'];
  24. $jabb->resource = $dane['resource'];
  25. $jabb->enable_logging = $dane['enable_logging'];
  26. $jabb->log_filename = $dane['log_filename'];
  27. $jabb->Connect() or die("Couldn't connect");
  28. $jabb->SendAuth() or die("Couldn't autheticate");
  29. $jabb->SendPresence();
  30. $jabb->wejdz($dane['room'], $jbot_nick);
  31. #otwieram plik z logami do zapisu
  32. $fp=fopen('log.php', 'a+');
  33. #pobieram czas
  34. $upt_start = time();
  35. #rozpoczynam petle
  36. while(1)
  37. {
  38. #odbieram pakiety i je `obrabiam`
  39. $oddaj=$jabb->mess();
  40. $message=$oddaj['message'];
  41. $sender=explode('/', $oddaj['sender']);
  42. $sender=$sender[1];
  43.  
  44. #jesli jest wiadomosc to wykonuje dalej
  45. if(!empty($message))
  46. {
  47. #wywalam puste znaki, rozbijam wiadomosc i sprawdza czy w tresci wiadomosci jest nick osoby ktora jest away
  48. $message=trim($message);
  49. $exp=explode(" ", $message);
  50. #zapisuje nadawce i wiadomosc do logow
  51. fwrite($fp, $oddaj['sender'].': '.$message."\n");
  52. #AI
  53. if($walka=="true")
  54. {
  55. if($message==$liczba && $sender==$koles1)
  56. {
  57. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "Gratulacje $koles1 ! Twoj wrog ( $koles2 ) nie zyje !"));
  58. $walka = "false";
  59. }
  60. else
  61. {
  62. if($message==$liczba && $sender==$koles2)
  63. {
  64. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "Gratulacje $koles2 ! Twoj wrog ( $koles1 ) nie zyje !"));
  65. $walka = "false";
  66. }
  67. }
  68. }
  69. if($exp[1]=="!walka")
  70. {
  71. $koles1 = $exp[2];
  72. $koles2 = $exp[3];
  73. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "Walka: $koles1 vs $koles2 !"));
  74. sleep(1);
  75. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "5"));
  76. sleep(10);
  77. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "4"));
  78. sleep(10);
  79. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "3"));
  80. sleep(10);
  81. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "2"));
  82. sleep(10);
  83. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "1"));
  84. sleep(10);
  85. $liczba = random(1,10);
  86. $walka = "true";
  87. $jabb->SendMessage($dane['room'], 'groupchat', null, array("body" => "Liczba: $liczba"));
  88. }
  89. }
  90. else#jesli wiadomosc `empty` spi 1 sekunde
  91. {
  92. sleep(1);
  93. }
  94. }
  95. fclose($fp);#zamyka plik po zakonczeniu petli(po co ja to tutaj wpisalem? sleep.gif")
  96. ?>


class.jabber.php:
Wklej.to - Klik!

Podczas odpalania jbot.php wyświetla się:
Kod
Fatal error: Cannot use string offset as an array in class.jabber.php on line 204


Linia 204 class.jabbera.php:
  1. $jid=explode("/", $packet['presence']['#']['x']['0']['#']['item']['0']['@']['jid']);


Podejrzewam, że chodzi o uzywanie tekstu (stringu) tak jakby był tablicą, lecz.. Jak to naprawić?

Proszę o pomoc,
Pozdrawiam,
Defozo
ayeo
Witam!

Możesz nam wyjaśnić tajemnicze powody, dla jakich wrzucasz kod na jakieś dziwne wklej.to? Załóżmy, że za pół roku ktoś będzie miał podobny problem do Twojego, myślisz, że ten kod nadal tam będzie?

Pozdrawiam!
varez
wklej.to nie kasuje tekstow z tego co wiem.. po to jest..
ayeo
Cytat
Wszystkie paste przechowywane są tak długo dopóki nie zostanie ona usunięta przez użytkownika serwisu, lub minimum 90 dni po jej ostanim wyświetleniu.
Defozo
Cytat(ayeo @ 26.08.2009, 21:27:41 ) *
Witam!

Możesz nam wyjaśnić tajemnicze powody, dla jakich wrzucasz kod na jakieś dziwne wklej.to? Załóżmy, że za pół roku ktoś będzie miał podobny problem do Twojego, myślisz, że ten kod nadal tam będzie?

Pozdrawiam!

Wszystko dlatego, że w poście się nie zmieściło (ograniczenie znaków).
Jedynie teraz zmieniłem i dodałem jbota.php do postu (on się mieści).

A jakby ktoś szukał to jest to przeróbka (by me) przeróbki (by Tracerout) class.jabbera.php v0.4 (by Carlo "Gossip" Zottmann)...

Pozdrawiam,
Defozo

UWAGA! PROBLEM ROZWIĄZANY!
Przerejestrowałem bota na aqq.eu (wcześniej był na jid.pl) i już wszystko działa : )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.