SteelBot

Discussion in 'PHP' started by Sudba, 21 Jun 2009.

  1. Sudba

    Sudba Banned

    Joined:
    19 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Здравствуйте дорогие форумчанины.
    Прошу вас помочь с написание плагина, который показывает гороскоп. Есть готовое решение только оно не работает. Я предлагаю брать гороскоп с mail.ru но там каждый знак зодиака подскатавлен под номером. Получается надо изменять на автомате, например козерогу присваивать значение 10, и подстанавливать это значение в ссылку.
    это готовое не доделоное решение
     
  2. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    парень, ты знаешь что такое перенос строки?
     
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Похоже на brainfuck чем-то
     
  4. LEE_ROY

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

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    php code beautifier
    PHP:
    <?php

    function goro$param )
    {
        if( empty(
    $param) ) {
            
    SteelBot::CmdHelp'goro' );
        } else {
            
    $param iconv'windows-1251''UTF-8'$param );
            switch ( 
    $param ) {
                case 
    "козерог":
                case 
    "овен":
                case 
    "рак":
                case 
    "весы":
                case 
    "водолей":
                case 
    "телец":
                case 
    "лев":
                case 
    "скорпион":
                case 
    "рыбы":
                case 
    "близнецы":
                case 
    "дева":
                case 
    "стрелец":
                    
    $arZod = array( 'Козерог' => 10'Овен' => 1'дева' => '9' );
                    
    $buf file_get_contents"http://horo.mail.ru/prediction.html?sign=" $arZod[$param] );
                    
    $buf iconv"WINDOWS-1251""UTF-8"$buf );
                    
    $a explode"table"$buf );
                    
    $a[9] = strip_tags$a[9] );
                    
    $a[11] = strip_tags$a[11] );
                    
    $chislo strpos$a[9], ">" );
                    
    $a[9] = substr$a[9], $chislo );
                    
    $chislo strpos$a[11], ">" );
                    
    $a[11] = substr$a[11], $chislo );
                    
    $chislo strpos$a[9], "для" );
                    
    $part1 substr$a[9], 0$chislo );
                    
    $part2 substr$a[9], $chislo );
                    
    $chislo strpos$a[11], "для" );
                    
    $part3 substr$a[11], 0$chislo );
                    
    $part4 substr$a[11], $chislo );
                    
    $param iconv"WINDOWS-1251""UTF-8"$param );
                    
    SteelBot::Msg$part1 " " $param " " $part2 " " " " $part3 " " $param " " $part4 );
                    break;
                default:
                    
    SteelBot::Msg'Неправильно введен знак зодиака. Существующие знаки зодиака: козерог, овен, рак, весы, водолей, телец, лев, скорпион, рыбы, близнецы, дева, стрелец' );
            }
        }
    }
    SteelBot::RegisterCmd"гороскоп1""goro"1"гороскоп (знак зодиака) - гороскоп" );

    ?>
     
    1 person likes this.
  5. Sudba

    Sudba Banned

    Joined:
    19 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Я вставил, и она сама так в строку превратилось, извиняюсь....так поможете мне?)))
     
  6. LEE_ROY

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

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    у меня нету класса стилбот, писал на коленке
    PHP:


    <?php

    function goro$param )
    {
        if( empty(
    $param) ) {
            
    SteelBot::CmdHelp'goro' );
        } else {
            
    $param_id 0;
            
    /*В param_id вписать нужное значение*/
            
    switch ( $param ) {
                case 
    "козерог"
                    
    $param_id 10;
                case 
    "овен"
                    
    $param_id 10;
                case 
    "рак"
                    
    $param_id 10;
                case 
    "весы"
                    
    $param_id 10;
                case 
    "водолей"
                    
    $param_id 10;
                case 
    "телец"
                    
    $param_id 10;
                case 
    "лев"
                    
    $param_id 10;
                case 
    "скорпион"
                    
    $param_id 10;
                case 
    "рыбы"
                    
    $param_id 10;
                case 
    "близнецы"
                    
    $param_id 10;
                case 
    "дева"
                    
    $param_id 10;
                case 
    "стрелец"
                    
    $param_id 10;
                
                    
    $buf file_get_contents"http://horo.mail.ru/prediction.html?sign=" $param_id );
                    
    preg_match('/(?<=tm_today">)(?:\s*)?[\s\S]*?(?=<script)/'$buf$res);
                    
    $buf strip_tags($res[0]);
                    
    SteelBot::Msg$buf );
                    break;
                default:
                    
    SteelBot::Msg'Неправильно введен знак зодиака. Существующие знаки зодиака: козерог, овен, рак, весы, водолей, телец, лев, скорпион, рыбы, близнецы, дева, стрелец' );
            }
        }
    }
    SteelBot::RegisterCmd"гороскоп1""goro"1"гороскоп (знак зодиака) - гороскоп" );

    ?> 
     
  7. Sudba

    Sudba Banned

    Joined:
    19 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Присылает ответ, тока что то с оригиналом его не сравнить, вот что присылает робот на водолея:
    а вот с маила
     
  8. LEE_ROY

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

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    правь регулярку, я бота твоего в глаза не видел, если хочеш готовое решение прошу в раздел покупки и продажи. ты param_id правлеьно выставил?
     
  9. Sudba

    Sudba Banned

    Joined:
    19 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Да правильно, у всех не тот гороскоп написан
     
  10. Sudba

    Sudba Banned

    Joined:
    19 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    По такому же принцыпу попытался сделать плагин для погоды, с gismeteo.ru вот код:
    PHP:
    <?php 

    function pogoda$param 

        if( empty(
    $param) ) { 
            
    SteelBot::CmdHelp'pogoda' ); 
        } else { 
            
    $param_id 0
            
    /*В param_id вписать нужное значение*/ 
            
    switch ( $param ) { 
                case 
    "москва":  
                    
    $param_id 4368
                case 
    "овен":  
                    
    $param_id 10
                case 
    "рак":  
                    
    $param_id 10
                case 
    "весы":  
                    
    $param_id 10
                case 
    "водолей":  
                    
    $param_id 10
                case 
    "телец":  
                    
    $param_id 10
                case 
    "лев":  
                    
    $param_id 10
                case 
    "скорпион":  
                    
    $param_id 10
                case 
    "рыбы":  
                    
    $param_id 10
                case 
    "близнецы":  
                    
    $param_id 10
                case 
    "дева":  
                    
    $param_id 10
                case 
    "стрелец":  
                    
    $param_id 10
                 
                    
    $buf file_get_contents"http://gismeteo.ru/city/daily/" $param_id ); 
                    
    preg_match('/(?<=tm_today">)(?:\s*)?[\s\S]*?(?=<script)/'$buf$res); 
                    
    $buf strip_tags($res[0]); 
                    
    SteelBot::Msg$buf ); 
                    break; 
                default: 
                    
    SteelBot::Msg'Вы ввели город, которого нет в базе.' ); 
            } 
        } 

    SteelBot::RegisterCmd"погода""pogoda"1"погода (город)- узнать погоду в городе" ); 

    ?>
    отсылаю погода москва, и мне ничего в ответ не приходит... помогите:)


    Исправил, извините:)
     
    #10 Sudba, 22 Jun 2009
    Last edited: 22 Jun 2009
  11. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    подсказка небольшая - код с новой строки каждая строчка чтобы была - достаточно вовремя нажимать ENTER при публикации, а не просто тупо копипастить. Уважай других плз
     
  12. Sudba

    Sudba Banned

    Joined:
    19 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Исправил:)
     
  13. RAINUR2

    RAINUR2 New Member

    Joined:
    27 Aug 2009
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Официальный сайт проекта steelbot- http://steelbot.net . . . Там всегда помогут.:)