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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Робот для чата (https://forum.antichat.xyz/showthread.php?t=41418)

Лео 02.06.2007 19:07

Робот для чата
 
Не единожды видел робота в чатах, которые реагируют на сообщения пользователей и предразнивают их, или просто даже вступают в беседы, как его реализовать, если кто может, помогите если не кодом, то хотябы алгоритмом.

Если возникает вопрос какой движек у чата, чата вот: http://umnyichat.chatz.ru/

Очень благодарен, если кто поможет. Кстати а может ктото подскажет где можно взять уже готового. Хочется чат оживить как то

blackybr 03.06.2007 08:52

PHP код:

<?   
//должен висеть постоянно в чате
set_time_limit(0);
   
//переменные логина.. ну здесь сам заменишь.. думаю не трудно
if (isset($_POST['name']) && isset($_POST['pass']))   
{   

 
$nick   $_POST['name'];   
 
$pass   $_POST['pass'];   

// открываем соединение, серв опять же сам поставишь =)
 
$fsock  fsockopen("localhost.com",80,$errnum,$errstr,);   
 if (!
$fsock) die ($errstr);   
 else   
 {   
//реквест на получение инфы от серва (формируем)
  
$request  "GET /index.phpHTTP/1.1\r\n";   
  
$request .= "Host: localhost.com\r\n";   
  
$request .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n";   
  
$request .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,**;q=0.5\r\n";   
   
$frequest .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";   
   
$frequest .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";   
   
$frequest .= "Keep-Alive: 300\r\n";   
   
$frequest .= "Connection: keep-alive\r\n";   
   
$frequest .= "Referer: http://localhost.com\r\n";   
   
$frequest .= "Cookie: /*тут кукисы*/\r\n";   
   
$frequest .= "Content-Type: application/x-www-form-urlencoded\r\n";   
   
$frequest .= "Content-Length: ".strlen($params)."\r\n\r\n";   
   
$frequest .= $params;   
   
//отсылаем его  
   
fwrite    $fsock,$frequest );    
   
# принимаем ответ   
   
while (!feof($fsock))  $fresponce .= fread($fsock,1024) ;   
  }   
 }   

?>

вот и бот уже в онлайне.. главное чтобы на хостинге в сейф моде не была запрещена set_time_limit ))

Ответ бота делается еще проще - парсится какое то поле.. где выводится текст юзеров.. и если например в нем присутсвует имя бота (то есть обращение к нему).. то бот что-то отвечает.. ну или по-другому, смотря что тебе надо =)

Лео 04.06.2007 14:18

спасибо попробую разобраться

vizard-06 08.06.2007 10:15

set_time_limit поддержуется на хосте но бота выкидует через некоторое время из чата! .......подскажите что может быть???


Время: 11:06