Ogłoszenie

Zwiń
No announcement yet.

CzatGG poczatki - prosze o pomoc.

Zwiń
Ten temat jest zamknięty
X
X
 
  • Filtr
  • Czas
  • Pokaż
Wyczyść wszystko
new posts

    CzatGG poczatki - prosze o pomoc.

    zaczynam pisac sam czat - pomimo ze napewno dużo osob bedzie mnie zniechecac. wole sam napisac niz kupic/dostac ale mam problem..

    chciałbym żeby dane komendy dało się użyc na pare sposobów np /x & .x & x zamiast samego /x.

    widziałem że ludzie używają do tego

    Kod php:
    (substr($komenda == "x" || $komenda == "/x" || $komenda == ".x")); 
    no dobra ale skąd zmienna "$komenda" jakiej zmiennej trzeba taką przypisac?.
    Ostatnio edytowany przez xxINVISIBLExx; [ARG:4 UNDEFINED].

    #2
    Kolego, robisz tak
    Kod php:
    $msg $HTTP_RAW_POST_DATA;
    $wyraz explode(" "$msg);
    $znaki_komend = array(".""/""?");
     
    $komenda str_replace($znaki_komend""$wyraz[0]); 
    potem możesz sprawdzać to switchem
    Ostatnio edytowany przez Qrix; [ARG:4 UNDEFINED]. Powód: dodanie tagu [php]
    Już niedługo...

    Komentarz


      #3
      dzięki, Beniooo.

      Komentarz


        #4
        Nie ma problemu, pamietaj jeszcze o funkcji zamieniajacej znaki specjalne na ich odpowiedniki ASCII
        Już niedługo...

        Komentarz


          #5
          Kod php:
          $message addslashes(trim($HTTP_RAW_POST_DATA));
          $msg explode(' '$message);
          $cmd strtolower(substr($msg[0], 1));
          $roads = array('/''.''?');
          $road substr($msg[0], 01);

          if(
          in_array($road$roads)
          {
              if(
          file_exists("cmd/{$cmd}.php"))
              {
                  include(
          "cmd/{$cmd}.php");
                  die;
              }
              else
                  die(
          'Brak komendy.');
          }
          else
          {
             
          $M->reply(stripslashes($message));

          Zarys całego fragmentu kodu, odpowiedzialnego za utworzenie komendy.

          Komentarz


            #6
            też dzięki @Wazniak96,

            @Beniooo "pamietaj jeszcze o funkcji zamieniajacej znaki specjalne na ich odpowiedniki ASCII"

            ja używam w skrypcie kodowanie UTF-8 ale to chyba nie działa...

            Kod php:
            header('Content-Type: text/html; CharSET=UTF-8'); 

            Komentarz


              #7
              Zamieszczone przez Wazniak96 Zobacz posta
              Kod php:
              $message addslashes(trim($HTTP_RAW_POST_DATA));
              $msg explode(' '$message);
              $cmd strtolower(substr($msg[0], 1));
              $roads = array('/''.''?');
              $road substr($msg[0], 01);

              if(
              in_array($road$roads)
              {
                  if(
              file_exists("cmd/{$cmd}.php"))
                  {
                      include(
              "cmd/{$cmd}.php");
                      die;
                  }
                  else
                      die(
              'Brak komendy.');
              }
              else
              {
                 
              $M->reply(stripslashes($message));

              pozwoliłem sobie przerobic

              Kod php:
              die('Brak komendy.'); 
              na

              Kod php:
              die("Brak komendy {$cmd}."); 
              (wg mojego edytora nie ma błędu z " "zamiast ' ')
              tylko czy to poprawne użycie?,
              gdzies to chyba widzialem na czatach że bot odsyła coś na podobe
              "nie znaleziono komendy tu to co wpisalem."
              mysle że to ciekawe nawet tylko czy drugie użycie dobre
              Kod php:
              {$cmd
              do wywołania błędu czy pokombinować z
              "
              Kod php:
              $HTTP_RAW_POST_DATA 
              " prosze o pomoc.
              Ostatnio edytowany przez xxINVISIBLExx; [ARG:4 UNDEFINED]. Powód: dopisek.

              Komentarz


                #8
                Tak jak napisałeś jest całkowicie poprawne. Między apostrofami parser PHP nie kompiluje tylko wyświetla. Między cudzysłowiami juz kompiluje, a nawiasy klamkowe separują zmienną. Jeżeli zmienna nie łączy się z tekstem nie musisz ich dawać. Tak samo możesz użyć operatora łączenia, czyli kropki
                Kod php:
                die('Brak komendy '.$cmd); //nie kompilując tekstu brak komendy
                die("Brak komendy $cmd"); //bez nawiasów klamkowych
                die("Brak komendy {$cmd}"); //z 
                die("Brak komendy ".$cmd); // podobnie jak w nr jeden ale w cudzysłowiu 
                Wszystkie formy są poprawnde, lecz chodzi o prędkość wykonania skryptu. Lecz w czatach nie musisz zwracać na to uwagi bo to stosunkowo bardzo proste i małe skrypty

                Komentarz


                  #9
                  Witam, jakiś czas nie zaglądałem w skrypty i znów wracam już chyba z większą wiedzą o BotAPI ale mam problem który pewnie dla reszty jest banalny,

                  Kod php:
                   $road substr $msg [], ); 
                  mógłbym prosić o wytłumaczenie co robi ta linijka? głównie chodzi mi o "0, 1" ale chciałbym wiedzieć całą, będę wdzięczny na każdą odpowiedź.

                  Komentarz


                    #10
                    $road zawierać będzie pierwszy znak słowa z $msg[0](tablica słow w wiadomości). Poczytaj w manualu o funkcji substr

                    Komentarz


                      #11
                      webmade.org/kursy-online/wyciaganie-fragmentow-ciagow.php

                      przeczytałem i chyba rozumiem

                      0, 1 czyli wyciągnie z wiadomości znak pierwszy, przykład:

                      /jakaś_komenda. takie rozpoznanie czy to komenda tak?

                      edit: dzięki jeszcze raz za pomoc @Wazniak96.

                      Komentarz

                      Pracuję...
                      X