За последние 24 часа нас посетили 18720 программистов и 1661 робот. Сейчас ищут 948 программистов ...

Icq Bot

Тема в разделе "Прочие вопросы по PHP", создана пользователем ROZer, 29 ноя 2011.

  1. ROZer

    ROZer Активный пользователь

    С нами с:
    14 ноя 2010
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Тамбов
    PHP:
    1. <?php
    2.  
    3. // Данные ICQ
    4. $conf[ident]='me';  // identification
    5. $conf[uin]='';    // uin
    6. $conf[pass]='';    // password
    7.  
    8. require("mICQ.php");    // подключение класса
    9.  
    10.  
    11. $mlCQ = new mlCQ();
    12. $mlCQ->start_logging('summary.log'); // лог операций
    13.  
    14. // логин и пароль
    15. $mlCQ->create_identity($conf[ident], $conf[uin], $conf[pass]);
    16. $mlCQ->connect();      // подключение
    17. $mlCQ->login();        // авторизация
    18.  
    19. // выставление статуса бота
    20.  
    21. $status = "ONLINE";  // AWAY, DND, NA, OCCUPIED, FREE4CHAT, INVISIBLE  
    22.  
    23. $mlCQ->set_status($status, 'DCDISABLED');
    24. $mlCQ->request_offline_messages();
    25. $mlCQ->delete_offline_messages();
    26.  
    27. // отправка сообщения что бот запущен
    28. $mlCQ->send_message(123456789, "Бот успешно запущен");  // Uin, text
    29.  
    30. $still_there = true; $code = '';
    31. while ($still_there) {
    32.    if (!is_resource($mlCQ->sock) || feof($mlCQ->sock))
    33.        $still_there = false;
    34.    if (!$code) sleep(1);    // delay if no packet received last time
    35.    $code = $mlCQ->dance_for('me');
    36.    switch ($code) {
    37.        case 7:
    38.             $msg = $mlCQ->id['in_messages']['last'];
    39.             parse_msg($msg);
    40.            break;
    41.        case 8:
    42.             $msg = $mlCQ->id['in_messages']['last'];
    43.             parse_msg($msg);
    44.            break;
    45.        default:
    46.        // ...
    47.            break;
    48.    }
    49. }
    50.  
    51. function parse_msg($msg)
    52. {
    53. global $mlCQ;
    54.  
    55.       // Управление ботом (завершение работы)
    56.       if ($msg[uin]=='123456' && $msg[text]=='@close'){
    57.            $mlCQ->close();
    58.       }    
    59.  
    60.       // Информация о боте
    61.       elseif (eregi('!about',$msg[text])){
    62.            $mlCQ->send_message($msg[uin],"Развлекательный бот. UIN админа - 587286474.");
    63.       }
    64.  
    65.      
    66.       // Информация по коммандам
    67.       elseif (eregi('!help',$msg[text])){
    68.       $out="Справочник по коммандам:\n";
    69.       $out.="-----------------------------\n";
    70.              $out.="!about - информация о боте\n";
    71. $out.="!humor - анекдоты\n";       
    72. $out.="!citat - цитаты\n";     
    73. $out.="!spam - спамы";  
    74.              $mlCQ->send_message($msg[uin],$out);  
    75.       }
    76. // Информация о боте
    77.       elseif (eregi('!humor',$msg[text])){
    78.            $mlCQ->send_message($msg[uin],"$humor = file("humor.txt");
    79. echo $humor[shuffle($humor)];");
    80.       }
    81.  
    82.       // Сообщение выводимое по-умолчанию
    83.       else {
    84.              $out="Такой команды не существует, введить !help";
    85.              $mlCQ->send_message($msg[uin],$out);
    86.       }
    87.  
    88. }
    89.  
    90. ?>
    91.  
    Как сделать, чтобы в строчке 80 и 81, в боте выводился разный текст из файла? Если оставить этот код, то бот просто не включиться (и если поставить скобки).
     
  2. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    PHP:
    1. $mlCQ->send_message($msg[uin],"$humor = file("humor.txt");
    2. echo $humor[shuffle($humor)];");
    похоже там ошибка, нужно так:

    PHP:
    1.  
    2. $humor = file("humor.txt");
    3. $haha =  shuffle($humor);
    4. $mlCQ->send_message($msg[uin], $haha[0]);
    5.  
     
  3. ROZer

    ROZer Активный пользователь

    С нами с:
    14 ноя 2010
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Тамбов
    всеравно не работает(