
14.05.2007, 10:40
|
|
Участник форума
Регистрация: 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";
}
|
|
|