ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Нужна помощь с php icq ботом....
  #1  
Старый 05.03.2008, 19:26
Аватар для Stern
Stern
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме:
268754

Репутация: 13
Question Нужна помощь с 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 догадается че за бот-то Спасибо тебе огромное за него... :-) и еще..вопрос...на какой классе он построен?!

Последний раз редактировалось Stern; 05.03.2008 в 19:35..
 
Ответить с цитированием

  #2  
Старый 05.03.2008, 19:43
Аватар для gibson
gibson
Moderator - Level 7
Регистрация: 24.02.2006
Сообщений: 447
Провел на форуме:
2872049

Репутация: 705
Отправить сообщение для gibson с помощью ICQ
По умолчанию

тебе нужно сюда 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 еще одну букву изменить и будет комп. фирма)
 
Ответить с цитированием

  #3  
Старый 05.03.2008, 20:27
Аватар для Stern
Stern
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме:
268754

Репутация: 13
Thumbs down

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

Код 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;
                 }
              } 
блин....если честно то чета я в этом боте нииифига не фкуриваю О_О
 
Ответить с цитированием

  #4  
Старый 08.03.2008, 01:20
Аватар для Stern
Stern
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме:
268754

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

Люююди ниид хелп....плисс...
 
Ответить с цитированием

  #5  
Старый 08.03.2008, 01:26
Аватар для NOmeR1
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

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

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

 
Ответить с цитированием

  #6  
Старый 08.03.2008, 05:30
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

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

  #7  
Старый 08.03.2008, 15:38
Аватар для Stern
Stern
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме:
268754

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

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

Последний раз редактировалось Stern; 08.03.2008 в 16:38.. Причина: Ник подправил ;Р
 
Ответить с цитированием

  #8  
Старый 08.03.2008, 16:10
Аватар для NOmeR1
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

Пиши его ник нормально)
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. Надо было честно ответить: хочу выглядеть крутым перед кем-нибудь.

Последний раз редактировалось NOmeR1; 08.03.2008 в 16:32..
 
Ответить с цитированием

  #9  
Старый 08.03.2008, 16:43
Аватар для Stern
Stern
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме:
268754

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

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

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

  #10  
Старый 08.03.2008, 16:45
Аватар для Isis
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме:
16641028

Репутация: 2371


По умолчанию

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