İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

PHP ile IRC sunucusu kanal listesi

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
Evet arkadaşlar belki lazım olan olacaktır bana lazım oldu ve böyle bir şey çıkardım ortaya..

Bu bir bot ve sunucuya baglaniyor kendisini tanıtıp list komutunu gönderiyor daha sonra gelen veriler arasında "#kanal" olan bölümü ayıklayıp kanallar.txt adında bir dosya oluşturup kaydediyor.

Bu işlem sadece 60 saniye sürüyor. safe mod on ve limit suresi 30 saniye ise hata verebilir ama o 30 saniye içerisinde kanallar.txt yi oluşturabilir.

PHP:
<?
  class CN_Bot
      {

      var $localhost;
      var $remotehost;
      var $port;
      var $timeout;
      var $channel;
      var $nick;
      var $closecode;
      var $logfile;
      var $yonetim;
      var $liste;
      var $server;
      var $log;

      function CN_Bot()
         {
         define(n, "\n");

         $this->localhost  = 'adsluser-2866.adsl.ttnet.net.tr';
         $this->remotehost = 'irc.ttnet.net.tr';
         $this->port       = 6667;
         $this->timeout    = 0;
         $this->channel    = 'coders';
         $this->nick       = 'PHPBot';
         $this->closecode  = 'byebye';
         $this->liste      = 'kanallar.txt';
         }

      function Connect()
         {
         set_time_limit($this->timeout);


         $this->server = fsockopen ($this->remotehost, $this->port, $hatano, $hatastr, $this->timeout) or
                         die('Sunucuya Bağlanamadı');

         $this->logliste    = fopen ($this->liste, 'w+') or
                               die('Dosya Yaratılamadı');

         fputs($this->server, 'NICK '.$this->nick.n);
         fputs($this->server, 'USER '.$this->nick.' '.$this->localhost.' '.$this->remotehost.' :'.$this->nick.n);
         fputs($this->server, 'IDENTIFY şifre'.n);
         return;
         }

      function Run()
         {
         $this->Connect();

         while (!feof($this->server))
            {

            $data = fgets ($this->server,1024);
            if(preg_match("'PING(.*?)'si", $data, $set))
            fputs($this->server,'PONG '.trim($set[1]).n);

            fputs($this->server, 'LIST'.n);
            for ($i=1; $i!=0; $i++) {
                        $tut=fgets($this->server, 1024);
                        if ($tut == lisanssız) {
                        exit();
                        } else {
                         if (strstr($tut, "322")!=lisanssız) {
                        preg_match("|#(.*?)[^a-z]|",$tut,$yaz);
                        fputs($this->logliste, '#'.$tut.n);
                        }
                        }
                        }

            }
         fclose($this->server);
         fclose($this->logliste);
         }
      }

 $CN_Bot = new CN_Bot();
 $CN_Bot->Run();
?>
 

Linux

