Strona 1 z 3 123 OstatniOstatni
Pokaż wyniki od 1 do 10 z 25

Wątek: CzatGG - auto wykonywanie komend, jak zrobić?

  1. #1

    CzatGG - auto wykonywanie komend, jak zrobić?

    interesuje mnie jak poprawnie wczytywać/ładować komendy - dobrze jakby same się nie wczytywaly tylko za pomocą czegoś co wczyta dany plik mogę mieć inne pliki nie związane z komendami w folderze, próbowałem include(); i require_once(); były w pliku bota ścieżka do pliku była komendy/komenda.php ale nie działa więc pytanie, jak poprawnie to zrobić? żeby komenda sama się wykonywała po wpisaniu na przykład:
    /help .
    są jakieś pomysły?

  2. #2
    Doświadczony GGadacz
    Dołączył
    20.02.2013
    Lokalizacja
    Sieradz
    Marka tel.
    LG
    Model tel.
    Swift l5
    FW telefonu
    Android 4.1.2
    Posty
    220
    od tego są fora poświęcone programowaniu php
    CzatGG: Kliknij!
    Moje GG: Kliknij!

  3. #3
    Niby tak ale to forum GG do którego zadałem pytanie jak nie będzie odpowiedzi pomocnej to zadam na forum o php.

  4. #4
    Doświadczony GGadacz
    Dołączył
    27.03.2012
    Posty
    131
    Najlepiej, gdy zrobisz sobie osobny folder z plikami komend, każda komenda w osobnym pliku.
    Później robisz tak:
    W pliku pull
    Kod php:
    <?php
    $wyrazy 
    explode(" "$HTTP_RAW_POST_DATA); //Rozbicie wiadomości na wyrazy
    $komenda str_replace("/"""strtolower($wyraz[0])); //Pierwszy wyraz, który jest nazwą komendy
    if ($HTTP_RAW_POST_DATA{0} == "/"
    include(
    "do_command.php"); //Wykonanie kodu z pliku wywołującego komendy
    //die(); Ewentualnie, jeśli chcesz po wykonaniu komendy zakończyć działanie skryptu.
    ?>
    W pliku do_command.php:
    Kod php:
    <?php
    if(file_exists("komendy/{$komenda}.php")){ //Sprawdzenie, czy plik istnieje
    include("komendy/{$komenda.php}"); //Wykonanie kodu komendy
    }else{
    die(
    "Komenda nie istnieje."); //Zabij, komenda nie istnieje
    }
    ?>
    Pisane na surowo
    Już niedługo...

  5. #5
    Super Moderator Awatar Qrix
    Dołączył
    09.02.2009
    Lokalizacja
    Łódź
    Marka tel.
    Sony
    Model tel.
    Xperia M2 LTE
    FW telefonu
    Android 4.4.4
    Posty
    4,513
    mimo wszystko fora PHP są lepsze do tego typu zagadnień, a forum GG do zagadnień związanych z obsługą BotAPI

  6. #6
    Dzięki, prosze znów o pomoc ;P ponad godzine myslę o co chodzi... i próbuje rozwiązać problem -- ciągle dostaje wiadomość "Komenda nie istnieje. " jak napisze znak / lub np /time,
    moje drzewko wyglada tak:

    root/GG/bot.php (pull)
    root/GG/do_command.php
    root/GG/komendy/time.php (tutaj
    ogolnie komendy)

    reszte komend mam podobnie jak time wykonana bo nie uzywam jeszcze bazy wiec plik wyglada tak:

    time.php

    Kod php:
     <?  
    $M = new MessageBuilder();
    switch($HTTP_RAW_POST_DATA){
    if (substr($komenda == "time")){ 
      $M->addText("jest godzina: " .date("H:i:s").);
    }

    }
    $M->reply();
    ?>
    co jest źle?
    wina po stronie serwera? (cba)

  7. #7
    Doświadczony GGadacz
    Dołączył
    20.02.2013
    Lokalizacja
    Sieradz
    Marka tel.
    LG
    Model tel.
    Swift l5
    FW telefonu
    Android 4.1.2
    Posty
    220
    ale jeżeli zwraca Ci że komenda nie istnieje to nie wina kodu komendy
    CzatGG: Kliknij!
    Moje GG: Kliknij!

  8. #8
    Doświadczony GGadacz
    Dołączył
    27.03.2012
    Posty
    131
    Po 1, na cholercie Ci switch i sprawdzenie w kodzie komendy, jesli juz jest sprawdzone w pliku do_command.php? A po 2.w moim skrypcie jest blad, w nazwie zmiennnej, nawet tego nie przeczytales przed skopiowaniem? Przy str_replace zamiast $wyraz powinno byc $wyrazy, wtedy powinno dzialac, w pliku komendy, nic juz nie sprawdzaj, wsadz tylko to, co komenda ma wykonac.
    Już niedługo...

  9. #9
    switch ogólne z przykładu boty.gg.pl

  10. #10
    Doświadczony GGadacz
    Dołączył
    01.06.2011
    Lokalizacja
    Lębork
    Marka tel.
    Sony
    Model tel.
    Xperia M2
    FW telefonu
    Android 5.1
    Posty
    262
    1. Gdzieś już podawałem kod na komendy w osobnych plikach na tym forum. Wystarczy odrobina logicznego myślenia aby podmienić nazwy zmiennych.

    2. Jeżeli w folderze masz także inne pliki to możesz do nazw plików komend dodać przedrostek np cmd_* a wtedy
    Kod php:
    if(file_exists('folder/cmd_'.$cmd)) //coś tam coś tam

    include('folder/cmd_'.$cmd); // itd.... 
    3. Po kiego kija rozbijać kod na poszufladkowane pliki? Nie potrzebnie dodajemy kolejne zadanie dla serwera. Czat nie jest, aż takim rozbudowanym skryptem na takie potrzeby, a tym bardziej fragment odpowiadający za wczytanie komend.

Podobne wątki

  1. CzatGG poczatki - prosze o pomoc.
    By xxINVISIBLExx in forum Boty
    Odpowiedzi: 10
    Ostatni post / autor: 26.07.2013, 17:44
  2. jak zrobić by gg kazało za każdym razem podać hasło
    By kedarby in forum Aplikacja Android
    Odpowiedzi: 48
    Ostatni post / autor: 16.05.2013, 21:32
  3. Coś się dzieje z moim komunikatorem! Co zrobić?
    By wiewióra in forum Wiedza ogólna - przeczytaj zanim napiszesz
    Odpowiedzi: 1
    Ostatni post / autor: 27.12.2012, 23:22
  4. Jak zrobić czas w BotGG
    By FNT in forum Boty
    Odpowiedzi: 2
    Ostatni post / autor: 17.10.2012, 00:16
  5. Dodawanie komend poprzez czat
    By misiiek-92 in forum Boty
    Odpowiedzi: 6
    Ostatni post / autor: 05.10.2012, 23:21

Tagi dla tego wątku

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •