Тема: Antichat ICQ BOT
Показать сообщение отдельно

  #17  
Старый 14.05.2007, 10:40
n3m0
Участник форума
Регистрация: 11.05.2007
Сообщений: 149
Провел на форуме:
6373157

Репутация: 247
По умолчанию

Ну а если допустим, команда с параметром .ping <server> , как считать параметр??
Я делал так(только ето на другом боте)
Код:
 
 $full = $cfg['msg']['message'];
$comm = "";
$mess = "";
for($i = 0; $i < strlen($full); $i++)
{
     $chr = $full[i];
     if ($chr == " ") $mess .= $chr;
     else $comm .= $chr;
}
Ну а потом я ставил уже свитч на $comm, но параметр, который записуется в $mess неотображается, почемуто пустой. Использую класс WebIcqLite

Кста, можна в твоего бота всунуть пинговалку, и другие утилиты(whois,tracerout)
Вот есть скриптики
Код:
Function whois ($a_server, $a_query="", $a_port=43) {
    $sock = fsockopen($a_server, $a_port, &$errno, &$errstr, 10);
    if (!$sock)
    {
        echo "$errstr ($errno)<BR>\n";
    } else {
        fputs($sock, "$a_query\r\n");
        while(!feof($sock))
        {
            $buf = fgets($sock,128);
            if (ereg( "Whois Server:", $buf))
            {
                $a_server = str_replace( "Whois Server: ",  "", $buf);
                $a_server = trim($a_server);
            }
        }
        fclose($sock);
        
        if ($a_server)
        {
            print "<B>$a_query is registered at $a_server:</B><BR>";
            $sock = fsockopen($a_server, 43, &$errno, &$errstr, 10);
            if(!$sock)
            {
                echo "Could not open connection to $a_server on port 
$a_port.\n";
                echo "$errstr ($errno)<BR>\n";
            } else {
                fputs($sock, "$a_query\r\n");
                while(!feof($sock))
                {
                   echo fgets($sock,128);
                }
                fclose($sock);
            }
        } else {
            echo "<b>$a_query was not found.</b><BR>";
        }
    }
}

Function traceroute ($a_query) {
    exec("traceroute $a_query",$ret_strs);
    $str_count = count($ret_strs);
    for ($count=0; $count < $str_count; $count++)
        print "$count/$str_count".$ret_strs[$count]."\n";
}