Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Нужна помощь с php icq ботом.... |

05.03.2008, 19:26
|
|
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме: 268754
Репутация:
13
|
|
Нужна помощь с 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..
|
|
|

05.03.2008, 19:43
|
|
Moderator - Level 7
Регистрация: 24.02.2006
Сообщений: 447
Провел на форуме: 2872049
Репутация:
705
|
|
тебе нужно сюда http://kanicq.ru/invisible/ и с него парсить
PHP код:
if (!$fp = fsockopen("kanicq.ru", 80, $errno, $errstr, 30)) {$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($fp, 4096);
fclose($fp);
$temp = implode(" ", explode(chr(13).chr(10), $temp));
$temp = substr($temp, strpos($temp, "<div id=\"info\">"));
$temp = substr($temp, 0, strpos($temp, "</b>"));
$temp = trim(substr($temp, strrpos($temp, ">")+1));
$uin = $temp;
$uin = '<b><font color=#FFFFFF size=1>Uin '.$aFormValues['inv'].'</b> is <img src="img/'.$uin.'.gif" width="" height="" alt="Uin" border=0> '.$uin.'<br></font>';
это только для ознакомления, на форуме есть еще с использование прокс, в полезных скриптах посмотри. Изменишь имена переменных на свои и юзай.
зы Isus еще одну букву изменить и будет комп. фирма)
|
|
|

05.03.2008, 20:27
|
|
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме: 268754
Репутация:
13
|
|
У меня есть скриптик как раз....я его чу чуть переделал...и вот чё вышло....
Код 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> <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;
}
}
блин....если честно то чета я в этом боте нииифига не фкуриваю О_О
|
|
|

08.03.2008, 01:20
|
|
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме: 268754
Репутация:
13
|
|
Люююди ниид хелп....плисс...
|
|
|

08.03.2008, 01:26
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Если ответишь мне на вопрос: " Зачем юзать бота, если можно проверять на сайте, не заходя в Icq? Какие приемущества у бота?", то помогу (может чуть позже).
P.S. Ответ типа "просто хочу" или "друг попросил" не принимаются.

|
|
|

08.03.2008, 05:30
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
NOmeR1, для чего вообще эта функция нужна даже на сайте - хз..
А так вдруг на мобе пишешь с аськи...там че-нить лала.. ну вообщем =\
|
|
|

08.03.2008, 15:38
|
|
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме: 268754
Репутация:
13
|
|
Isis прав..."А так вдруг на мобе пишешь с аськи..." гараздо удобней....чем выходить из аси....лезть в оперу-мини...там смотреть потом обратно...да и трафик экономится.. 
Последний раз редактировалось Stern; 08.03.2008 в 16:38..
Причина: Ник подправил ;Р
|
|
|

08.03.2008, 16:10
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Пиши его ник нормально)
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, $errstr, 30);
$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($fp, 128);
}
preg_match('~"> ([^<]+)</~', $result, $status);
$send .= $xek.';'.$status[1]."\n";
} else {
continue;
}
}
}
Попробуй так.
Можно писать номера через пробел.
For example: !invis 22222208 55555
P.S. Надо было честно ответить: хочу выглядеть крутым перед кем-нибудь.
Последний раз редактировалось NOmeR1; 08.03.2008 в 16:32..
|
|
|

08.03.2008, 16:43
|
|
Познающий
Регистрация: 13.03.2007
Сообщений: 75
Провел на форуме: 268754
Репутация:
13
|
|
Спасибо огромное!!!!
зы. Про ответ...честно, хотел понять как это делать что бы потом еще на этом примере сделать пару функций...и бот этот только для личного использования.....)
|
|
|

08.03.2008, 16:45
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
На канике бан ип через несколько запросов на несколько часов
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|