YourICQ BOT

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

  1. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Хостинг нормальный купи.....
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    У мну фришный хостинг.
     
  3. HawkDoom

    HawkDoom New Member

    Joined:
    3 Aug 2008
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    Написал функцию сонника. переменная $string? команду сами придумаете, код:
    PHP:
    $string =  convert_cyr_string($string,"w","k");// Убираем проблему с кодировкой
    $fp fsockopen('www.marry.ru',80); // Коннект
    // формируем запрос
    $query 'rule=exact&what='.urlencode($string);
    $headers = array(
    'POST /secret/sonnik.php HTTP/1.0',
    'Host: www.marry.ru',
    'Referer: http://www.marry.ru/secret/sonnik.php',
    'Content-Type: application/x-www-form-urlencoded',
    'Content-Length: '.strlen($query),
    "\r\n"
    );

    fputs($fpimplode("\r\n"$headers).$query);// Post запрос
    $text "";   // объявляем переменную
    while(!feof($fp))
        {
            
    $text.= fgets($fp);
        }
    $text convert_cyr_string($text,"k","w");// Убираем проблему с кодировкой
    // Ищем ID к слову
    $regex '/wid=(.*)"/';// правило сортировки
    preg_match_all($regex$text$out); //сортируем
    $id_link $out[1][0]; // присваиваем ID  переменной
    fclose($fp);
    ########################################################################
    $fp fsockopen('www.marry.ru'80); // Коннект
    $headers = array(
    "GET /secret/sonnik.php?wid=".$id_link." HTTP/1.0",
    'Host: www.marry.ru',
    "\r\n"
    );
    fputs($fp,implode("\r\n"$headers));// GET запрос
    $text "";
    while(!
    feof($fp))
    {
        
    $text.= fgets($fp);
    }
    $text convert_cyr_string($text,"k","w");// Убираем проблему с кодировкой
    $regex '/<\/a><\/b><p>(.*)<p><hr size=1>/';// правило сортировки
    preg_match_all($regex$text$out); //сортируем
    fclose($fp);
    $son $out[1][0];
    $son strip_tags($son);
    if(
    $son=="")
    {
        
    $son "Нет описания к слову ".$_POST['n'];
    }
    return 
    $son;
     
  4. jskorvin

    jskorvin New Member

    Joined:
    19 Jul 2008
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Хм.. а бот ещё работает? незапускается на денвере и вдске, ошибок вообще никаких непишет, как искать где ошибка..

    // решено, всё отлично работает, глюк был в пшп, пересобрал и заработало, ну а денвер он на то и денвер..
     
    #164 jskorvin, 14 Aug 2008
    Last edited: 14 Aug 2008
  5. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    можете написать грабу с http://kanicq.ru/invisible/?method=2
     
  6. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Уже писалось =)
    https://forum.antichat.ru/showpost.php?p=716854&postcount=30
     
    1 person likes this.
  7. vl25

    vl25 New Member

    Joined:
    25 Jun 2008
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Почему-то он выключается сам иногда, а иногда сутки может работать!
    И сделайте чтобы он писал когда слишком большое сообщение, а то тупо молчком игнорирует! И я так и не понял как его хоть раз в сутки перезапускать с помошью Крона!
     
  8. 4NT1P0V

    4NT1P0V Member

    Joined:
    15 Jan 2008
    Messages:
    110
    Likes Received:
    28
    Reputations:
    -7
    Пересмотрел всю тему, кроме хостинга ueuo.com какой еще подойдет??
     
  9. .::BARS::.

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

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    Как можно выводить инфу из файла?
     
  10. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    PHP:
    $text=file_get_contents('http://путь к файлу');
    if (!empty(
    $text)){
    return 
    $text;}
    else {return 
    'Нет связи';}
     
  11. .::BARS::.

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

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    Вопрос не правильно поставил:
    есть файл, в нем текст вида...

    текст1
    ----
    текст2
    ----
    текст3

    Нужно делать вывод рандомно... то есть --- это разделитили между текстами....

    ------------------------------------------

    Если было бы так:

    текст1
    текст2
    текст3

    То можно было просто рендомно строчки вытаскивать....

    а тут разделитель, как быть? + текст не в одну строчку... т.е.

    текст1
    ---
    текст2
    текст2.1
    текст2.2
    ---
    текст3

    вот в таком виде...
     
    #171 .::BARS::., 19 Aug 2008
    Last edited: 19 Aug 2008
  12. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Code:
    <?php
    $f = 'filename.txt';
    $a = preg_split('~[\r\n]{1,2}---[\r\n]{1,2}~', file_get_contents($f));
    echo $a[rand(0,sizeof($a)-1)];
    ?>
     
  13. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    А не подскажите как организовать анекдоты с сайта или гороскоп по знаку зодиака (тоесть человек пишет !гороскоп "стрелец")
     
  14. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    Пиши скрипт и пользуйся функцией Сокет()
     
  15. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    помогите переписать под этот YourICQ бота

    PHP:
    <?php


    class bashorg {
        
        static 
    $regexp '~<div class="q">[\s|\S]*?<\/div>\s{0,}<div>([\s|\S]*?)<\/div>~',
               
    $buffer = array();

        static function 
    SendQuote() {
            
    $quote array_pop(self::$buffer);
            
    SteelBot::Msg($quote);
            if ( 
    count(self::$buffer) < ) {
                
    self::RefreshDB();
            }
        }

        static function 
    RefreshDB() {
            
    $result '';
            if (
    $sock fsockopen("bash.org.ru"80) ) {        
                
    $d fputs ($sock"GET http://bash.org.ru/random HTTP/1.0\n");

                
    fputs ($sock"Connection: Keep-Alive\n".
                              
    "User-Agent: SteelBot/1.0 (http://steelbot.net)\n".
                              
    "Host: bash.org.ru\n".
                              
    "Pragma: no-cache\n".
                              
    "Cache-Control: no-cache\n".
                              
    "Connection: close\n\n" );

                while ( !
    feof($sock) ) {
                    
    $result .= fgets($sock1024);
                }
                
    preg_match_all(self::$regexp$result$matches);
                    
                foreach(
    $matches[1] as $quot) {
                    
    $quot html_entity_decode($quot);
                    
    $quotstr_replace( array("<br>""<br />"), "\n"$quot);
                    
    self::$buffer [] = iconv('WINDOWS-1251''UTF-8'$quot);;
                }
                
    fclose($sock);
                echo 
    "[bashorg] quotes buffer has been refreshed (".count(self::$buffer)." quotes added).\n";
            } else {
                echo 
    "[bashorg] ERROR: can't establish connection to bash.org.ru\n";
            }
        }




    SteelBot::RegisterCmd('bash', array('bashorg''SendQuote'), 1'bash - чтение цитат с bash.org.ru');
    bashorg::RefreshDB();
     
  16. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    NOmeR1:
    Окей, а если в коде подправить и бот сам себе будет каждые, скажем, 5 мин. писать?

    P.s. С Нагрузкой всё понятно, но.. куда деваться?
     
  17. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Вот достал скрипт погоды...
    Но не знаю что указывать переменной..
    подскажите плиз.
    PHP:
    <? 
    $towns=array( 
    'Абакан'=>29862,'Агинское'=>29676,'Адлер'=>37171,'Алапаевск'=>28248,'Алдан'=>31004
    'АлександровСад'=>34391,'Александровск-Сах.'=>32061,'Александровское'=>23955
    'Амдерма'=>23022,'Анадырь'=>25563,'Анапа'=>37001,'Ангарск'=>30715,'Арзамас'=>27653
    'Армавир'=>37031,'Архангельск'=>22550,'Астрахань'=>34880,'Ачинск'=>29467
    'Байкальск'=>30818,'Балашов'=>34152,'Балтийск'=>26701,'Барабинск'=>29612
    'Баргузин'=>30636,'Баренцбург'=>20107,'Белгород'=>34214,'Белозерск'=>22939
    'Беломорск'=>22551,'Белорецк'=>28831,'Березники'=>28028,'Березово'=>23631
    'Бийск'=>29939,'Биробиджан'=>31713,'Бирск'=>28621,'Благовещенск'=>31510
    'Богучар'=>34336,'Бологое'=>26298,'Большеречье'=>28593,'Борзя'=>30965,'Брянск'=>26898
    'Бугульма'=>28711,'Бугуруслан'=>28806,'Буденовск'=>37061,'Бузулук'=>28909
    'Буйнакск'=>37471,'БухтаПровидения'=>25594,'Верещагино'=>28216
    'ВерхнийБаскунчак'=>34579,'Верхотурье'=>28144,'Верхоянск'=>24266,'Вилюйск'=>24641
    'Витим'=>30054,'Владивосток'=>31960,'Владикавказ'=>37228,'Владимир'=>27532
    'Волгоград'=>34560,'Вологда'=>27037,'Воркута'=>23226,'Воронеж'=>34123,'Вуктыл'=>23612
    'Выборг'=>22892,'Вытегра'=>22837,'ВышнийВолочок'=>26393,'Вязьма'=>26695,'Гагарин'=>27507
    'Гдов'=>26157,'Геленжик'=>37004,'Глазов'=>28214,'Горин'=>31489,'Горно-Алтайск'=>36052
    'ГорячийКлюч'=>37014,'Губаха'=>28134,'Гусь-Хрустальный'=>27539,'Дальнереченск'=>31873
    'ДвинскойБерезник'=>22762,'Дербент'=>37470,'Дивное'=>34858,'Дмитров'=>27419,'Дно'=>26268
    'Долинск'=>32133,'Дудинка'=>23074,'Екатеринбург'=>28440,'Елабуга'=>28506
    'Елатьма'=>27648,'Елец'=>27928,'Ельня'=>26783,'Енисейск'=>29263,'Ербогачен'=>24817
    'ЕрофейПавлович'=>30683,'Ершов'=>34186,'Ефремов'=>27921,'Забайкальск'=>30968
    'Звериноголовское'=>28756,'Зея'=>31300,'Зима'=>30603,'Златоуст'=>28630
    'Змеиногорск'=>36038,'Зырянка'=>25400,'Иваново'=>27347,'Ивдель'=>23921,'Игарка'=>23274
    'Игнашино'=>30686,'Ижевск'=>28411,'Иркутск'=>30791,'Истра'=>27511,'Ича'=>32411
    'Ишим'=>27485,'Йошкар-Ола'=>28573,'Казань'=>27595,'Калач'=>34247,'Калевала'=>22408
    'Калининград'=>26702,'Калуга'=>27703,'Каменск-Уральский'=>28449,'Камень-наОби'=>29822
    'Камышин'=>34363,'Кандалакша'=>22217,'Канск'=>29581,'Каргополь'=>22845,'Карталы'=>28941
    'Кашин'=>27316,'Кемерово'=>29645,'Киренск'=>30230,'Киров'=>27199,'Кирсанов'=>27957
    'Кисловодск'=>37123,'Клин'=>27417,'Когалым'=>23748,'Коломна'=>27625,'Колпашево'=>29231
    'Комсомольск-на-Амуре'=>31561,'Кондопога'=>22727,'Корсаков'=>32158,'Кострома'=>27333
    'Котлас'=>22887,'Кош-Агач'=>36259,'Краснодар'=>34929,'Красноозерск'=>29813
    'Красноселькуп'=>23465,'Красноуфимск'=>28434,'Красноярск'=>29570,'Кропоткин'=>34936
    'Кудымкар'=>28116,'Кунгур'=>36024,'Курган'=>28661,'Курильск'=>32174,'Курск'=>34009
    'Куртамыш'=>28659,'Кызыл'=>36096,'Ленск'=>24923,'Липецк'=>27930,'Ловозеро'=>22127
    'ЛодейноеПоле'=>22913,'Лысьва'=>28234,'Магадан'=>25913,'Магнитогорск'=>28838
    'Майкоп'=>37021,'Макаров'=>32116,'Макушино'=>28666,'Малоярославец'=>27606,'Мама'=>30157
    'Мариинск'=>29551,'Махачкала'=>37472,'Медвежьегорск'=>22721,'Мезень'=>22471
    'Миллерово'=>34438,'МинеральныеВоды'=>37054,'Мирный'=>24726,'Мичуринск'=>27935
    'Могоча'=>30673,'Можайск'=>27509,'Можга'=>28409,'Моздок'=>37145,'Мончегорск'=>22212
    'Морозовск'=>34545,'Моршанск'=>27848,'Мурманск'=>22113,'Мценск'=>27817
    'МысТерпения'=>32099,'МысШмидта'=>25173,'Н.Новгород'=>27459,'Надым'=>23445
    'Нальчик'=>37212,'Наро-Фоминск'=>27611,'Нарьян-Мар'=>23205,'Находка'=>31970
    'Невельск'=>32145,'Невинномысск'=>37036,'Нерчинск'=>30768,'Нефтеюганск'=>23848
    'Нижнеангарск'=>30433,'Нижневартовск'=>23471,'Нижнеудинск'=>29698,'НижнийТагил'=>28240
    'Николаевск-на-Амуре'=>31369,'Новгород'=>26179,'Новокузнецк'=>29846,'Новосибирск'=>29634
    'НовыйОскол'=>34213,'НовыйУренгой'=>23358,'Ноглики'=>32053,'Норильск'=>23078
    'Облучье'=>31702,'Обоянь'=>34109,'Оймякон'=>24688,'Октябрьское'=>23734
    'Олекминск'=>24944,'Оленек'=>24125,'Омск'=>28698,'Онега'=>22641,'Орел'=>27906
    'Оренбург'=>35121,'Оса'=>28324,'Осташков'=>26389,'ОстровБеринга'=>32618
    'ОстровВизе'=>20069,'ОстровВрангеля'=>21982,'ОстровДиксон'=>20674
    'ОстровКотельный'=>21432,'Охотск'=>31088,'П.-Камчатский'=>32594,'ПавловскийПосад'=>27523
    'Партизанск'=>31987,'Певек'=>25051,'Пенза'=>27962,'Пермь'=>28224,'Петрозаводск'=>22820
    'Печора'=>23418,'Пинега'=>22563,'Поронайск'=>32098,'Поярково'=>31587
    'Преображение'=>31989,'Приаргунск'=>30975,'Приморско-Ахтарск'=>34824,'Прохладный'=>37144
    'Псков'=>26258,'Пушкинскиегоры'=>26359,'Радужный'=>23758,'Ребриха'=>29923
    'Рославль'=>26882,'Ростов-на-Дону'=>34730,'Ростов'=>27329,'Рубцовск'=>36034
    'Рыльск'=>33166,'Ряжск'=>27835,'Рязань'=>27730,'Салехард'=>23330,'Самара'=>28807
    'Санкт-Петербург'=>26063,'Саранск'=>27760,'Саратов'=>34172,'Сасово'=>27745
    'Северо-Енисейск'=>23986,'Северо-Курильск'=>32215,'Северобайкальск'=>30435
    'Северодвинск'=>22546,'Сеймчан'=>25703,'Семячики'=>32509,'Серафимович'=>34357
    'Серов'=>28044,'Серпухов'=>27618,'Сковородино'=>30692,'Славгород'=>29915
    'Сладково'=>28587,'Смоленск'=>26781,'Соболево'=>32477,'СоветскаяГавань'=>31770
    'Соловки'=>22429,'Сортавала'=>22802,'Сосьва'=>23625,'Средне-Колымск'=>25206
    'СреднийВасюган'=>29111,'Сретенск'=>30777,'Ставрополь'=>34949,'СтаницаКаневская'=>34825
    'СтараяРусса'=>26275,'СтарыйОскол'=>34116,'Стерлитамак'=>28825,'Сузун'=>29823
    'Сургут'=>23849,'Сусуман'=>24790,'Сухиничи'=>27707,'Сызрань'=>27983,'Сыктывкар'=>23804
    'Таганрог'=>34720,'Тайга'=>29541,'Тайшет'=>29594,'Тамбов'=>27947,'ТаркоСале'=>23552
    'Татарск'=>29605,'Таштагол'=>29954,'Тверь'=>27402,'Териберка'=>22028,'Терней'=>31909
    'Тикси'=>21824,'Тихвин'=>26094,'Тихорецк'=>34838,'Тобольск'=>28275,'Токма'=>30127
    'Тольятти'=>27890,'Томпа'=>30439,'Томск'=>29430,'Тотьма'=>27051,'Троицк'=>28748
    'ТроицкоПечорск'=>23711,'Туапсе'=>37018,'Тула'=>27719,'Тулун'=>30504,'Тура'=>24507
    'Туринск'=>28255,'Туруханск'=>23472,'Тутончаны'=>23589,'Тымовское'=>32017,'Тында'=>30499
    'Тюмень'=>28367,'Углегорск'=>32088,'Улан-Удэ'=>30823,'Ульяновск'=>27786,'Уральск'=>35108
    'Урюпинск'=>34240,'Усть-Баргузин'=>30635,'Усть-Ишим'=>28382,'Усть-Калманка'=>36044
    'Усть-Камчатск'=>32408,'Усть-Кулом'=>23803,'Усть-Ордынский'=>30713,'Уфа'=>28722
    'Ухта'=>23606,'Уэлен'=>25399,'Хабаровск'=>31735,'Ханты-Мансийск'=>23933
    'Хасавьюрт'=>37248,'Хатанга'=>20891,'Холмогоры'=>22559,'Холмск'=>32128
    'Чайковский'=>28413,'Чара'=>30372,'Чебоксары'=>27581,'Челюскин'=>20292
    'Челябинск'=>28645,'Черемхово'=>30617,'Череповец'=>27113,'Черкесск'=>37047
    'Чермоз'=>28128,'ЧерныйЯр'=>34578,'Чернышевск'=>30766,'Черняховск'=>26711
    'Черский'=>25123,'Черусти'=>27538,'Чита'=>30758,'Чокурдах'=>21946,'Чулым'=>29625
    'Шадринск'=>28552,'Шарья'=>27271,'Шахты'=>34635,'Шелагонцы'=>24329 
    ); 

    $xxx file_get_contents('http://meteo.ru/weather/index.php?id='.$towns['Таганрог'].'&townlist=1'); 

    $a '<[^>]+>'
    $b '[^<]*'
    $c '\s*'
    $d '[^<]+'
    $a1"$c$a$c"
    $a2"$c$a$b$a$c"
    $a3"$c$a$b$a$b$a$c"
    $a4"$c$a$b$a$b$a$b$a$c"
    $a5"$c$a$b$a$b$a$b$a$b$a$c"
    $a7"$c$a$b$a$b$a$b$a$b$a$b$a$b$a$c"

    if(
    preg_match("/>($d )$a4($d)$a4($d)$a2($d)$a2$b$a1($d)(?:$a5|$a7)($d)$  a1($d)$a3($d)$a1($d)</i"$xxx$m)) 

      echo 
    $m[1].$m[2].$m[3].$m[4].$m[5].'<br>'.$m[6].$m[7].$m[8].$m[9]; 

    else 

      echo 
    'Sorry, cant get information.'

    ?>
     
    1 person likes this.
  18. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    И можно ли как-то убрать "!" перед вводом команды... а то люди жалуются :(
     
  19. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Ну есть несколько людей которые тестят...они говорят что нафиг не надо "!"


    Поставил переменную $towns и бот молчит на запрос :(
    Отправляю запрост типа: !погода "Пермь"
    И полный 0
     
  20. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Я в PHP не очень силён, но попробовал написать свой скрипт под бота...
    Скажите плиз что не так?
    Скрипт привязывается к гороскопам horo.mail.ru

    PHP:
    $znak=array(  
    'Овен'=>1,'Телец'=>2,'Близнецы'=>3,'Рак'=>4,'Лев'=>5,'Дева'=>6,
    'Весы'=>7,'Скорпион'=>8,'Стрелец'=>9,'Козерог'=>10,'Водолей'=>11,'Рыбы'=>12  
    );



    $fp fsockopen("horo.mail.ru"80$errno$errstr30); 
    $query 'prediction.html?sign='.$znak.'&time=1'
    $out  "POST /prediction.html?sign=1&time=1 HTTP/1.1\r\n"
    $out .= "Host: horo.mail.ru\r\n"
    $out .= "Referer: http://horo.mail.ru/prediction.html?sign=1&time=1\r\n"
    $out .= "Content-Type: application/x-www-form-urlencoded\r\n"
    $out .= "Content-length: ".strlen($query)."\r\n\r\n"
    $out .= $query







    $text "";   // объявляем переменную 
    while(!feof($fp)) 
        { 
            
    $text.= fgets($fp); 
        } 
    $text convert_cyr_string($text,"k","w");// Убираем проблему с кодировкой 
    // Ищем ID к слову 
    $regex '/wid=(.*)"/';// правило сортировки 
    preg_match_all($regex$text$out); //сортируем 
    fclose($fp); 
    ##################################################  ###################### 
    $fp fsockopen('www.horo.mail.ru'80); // Коннект 
    $headers = array( 
    "GET /prediction.html?sign=".$znak."&time=1 HTTP/1.0"
    'Host: www.horo.mail.ru'
    "\r\n" 
    ); 
    fputs($fp,implode("\r\n"$headers));// GET запрос 
    $text ""
    while(!
    feof($fp)) 

        
    $text.= fgets($fp); 

    $text convert_cyr_string($text,"k","w");// Убираем проблему с кодировкой 
    $regex '/<div id="tm_today"><p>(.*)</p><script type="text/javascript">/';// правило сортировки 
    preg_match_all($regex$text$out); //сортируем 
    fclose($fp); 
    $gor $out[1][0]; 
    $gor strip_tags($son); 
    if(
    $gor==""

        
    $gor "Нет описания к слову ".$_POST['n']; 

    return 
    $gor
     
     
    #180 Byrger, 20 Aug 2008
    Last edited: 20 Aug 2008