YourICQ BOT

Discussion in 'PHP' started by NOmeR1, 1 Jun 2008.

  1. Nelzone

    Nelzone Banned

    Joined:
    12 Apr 2008
    Messages:
    177
    Likes Received:
    134
    Reputations:
    6
    Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/x/****.ru/WWW/bot/WebIcqPro.class.php on line 28
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,199
    Reputations:
    252
    Nelzone, что на строках 0 - 50 ?
     
  3. spamoney

    spamoney Elder - Старейшина

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Тоже делал бота на этом классе )

    Проблема скорее всего в версии php, попробуй поставить бота на хост с поддержкой php 5


    http://www.intrigue.ru/forum/index.php/topic,139.0.html

    PHP:
    case '!restart':
                    if(
    $msg['from'] == ADMINUIN)
                    {
                        
    $icq->sendMessage(ADMINUIN"Сервис ICQBot перезапускается...");
                        
    $icq->disconnect();
                        
    sleep(5); // Засыпаем на 5 секунд, чтобы тут же после дисконекта, не конектиться.
                        
    echo 'Запущено';
        
    $server 'www.example.com'// Путь до основного файла с ботом на сервере. Он же локальный.
    $getop 'bot.php';

    $fp fsockopen($server,80,$errno,$errstr,5);
    $out "GET /".$getop." HTTP/1.1\r\n";
    $out .= "Host: $server\r\n";
    $out .= "User-Agent: ICQBOT 1.0\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp$out);
                        exit();
                    }else{
                        
    $icq->sendMessage($msg['from'], "Доступ запрещен");
                    }
    На многие вопросы по классу уже даны ответы на форуме

    http://www.intrigue.ru/forum/index.php
     
    1 person likes this.
  4. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Добавил функцию перезапуска бота, за это спасибо spamoney. У кого уже бот установлен, можете просто обновить файл index.php.
     
  5. Stern

    Stern Elder - Старейшина

    Joined:
    13 Mar 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Хм...воспрос(косяк)...есть команда !анек...которая рандомно выводит из таблицы строчку...

    Так вот после 16 часов простоя, бот больше не отвечает на эту команду...
     
  6. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Всё тот же лимит коннекта с базой, о котором я говорил в первом посте.

    P.S. global $regs там не нужно.
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Работает великолепно.

    В будущих версиях хотелось бы видеть:
    1) Более прозрачное изменение имен таблиц
    2) Упрощение переноса с одного хостинга на другой
    3) Выполнение действий по времени (например отправка определенного сообщения на номер/группу номеров) без использования крона
     
    _________________________
    #67 Gifts, 11 Jun 2008
    Last edited: 11 Jun 2008
  8. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Да куда уж проще? Я восновном над упрощением добавления функций и работал.
    То есть?
    Могу сделать чтобы в определённое время выполнялась функция, только вот многим ли людям это будет нужно?
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Например если хостинг не свой, то приходится менять имена таблиц, ибо 'bot_config' - слишком заметно
    $config_table='bot_config';
    $log_table='bot_log'; и т.д. Мелочь, а приятно.

    Сервис напоминаний. Проверка файлов на сервере на шелы. Своеобразный крон с функцией оповещения по аське.
     
    _________________________
  10. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Команда любая
    Переменные оставь пустыми
    Функция
    Code:
    return 'Text';
    У меня там есть несколько стандартных команд - мог бы понять, как добавить функцию. Возьми хоть обычную команду "help".

    А вообще - выучи PHP и не парься)
     
    #70 NOmeR1, 12 Jun 2008
    Last edited: 12 Jun 2008
  11. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    380
    Likes Received:
    45
    Reputations:
    10
    опасно.... Да и зачем? типа добавить анекдот... что бы люди сами смогли добавлять... а если кто нибудь твоего бота завалит рекламой?! проверку делать надо..... не очень задумка, хотя реализовать можно...
     
  12. Stingers

    Stingers Elder - Старейшина

    Joined:
    28 Aug 2007
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    гы как убрать?
    Команды:
    !cy "http://www.antichat.ru/" <- узнать тИЦ сайта
    !pr "http://www.antichat.ru/" <- узнать PageRank сайта
    ссылку на античат
     
  13. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    В управление функциями заходил?
     
  14. VILLMD

    VILLMD New Member

    Joined:
    22 May 2008
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Вот мож кому пригодится, вытаскивает top15 из базы psychostats'а (веб стата для cs сервера)

    PHP:
    <?

    $db "psychostats"
    $user ""
    $pass ""
    $server "localhost";


    $link mysql_connect($server$user$pass) or die("неудалось установить соединение с сервером: " mysql_error()); 

    mysql_select_db($db$link) or die ('Неудалдось соединиться с $db : ' mysql_error());  
      
    $topkill "SELECT `plrid`, `skill` FROM `ps_plr` ORDER BY `skill` DESC LIMIT 15";    // Вытаскиваем plrid    
    $res_inf mysql_query($topkill) or die("Invalid query1: " mysql_error());

    while (
    $row mysql_fetch_array($res_infMYSQL_NUM)) {
        
    $n++; 
        
    $id "$row[0]"//plrid  
        
    $username "SELECT `plrid` , `name`, `totaluses` FROM `ps_plr_ids` WHERE `plrid` = $id ORDER BY `totaluses` DESC LIMIT 15"//Вытаскиваем ник по полученному plrid 
          
    $res_name mysql_query($username) or die("Invalid query2: " mysql_error()); 
        
    $rown mysql_fetch_array($res_nameMYSQL_NUM) ;
    $bb[$n] = "$n$rown[1] \n";     


    $top $bb[1] $bb[2] $bb[3] $bb[4] $bb[5] $bb[6] $bb[7] $bb[8] $bb[9] $bb[10] $bb[11] $bb[12] $bb[13] $bb[14] $bb[15]";
    return 
    $top;

    ?>
     
    #74 VILLMD, 14 Jun 2008
    Last edited: 14 Jun 2008
    1 person likes this.
  15. asser

    asser Elder - Старейшина

    Joined:
    25 Jan 2008
    Messages:
    31
    Likes Received:
    5
    Reputations:
    0
    Отлично, спасибо тебе. Былобы здорово добавить возможность подключать несколько ботов одновременно. Кста, а когда новая версия ожидается?
     
  16. asser

    asser Elder - Старейшина

    Joined:
    25 Jan 2008
    Messages:
    31
    Likes Received:
    5
    Reputations:
    0
    После закрытия http://bot.***.ru/index.php - бот уходит в оффлайн. Можно ли как-нить от этого избавиться???
     
  17. Neorin

    Neorin Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    48
    Likes Received:
    15
    Reputations:
    0
    можете подсказать как поменять кодировку, а то у меня в логах и в командах если на русском ??, и в функции!!! вместо русских букв пишет ?????????????
    в чем проблема я так понимаю в кодировке, как изменить ее!?
     
  18. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Обновил бота. Исправлены глюки с кодировкой.

    Значит ignore_user_abort не работает. Попроси хостера врубить функцию (либо отрубить ограничение).
    Скачай обновление.
     
  19. Neorin

    Neorin Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    48
    Likes Received:
    15
    Reputations:
    0
    что за обновление?
     
  20. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Просто заново скачай и установи, я ссылки обновил.