Робот для чата

Discussion in 'PHP' started by Лео, 2 Jun 2007.

  1. Лео

    Лео New Member

    Joined:
    24 Feb 2007
    Messages:
    16
    Likes Received:
    3
    Reputations:
    0
    Не единожды видел робота в чатах, которые реагируют на сообщения пользователей и предразнивают их, или просто даже вступают в беседы, как его реализовать, если кто может, помогите если не кодом, то хотябы алгоритмом.

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

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

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    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 ))

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

    Лео New Member

    Joined:
    24 Feb 2007
    Messages:
    16
    Likes Received:
    3
    Reputations:
    0
    спасибо попробую разобраться
     
  4. vizard-06

    vizard-06 Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    55
    Likes Received:
    8
    Reputations:
    0
    set_time_limit поддержуется на хосте но бота выкидует через некоторое время из чата! .......подскажите что может быть???