0
İyinet Üyesi
Onaylı Üye
Katılım
30 Eylül 2006
Mesajlar
19
Reaction score
4
Konum
IstanbuL/Avr
alla alla neden yapamadım ? :(
biraz daha acıklarsanız yapabileceğim
Böyle bir Sonuc aldim

Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/guzel/public_html/selam.php on line 37

Warning: fsockopen(): unable to connect to irc.sohbetdesin.com:6667 in /home/guzel/public_html/selam.php on line 37
Sunucuya Bağlanamadı
 

Linux

0
İyinet Üyesi
Onaylı Üye
Katılım
30 Eylül 2006
Mesajlar
19
Reaction score
4
Konum
IstanbuL/Avr
bunu biriniz benim için düzenleyebilirmi ? Rica etsem irc.sohbetdesin.com port : 6667
Kanal : Turkiye Olsun

ben hala cakamadım
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
Kullanılan sunucu: irc.ttnet.net.tr
Çalıştırılan kod:
PHP:
<?
  class CN_Bot
      {

      var $localhost;
      var $remotehost;
      var $port;
      var $timeout;
      var $channel;
      var $nick;
      var $closecode;
      var $logfile;
      var $yonetim;
      var $liste;
      var $server;
      var $log;

      function CN_Bot()
         {
         define(n, "\n");

         $this->localhost  = 'adsluser-2866.adsl.ttnet.net.tr';
         $this->remotehost = 'irc.ttnet.net.tr';
         $this->port       = 6667;
         $this->timeout    = 0;
         $this->channel    = 'coders';
         $this->nick       = 'PHPBot';
         $this->closecode  = 'byebye';
         $this->liste      = 'kanallar.txt';
         }

      function Connect()
         {
         set_time_limit($this->timeout);


         $this->server = fsockopen ($this->remotehost, $this->port, $hatano, $hatastr, $this->timeout) or
                         die('Sunucuya Bağlanamadı');

         $this->logliste    = fopen ($this->liste, 'w+') or
                               die('Dosya Yaratılamadı');

         fputs($this->server, 'NICK '.$this->nick.n);
         fputs($this->server, 'USER '.$this->nick.' '.$this->localhost.' '.$this->remotehost.' :'.$this->nick.n);
         fputs($this->server, 'IDENTIFY ******'.n);
         return;
         }

      function Run()
         {
         $this->Connect();

         while (!feof($this->server))
            {

            $data = fgets ($this->server,1024);
            if(preg_match("'PING(.*?)'si", $data, $set))
            fputs($this->server,'PONG '.trim($set[1]).n);

            fputs($this->server, 'LIST'.n);
            for ($i=1; $i!=0; $i++) {
                        $tut=fgets($this->server, 1024);
                        if ($tut == lisanssız) {
                        exit();
                        } else {
                         if (strstr($tut, "322")!=lisanssız) {
                        preg_match("|#(.*?)[^a-z]|",$tut,$yaz);
                        fputs($this->logliste, '#'.$yaz[1].n);
                        }
                        }
                        }

            }
         fclose($this->server);
         fclose($this->logliste);
         }
      }

 $CN_Bot = new CN_Bot();
 $CN_Bot->Run();
?>

Çıktı:
kanallar.txt
http://www.penguenler.org/kanallar.txt

Dipnot: localhost'unuz da deneyin ilk once.
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
bunu biriniz benim için düzenleyebilirmi ? Rica etsem irc.sohbetdesin.com port : 6667
Kanal : Turkiye Olsun

ben hala cakamadım

Sunucuna ben bile baglanamıyor botun baglanamaması normaldir.
* Connecting to irc.sohbetdesin.com (6667)
-
-iRc.Sohbetdesin.com- Hostname lookups disabled. Using your IP (81.214.149.216) instead.
-
* Disconnected
-
* Connect retry #1 irc.sohbetdesin.com (6667)
-
-iRc.Sohbetdesin.com- Hostname lookups disabled. Using your IP (81.214.149.216) instead.
-
* Disconnected
-
* Connect retry #2 irc.sohbetdesin.com (6667)
-
-iRc.Sohbetdesin.com- Hostname lookups disabled. Using your IP (81.214.149.216) instead.
-
 

Nescafe

0
İyinet Üyesi
Katılım
24 Eylül 2006
Mesajlar
82
Reaction score
0
Ident olayı nasıl eklenir peki bu koda Ceasar.
Yani, benim serverim xxxx.com. Ve ident, xxxx olmadan, servera girilmiyor. Dolayısıyla bu bot'da baglanamıyor. Nasıl hallederiz acaba ?
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
irc girişleri kapalı ise tabi girmez bot nasıl girecek?
 

Nescafe

0
İyinet Üyesi
Katılım
24 Eylül 2006
Mesajlar
82
Reaction score
0
Ceasar, tsk ederim kod icin.
Ident kısıtlaması var. Onun dısında Mirc girisi acık.
Yani botun sabit bir identi olmasını istiyorum. Bunu nasıl yapabiliriz acaba ?
 

GaLadRe

0
İyinet Üyesi
Katılım
21 Haziran 2006
Mesajlar
784
Reaction score
0
Caesar web girişi için yapacağın apletten haber varmı ? Bağlanırken girilen portu göstermeyen bir aplet bekliyoruz senden . Yada ircteki giriş kodunu webden otomatik okuyup usere sormayan (mümkünmü bilmiyorum)
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
Ceasar, tsk ederim kod icin.
Ident kısıtlaması var. Onun dısında Mirc girisi acık.
Yani botun sabit bir identi olmasını istiyorum. Bunu nasıl yapabiliriz acaba ?
ident ve fullname kısmını nick'i ile aynı girmekte şu an. o şekilde kullanabilirsin yada bu aksam bir daha gözden geçirip manuel hale getiriyim.

Caesar web girişi için yapacağın apletten haber varmı ? Bağlanırken girilen portu göstermeyen bir aplet bekliyoruz senden . Yada ircteki giriş kodunu webden otomatik okuyup usere sormayan (mümkünmü bilmiyorum)

evet böyle bir projem var di ttnet için yapıp herkese açmayı düşünüyordum ama şu an işlerin yoğunluğu nedeni ile vakit ayıramıyorum.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst