Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Нужна помощь с php icq ботом.... (https://forum.antichat.xyz/showthread.php?t=63495)

Stern 05.03.2008 19:26

Нужна помощь с php icq ботом....
 
Помогите чайнику плиииз:) Ток изучаю пхп самые основы...так что сильно не бейте...

Собственно вопрос в след...есть страничка на которой есть поле для ввода... вида...
PHP код:

<input type="text" name="uin"><br><input type="submit" value="Проверить"

В нее вводится UIN затем жмем кнопоку...и выдается результат в виде UIN:STATUS

Требуется что-бы бот icq на команду(пример) !уин 123456 посылал запрос...и в ответ присылал UIN:STATUS
Как реализовать вывод того что есть я примерно знаю....
PHP код:

$uin file_get_contents('http://www.google.ru/search?hl=ru&q=');
if(
preg_match("#<b>(.*)</b>#"$calc$find))
 {  
$send .= $find[0];


Тут он будет выдирать все что между тегом <b>...</b>

Так вот собственно вопрос...как сделать чтобы он еще пихал в поле запроса текст....и жал кнопку :-D



ps. Вот пример команды из бота....
PHP код:

// !считай  
                    
else if (preg_match("#^!считай#"$msg_text)) 
                     
{                           
preg_match("#\s+(.+)#"$msg_text$msg);      
                     
if(!empty(
$msg[0]))                       
    {                            
    
$msg[1] = str_replace("+","%2B",$msg[1]);      
                          
$msg[1] = 
str_replace("'","",$msg[1]);                  
              
$msg[1] = 
str_replace("\"","",$msg[1]);                  
              
$calc file_get_contents('http://
www.google.ru/search?hl=ru&q='
.$msg[1]);          
                      
if(
preg_match("#<b>(.*)</b></h2>#"$calc$find))  
                              {  
                              
    
$send .= $find[0];                  
            }                  
              else                  
              {                  
                  
$send 'Пусто О_О';;  
                            }  
                         }      
                     else          
                 {              
                 
$send 'Косяк ^_^';      
                     }          
            } 

Эт калькулятор на боте такой.))) использует сервис гугля.)))


pss. думаю Isus догадается че за бот-то :) Спасибо тебе огромное за него... :-) и еще..вопрос...на какой классе он построен?!

gibson 05.03.2008 19:43

тебе нужно сюда http://kanicq.ru/invisible/ и с него парсить

PHP код:


    
if (!$fp fsockopen("kanicq.ru"80$errno$errstr30))  {$uin 'Connection problem';}
    else {
        
$post "uin=".$uin;
        
$out "POST /invisible/?method=2 HTTP/1.0\r\n".
        
"Accept: */*\r\n".
        
"User-Agent: Miranda IM Invisible-Check Plugin Bot 0.2\r\n".
        
"Host: kanicq.ru\r\n".
        
"Content-Type: application/x-www-form-urlencoded\r\n".
        
"Content-Length: ".strlen($post)."\r\n".
        
"Cache-Control: no-cache\r\n".
        
"Connection: Close\r\n\r\n".
        
$post;

        
fwrite($fp$out);
        while (!
feof($fp)) $temp .= fgets($fp4096);
        
fclose($fp);

       
$temp implode(" "explode(chr(13).chr(10), $temp));
    
$temp substr($tempstrpos($temp"<div id=\"info\">"));
    
$temp substr($temp0strpos($temp"</b>"));
    
$temp trim(substr($tempstrrpos($temp">")+1));
    
$uin $temp;
    
$uin '<b><font color=#FFFFFF size=1>Uin&nbsp;'.$aFormValues['inv'].'</b>&nbsp;is&nbsp;<img src="img/'.$uin.'.gif" width="" height="" alt="Uin" border=0>&nbsp;'.$uin.'<br></font>'

это только для ознакомления, на форуме есть еще с использование прокс, в полезных скриптах посмотри. Изменишь имена переменных на свои и юзай.


зы Isus еще одну букву изменить и будет комп. фирма)

Stern 05.03.2008 20:27

У меня есть скриптик как раз....я его чу чуть переделал...и вот чё вышло....

Код HTML:

<html>
<head>
<title>CHECKER</title>
<meta http-equiv="Content-Type" content="text/html; charset=cp2151">
<body bgcolor="#000000" text="#ffffff">
<center><table border="0"><tr><td><center><font color="green"><b>| Введите UIN |</b></font></center></td></tr>
<tr><td><form action="<? $PHP_SELF ?>" method="post">
<font color=\"green\"><b>UIN:</b></font> <input  type="text" name="uin"></td></tr><tr><td><center><input type="submit" value="Проверить"></center></td></tr></table>


<?php
$new=$_POST['uin']; // номер 
 
