Code/PHP

IRC BOT_RIONA(PHP버젼)의 베이스 코드...

알 수 없는 사용자 2007. 4. 12. 17:56

/ 기본적인 설정 값
$config[server]="irc.hanirc.org";
$config[port]  ="6667";
$config[nickname]="Rinoa";
$config[alternative]="Yuna";
$config[ident]="PHPBOT";
$config[name]="PHPBOT";
$config[channel]="#newbcode";
$config[server_ip]="211.119.136.240";

// 부가기능 설정 값
$config[rejoin]="on";

// 추가라이브러리
include("lib/function.php");

set_time_limit(0);

$fp=fsockopen($config[server], $config[port], $errno, $errmsg, 30);

$log_fp=fopen("log.txt","w");

if(!$fp){
    echo "Sorry... Can't Connect a Server(".$errno.":".$errmsg.")\n";
} else {
    fputs($fp, "NICK ".$config[nickname]."\n");
    fputs($fp, "USER ".$config[ident]." \"\" \"".$config[server]."\" :".$config[name]."\n");

    $botnick = $config[nickname];

    while(1){
        $_tmp = fread($fp,1);
        $_msg .= $_tmp;

        if($_tmp == "\n"){
            $_split=split(" ",$_msg,4);
           
            if($_split[0] == "PING") fputs($fp,"PONG ".$_split[1]); //PING 확인이 날라오면 PONG 으로 대답

            preg_match("/^\:(.*)!(.*)/i",$_split[0],$_tmp); //사용자의 닉네임과 ident를 가져옴
            $nick=$_tmp[1];
            $ident=$_tmp[2];

            echo $_msg;
            fwrite($log_fp,$_msg);