Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: szukam skryptu bota
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
slaveman
Ostatni dorwałem faq skrytu php bota ircowego który wchodzi na knał i odpowiada na pingi oto jego kod
  1. <?php
  2. //ustawienia
  3. set_time_limit(0); //zeby program nam się po pewnym czasie nie wyłączył tongue.gif
  4. //ten regexp (autorstwa faxe) będzie nam potrzebny później przy odbieraniu wiadomości PRIVMSG
  5. define('regexNadOdbTresc', '/:([^s!@]+)[S]+[s]+PRIVMSG[s]+([S]+)[s]+:(.*)/');
  6.  
  7.  
  8. $serwer='bialystok.ircnet.pl';
  9. $port=6669;
  10. $nick='niewolnik';
  11. $opis='www.google.pl';
  12. $kanal=array('#forum.linuxtux.us');
  13. //
  14.  
  15. function parsuj($msg)
  16. {
  17. global $soket, $nick;
  18.  
  19. //ping pong
  20. if(preg_match('/^PING/', $msg))
  21. {
  22. $tmp='PONG :'; $tmp=$tmp.substr($msg, 6);
  23. fputs($soket, $tmp."n"); echo "PING-PONG !!n";
  24.  }
  25. //wiadomość PRIVMSG
  26. //jeżeli to jest widomość PRIVMSG i nie jest to wiadomość prywatna
  27. elseif(preg_match(regexNadOdbTresc, $msg) == 1&&$odbiorca!=$nick)
  28. {
  29.  //wyjmij z wiadomości nadawcę, odbiorcę oraz treść
  30.  $nadawca=trim(preg_replace( regexNadOdbTresc, '$1', $msg));
  31.  $odbiorca=trim(preg_replace( regexNadOdbTresc, '$2', $msg));
  32.  $tresc=preg_replace( regexNadOdbTresc, '$3', $msg)."n";
  33.  
  34.  //odpowiedzi snitch.gif
  35.  if(preg_match('/^.time/', $tresc))
  36. {
  37.  //gdy ktoś wpisze na kanale .time zostanie na ten kanał wysłana aktualna godzina i
     data
  38. fputs($soket, "PRIVMSG ".$odbiorca." :Teraz jest: ".date("Y.m.d H:i:s")."n");
  39. }
  40.  
  41.  //w tym miejscu można dodać więcej "opcji" bota, ale jako, że to jest krótki arcik to nie będę ich tutaj wypisywał.
  42.  
  43. }
  44. }
  45.  
  46. $soket = @fsockopen($serwer, $port); //podłączamy się do serwera
  47. if(!$soket) exit; else //jeżeli się nie udało zakończ program
  48. {
  49. //wysyłamy nasze dane:
  50. //nick
  51.  fputs($soket, 'NICK '.$nick."n");
  52. //info o userze
  53.  fputs($soket, "USER ".$nick." * * :".$opis."n");
  54. //wchodzimy na kanał / kanały
  55.  foreach ($kanal as $kanal_tmp) fputs($soket, 'JOIN '.$kanal_tmp."n");
  56.  
  57. //nasluchujemy odpowiedzi serwera... parsuj($x) - to funkcja, która będzie interpretowała po co przyśle nam serwer
  58.  while (!feof($soket)) { $x=fgets($soket, 1024); echo $x; parsuj($x); }
  59. }
  60. ?>

Problem polega na tym że praser nie wyzuca mi żadnego błędu ale skrypt nie działa bo na kanale nie pojawia się owy bot i tu pytanie dowas czy znacie jakiś skrypt php bota który mozna odpalić z FTP a jeśli nie to czy ten skrypt można naprawić by działał
Seth
Kiedys napisalem mini Framework do tworzenia botow IRCowych.

Dokumentacji do niego nie ma, ale mysle, ze poprzestudiowaniu plikow da sie zrozumiec jego dzialanie winksmiley.jpg

Framework wraz z zestawem podstawowych pluginow:
http://binarychoice.pl/_download/XBS.zip


Jeszcze dodam, ze skrypt wywoluje sie z przegladarki (plik XBS.php).
Aby skrypt dzialal po zamknieciu przegladarki nalezy odkomentowac 18 linie w pliku XBS.php
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-2024 Invision Power Services, Inc.