Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 10 z 11

Wątek: Bot źle odpisuje

  1. #1

    Bot źle odpisuje

    Witam!

    pull.php
    Kod php:
    <?
    require_once('MessageBuilder.php');
    $M=new MessageBuilder();
    $M->addText('test');
    $M->reply();
    $M->clear();
    ?>
    gg:
    Kod:
    Ja: test
    Bot: W
    Ja: 1234
    Bot: W
    Ja: W
    Bot: W
    Tak wygląda źródło pull.php gdy wchodzę z przeglądarki
    Kod html:
    W����������	���<span style="color:#000000; font-family:'MS Shell Dlg 2'; font-size:9pt; ">test</span>test�������
    <!-- Hosting24 Analytics Code -->
    <script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
    <!-- End Of Analytics Code -->
    Może to być wina doklejonego kodu przez serwer?

  2. #2
    Gadu Maniak Awatar SaperR
    Dołączył
    06.06.2009
    Lokalizacja
    Międzychód
    Marka tel.
    ZTE
    Model tel.
    Blade
    FW telefonu
    Android 2.3.7
    Posty
    1,000
    Cytat Zamieszczone przez blauherr Zobacz posta
    Może to być wina doklejonego kodu przez serwer?
    Sam rozwiązałeś problem

    Wysyłane z mojego Blade za pomocą Tapatalk 2

  3. #3
    Udało mi się wyłączyć ten kod, ale to nic nie dało

    Kod html:
    W����������	���<span style="color:#000000; font-family:'MS Shell Dlg 2'; font-size:9pt; ">test</span>test�������

  4. #4
    Bot Team
    Go
    Z tego co widzimy, udało się już Panu rozwiązać problem. Jeśli jest inaczej, prosimy o kontakt na adres boty@gadu-gadu.pl

  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
    Te znaczki niekoniecznie są błędem. W końcu tekst na wyjściu ma się wyświetlić w kliencie GG, a nie w przeglądarce www, więc testuj to bezpośrednio w kliencie Gadu-Gadu

  6. #6
    Cytat Zamieszczone przez Bot Team Zobacz posta
    Z tego co widzimy, udało się już Panu rozwiązać problem. Jeśli jest inaczej, prosimy o kontakt na adres boty@gadu-gadu.pl
    No właśnie, że nie. Udało mi się tylko usunąć kod, który doklejał serwer.

    Cytat Zamieszczone przez Qrix Zobacz posta
    Te znaczki niekoniecznie są błędem. W końcu tekst na wyjściu ma się wyświetlić w kliencie GG, a nie w przeglądarce www, więc testuj to bezpośrednio w kliencie Gadu-Gadu
    Oczywiście. Chciałem sprawdzić skąd te odpowiedzi się biorą i zajrzałem do źródła.


    Gdy zmienię addText('qwerty') bot odpisuje "Y", a gdy addText('123') to "V" itp.

  7. #7
    Bot Team
    Go
    Te "znaczki" wynikają ze struktury binarnego protokołu BotAPI. Jest on dokładniej opisany tutaj: https://boty.gg.pl/dokumentacja/#2.3
    Oto fragment:

    Dane w protokole BotAPI przesyłane są binarnie: na początku zawsze musi wystąpić struktura, która określi, jakie będą długości poszczególnych danych:

    4 bajty (unsigned int) na długość wiadomości zawierającej HTML (dla GG 8.x i nowszych; należy doliczyć końcowy znak \0),
    4 bajty (unsigned int) na długość wiadomości zawierającej wiadomość tekstową (dla starszych klientów; należy doliczyć końcowy znak \0),
    4 bajty (unsigned int) na długość danych z zawartością struktury z obrazkiem (może być równe 0, obrazek jest przesyłany opcjonalnie),
    4 bajty (unsigned int) na długość formatowania dla wiadomości tekstowej (może być równe 0, formatowanie tekstu jest opcjonalne).
    W przypadku, gdy suma tych długości jest różna od długości reszty danych, wiadomość jest traktowana jak zwykła wiadomość tekstowa, a nie protokołowa wiadomość binarna. Wtedy kończy się to z reguły wyświetleniem właśnie jednego znaku z tabeli ASCII.

    Wynika to z tego, że pierwsze 4 bajty, oznaczające długość wiadomości HTML będą w Pana przypadku wyglądać tak: 86 00 00 00 (addText('123')) lub 89 00 00 00 (addText('qwerty')).
    Tak jak pisałem, z powodu nieprawidłowej długości całego pakietu danych wiadomość została potraktowana jako zwykła wiadomość tekstowa - stąd zwracany przez bota tekst "V" (wartość 86 w ASCII) oraz "Y" (wartość 89 w ASCII).

    W razie dalszych problemów prosimy o kontakt na boty@gadu-gadu.pl - postaramy się je wspólnie rozwiązać.

  8. #8
    Dobrze, więc jak to naprawić?

  9. #9
    Doświadczony GGadacz
    Dołączył
    13.07.2011
    Posty
    152
    Proszę zgodnie z sugestią skontaktować się z działem botów pod adresem boty@gadu-gadu.pl .

  10. #10
    Bot Team
    Go
    Użytkownik blauherr skontaktował się z nami i udało się namierzyć problem: hosting, na którym działa skrypt pull.php przy odpytywaniu przez naszą platformę BotAPI GG nadal dokleja kod Hosting24 Analytics Code co niestety psuje wiadomość protokołową.

    Poniżej wklejamy zapytanie na przykładowy adres PULL wraz ze wszystkimi nagłówkami jakie wykonuje nasza platforma:

    Kod:
    curl -v -A "" "http://boty.gg.pl/bot/pull.php?from=1234567&to=321" -H "Content-type: text/plain; charset=UTF-8" -H "User-agent: Botmaster 2.0" -H "Content-Length: 9" -H "Connection: close" -H "Host: boty.gg.pl" -d "wiadomosc"
    Ostatnio edytowane przez Bot Team ; 19.06.2012 o 18:46

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
  •