<?
class CN_Bot
{
var $localhost;
var $remotehost;
var $port;
var $timeout;
var $channel;
var $nick;
var $closecode;
var $logfile;
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 = 'zurna';
$this->nick = 'PHPBot';
$this->closecode = 'byebye';
$this->logfile = 'log.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->log = fopen ($this->logfile, '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);
fputs($this->server, 'JOIN #'.$this->channel.n);
fputs($this->server, 'PRIVMSG #'.$this->channel.' :PHPbot v1.0... loading...'.n);
fputs($this->server, 'PRIVMSG #'.$this->channel.' :i am back'.n);
return;
}
function op_ver($nick) {
fputs($this->server, 'MODE #'.$this->channel.' +o $nick'.n);
}
function Disconnect($nick)
{
if ($nick=="Caesar") {
fclose($this->server);
fclose($this->log);
exit;
} else {
fputs($this->server, 'PRIVMSG #'.$this->channel.' :yava$ ol yava$'.n);
}
return;
}
function PrivMsg($nick,$cmd,$arg)
{
if($cmd[1] == '#'.$this->channel)
fputs($this->log, '<'.date("H:i").' '.$nick.'> '.$arg.n);
if(preg_match("'(.*?)'U",$arg,$set))
{
switch($set[1])
{
case substr($set[1],0,5)=='selam': fputs($this->server, 'PRIVMSG #'.$this->channel.' :sanada selam '.$nick.' nasılsın?'.n); break;
}
}
return;
}
function TaskMsg($nick,$mesaj)
{
$ymesaj=substr($mesaj,6,10000);
$link=ereg_replace(' ','+',$ymesaj);
$alink=trim($link);
$oku=fopen("http://localhost/irc/sql.php?query=$alink","r");
$yaz=fgets($oku);
fputs($this->server, 'PRIVMSG #'.$this->channel.' :'.$ymesaj.'-> '.$yaz.n);
}
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);
if(preg_match("':(.*?)!([^\s]*?)\s(.*?)\s:(.*?)'U", $data, $set))
{
$nick = trim($set[1]);
$host = trim($set[2]);
$cmd = explode(" ",trim($set[3]));
$arg = trim($set[4]);
switch($cmd[0])
{
case "PRIVMSG": $this->PrivMsg($nick,$cmd,$arg); break;
case "PART": break;
case "JOIN": break;
case "NICK": break;
case "QUIT": break;
}
}
}
}
}
$CN_Bot = new CN_Bot();
$CN_Bot->Run();
?>