$cr=curl_init("http://webwarper.net/ww/~av/kanicq.ru/invisible/?method=2");
  curl_setopt($cr, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
  curl_setopt($cr, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
  curl_setopt($cr, CURLOPT_TIMEOUT, 20);
  curl_setopt($cr, CURLOPT_HEADER, 1);
  curl_setopt($cr, CURLOPT_POSTFIELDS, "human=1&uin=$new&youwereadded=on&uin4login=&password4login=");
  curl_setopt($cr, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($cr, CURLOPT_REFERER, "http://icq-online.ru");
  $r = curl_exec($cr);
  curl_close($cr); 
$s = "echo '$r'";

if ( preg_match ("/Free for chat/i" , "$s")) { $status = "Готов к общению"; } 
elseif ( preg_match ("/Online/i"  ,"$s")) { $status = "Онлайн"; } 
elseif ( preg_match ("/Away/i" , "$s")) { $status = "Отошел"; } 
elseif ( preg_match ("/N\/A/i" , "$s")) { $status = "Недоступен"; } 
elseif ( preg_match ("/Occupied/i" , "$s")) { $status = "Занят"; } 
elseif ( preg_match ("/DND/i" , "$s")) { $status = "Не беспокоить"; }
elseif ( preg_match ("/offline/i" , "$s")) { $status = "Оффлайн"; }
elseif ( preg_match ("/status\/invisible/i" , "$s")) { $status = "Невидимый"; } 
else { $status = "Неизвестно"; }

echo "<font color=\"green\"><b>UIN:</b></font><font color=\"red\"> $new</font>&nbsp;&nbsp;<font color=\"green\"><b>Статус:</b></font><font color=\"red\"> $status</font>";

?>

</td></tr></table></center>
</body>
</head>
</html>

Получается мой искрипт для бота будет выглядеть как...

PHP код:

// !инвиз  
                    
else if (preg_match("#^!инвиз#"$msg_text))  
                    {
                       
preg_match("#\s+(.+)#"$msg_text$uin);
                     if(!empty(
$msg[0]))
                        {

////////////тут код О_О ?!//////////////////////



                
{
                   
$send .= $uin;
                 }
              } 

блин....если честно то чета я в этом боте нииифига не фкуриваю О_О

Stern 08.03.2008 01:20

Люююди ниид хелп....плисс...

NOmeR1 08.03.2008 01:26

Если ответишь мне на вопрос: "Зачем юзать бота, если можно проверять на сайте, не заходя в Icq? Какие приемущества у бота?", то помогу (может чуть позже).

P.S. Ответ типа "просто хочу" или "друг попросил" не принимаются.

:)

Isis 08.03.2008 05:30

NOmeR1, для чего вообще эта функция нужна даже на сайте - хз..
А так вдруг на мобе пишешь с аськи...там че-нить лала.. ну вообщем =\

Stern 08.03.2008 15:38

Isis прав..."А так вдруг на мобе пишешь с аськи..." гараздо удобней....чем выходить из аси....лезть в оперу-мини...там смотреть потом обратно...да и трафик экономится.. :)

NOmeR1 08.03.2008 16:10

Пиши его ник нормально)
PHP код:

else if(preg_match('~^!invis~'$msg_text)) {
    
preg_match('~\s+([0-9-]+)~'$msg_text$icq);
    foreach(
$icq as $i => $xek) {
        
$xek str_replace('-'NULL$xek);
        if(
$i != 0) {
            
$fp fsockopen("kanicq.ru"80$errno$errstr30);
            
$query 'human=1&uin='.$xek.'&uin4login=&password4login=';
            
$out  "POST /invisible/?method=2 HTTP/1.1\r\n";
            
$out .= "Host: kanicq.ru\r\n";
            
$out .= "Referer: http://kanicq.ru/invisible/?method=2\r\n";
            
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
            
$out .= "Content-length: ".strlen($query)."\r\n\r\n";
            
$out .= $query;
            
fwrite($fp$out);
            
$result '';
            while (!
feof($fp)) {
                
$result .= fgets($fp128);
            }
            
preg_match('~"> ([^<]+)</~'$result$status);
            
$send .= $xek.';'.$status[1]."\n";
        } else {
            continue;
        }
    }
 } 

Попробуй так.

Можно писать номера через пробел.
For example: !invis 22222208 55555

P.S. Надо было честно ответить: хочу выглядеть крутым перед кем-нибудь.

Stern 08.03.2008 16:43

Спасибо огромное!!!!

зы. Про ответ...честно, хотел понять как это делать что бы потом еще на этом примере сделать пару функций...и бот этот только для личного использования.....)

Isis 08.03.2008 16:45

На канике бан ип через несколько запросов на несколько часов


Время: 17:37