GGBot

Zwiń
X
 
  • Czas
  • Pokaż
Wyczyść wszystko
new posts
  • Adi92
    • 12 pa¼
    • 27

    #1

    GGBot

    Witam
    mam pytanko co jest żle zrobione ze pkik crona odsyla podwójną wiadomość ??
    Jak coś to gg:36204710
  • Majcon
    Doświadczony GGadacz
    • 20 lut
    • 220

    #2
    Może więcej szczegółów ? nikt tu nie jest jasnowidzem
    CzatGG: Kliknij!
    Moje GG: Kliknij!

    Komentarz

    • Adi92
      • 12 pa¼
      • 27

      #3
      . Jak przychodzi czas wyslania danej wiadomości to wysyła ją podwujnie mógł by ktoś powiedzieć co zle zrobiłem


      Kod php:
        <?php
      date_default_timezone_set
      ('Europe/Warsaw');
      require_once(
      '/home/xxxx/public_html/nowy/nowy/api/PushConnection.php');
      require_once(
      '/home/xxxx/public_html/nowy/nowy/api/MessageBuilder.php');
      require_once(
      '/home/xxxx/public_html/nowy/nowy/api/konfiguracja.php');
      PushConnection::$BOTAPI_LOGIN=$ApiMail;
      PushConnection::$BOTAPI_PASSWORD=$ApiPass;
      $m = new MessageBuilder();
      $p = new PushConnection($ApiNr);
      $db = new mysqli($BaseHost, $BaseUser, $BasePass, $BaseName);
      $now = time();
      $hour = date('H');
      $miesiac = date('n');
      $rok = date('Y');
      $dzien = date('d');

      $sleep =
          
      $i = date('i');

      $q = $db->query("select * from `nicki` ORDER BY RAND() limit 3");
           while(
      $pozdro = $q->fetch_assoc())
                {
      $pozdrowienia = $pozdro['nick'];

      $emota = rand(1,8);
      if(
      $emota == 1) $emota = ";)";
      if(
      $emota == 2) $emota = ":)";
      if(
      $emota == 3) $emota = ":]";
      if(
      $emota == 4) $emota = ":>";
      if(
      $emota == 5) $emota = ";*";
      if(
      $emota == 6) $emota = "<lol>";
      if(
      $emota == 7) $emota = "<lol2>";
      if(
      $emota == 8) $emota = ":*";
      }
      $dzientygodnia = date('l');
      $miesiac = date('n');
      $rok = date('Y');
      $dzien = date('d');
      $czas=date("G:i:s");
              
      $miesiac_PL = array(1 => '01', 2 => '02', 3 => '03', 4 => '04', 5 => '05', 6 => '06', 7 => '07', 8 => '08', 9 => '09', 10 => '10', 11 => '11', 12 => '12');
      $dzientygodnia_PL = array('Monday' => 'poniedziałek', 'Tuesday' => 'wtorek', 'Wednesday' => 'środa', 'Thursday' => 'czwartek', 'Friday' => 'piątek', 'Saturday' => 'sobota', 'Sunday' => 'niedziela');
      $croon = "\r\n----------------\r\nWiadomość wysłana automatycznie. Jeśli niechczesz otrzymywać tych wiadomości wpisz /croon";

      $qq = $db->query("select * from `nicki` AND croon = 'tak'");
          
      $la = 0;
          while(
      $nq = $qq->fetch_assoc())
          {
          
      $odb[] = $nq['numer'];
          
      $la++;
          }         
      if(
      $hour == '6' AND $i == '00'){
      $m->addBBCode("Witam wszystkich użytkowników GGbota :)\r\nDziś jest ".$dzientygodnia_PL[$dzientygodnia]." ".$dzien."-".$miesiac_PL[$miesiac]."-".$rok." rok godzina ".$czas." Życzymy wszystkim miego dnia :)\r\n\r\nPozdrowienia od GGBota otrzymuje: $pozdrowienia $emota $croon ")->setRecipients($odb);
      $p->push($m);
      }        
      if(
      $hour == '10' AND $i == '00'){
      $m->addBBCode("Zachecamy wszystkich do korzystania z naszego GGBota Reklamowego :D $croon ")->setRecipients($odb);
      $p->push($m);
      }
      // informacja

      if($dzien == '28' AND $miesiac == '03' AND $hour == '22' AND $i == '00'){
      $m->addBBCode("Zmiana z czasu zimowego (astronomicznego) na letni nastąpi w nocy z soboty (29 marca) na niedzielę (30 marca) 2014 r. $croon")->setRecipients($odb);
      $p->push($m);
      }
                            
      ?>
      Ostatnio edytowany przez Qrix; 21. Powód: tag PHP
      Jak coś to gg:36204710

      Komentarz

      • Wazniak96
        Doświadczony GGadacz
        • 1 cze
        • 262

        #4
        Ojj kolego.
        1. Wstawiaj kod w zniaczniki bb code [ *php* ] (bez gwiazdek, dodałem żeby parser nie złapał).
        2. Ogarnij kod bo jest go dużo zbędnego. Choćby $miesiac_PL czy losowanie emotikona. Zadajesz serwerowi niepotrzebnie 8 dodatkowych if'ów zamiast skorzystać z array_rand. Ale przyznam się, że sam miałem nie raz problemu z cronem dając mu zbyt ciężkie skrypty, które z przeglądarki działały na luzie. (nie wiem skąd te problemy).
        3. Nie widzę nigdzie błędu w kodzie przez co skrypt miałby wysyłać podwójną wiadomość. Być może masz po prostu ustawione 2 zadania cron na ten plik? Sprawdź to dając w tym pliku wysłanie maila pod twój adres. Możesz też spróbować zaraz po wysłaniu skasować obiekty klasy MessageBuilder i PushConnection. Wtedy kategorycznie kasujesz możliwość wysłania wiadomości ponownie. Chyba, że coś się dzieje w klasach BotApi.

        Pozdrowienia

        Komentarz

        Pracuję...