W Facebook Messenger API, jak zapobiegać przycisk postback ładunku tekst przed zalogowany do okna czatu na kliknięcie?

głosy
1

TLDR; @ Dolny

Poprosiłem następujące pytanie w Facebooku sekcji bugs

UWAGA: Jest to raczej platforma projektowania sugestia niż błędem, ponieważ nie udało mi się znaleźć Chat API portal zwrotnego Obecnie buduję Chat bot, który pozwala użytkownikowi śledzić cel. Powie coś w stylu „Czy pójdziesz na spacer na 12 lipca 2016 roku?” i mają tak / nie poniższych przycisków.
Obecnie w celu przekazania intencji, dzień i logiczną osiągnięcia Ptrzebuję szablon ciąg jak ten „== == GOAL osiągnięty? <<< >>>} {goal_achieved, data śledzone [[[{date_tracked}]] ]”i używać regex do przechwytywania rozdzielonych zmiennych. Jest to skłonność do analizowania błędów w innych przypadkach, gdy szablonowe ciągi w zawartości są zmienne wejściowe użytkownika, czyli jeśli „{goal_achieved}” zostały zastąpione zmiennej bramkowej „>> medytował”
Można używać do przechowywania ładunku ogłaszania zwrotnego ciąg JSON zakodowane, ale problem polega na tym, że ciąg ładowność zostanie zalogowany do wyjścia użytkownika i ciągi JSON są nieco brzydki i kłopotliwe. Wyzwania I twarz mogą być łatwo usunięte, jeśli ładunek nie był zalogowany do użytkownika Zamiast rejestrować tekst na przycisku, aby pomóc użytkownikowi potwierdzić przycisk został kliknięty.
Jeśli nie jest to możliwe, czy istnieje jakakolwiek inna rada do kodowania danych na przycisk ładowności?

Poniższa odpowiedź została wystawiona (Mark Wiltse)

Cześć Justin, Niestety w tej chwili nasza struktura ładowność nie obsługuje funkcjonalności, które starają się realizować. Z mojego zrozumienia chcesz użyć ładunek poinformować swojego zaplecza czy użytkownik dokonuje ich „cel” w tym konkretnym dniu. Sugerowałbym, że tworzysz swoją odpowiedź ładunku na przycisk na końcu przed przekazaniem go do nas, co jest w zasadzie idea JSON, który miał początkowo. Wiem, że to nieco kłopotliwe w obsłudze, ale odpowiedź ładowność przekazywana jest niezależny od tekstu, który został zaopatrzony w gwint messenger. Sugerowałbym, że można również próbować zdezynfekować swoje struny jeśli martwisz użytkownik wcześniej dostarczył byś powodować problem z regex. Powinieneś być w stanie zrealizować tę funkcję, jeżeli przed dane użytkownika są oczyszczone, aby uniknąć problemów z regex / json parsowania. Ponieważ jest to kwestia wdrożenia będę musiał zamknąć ten raport za nieważne. Jeśli wciąż poszukuje dodatkowych spostrzeżeń i konkretnych wskazówek dla realizacji tego przepływu proszę pisać do naszego przepełnienia stosu, gdzie mamy Facebooka Inżynierów i szeroki wachlarz członków społeczności, którzy również przyczyniają. http://facebook.stackoverflow.com/ dbać i najlepsze życzenia z komunikatora bot. znak

To zdanie było szczególnie jasne:

Wiem, że to nieco kłopotliwe w obsłudze, ale odpowiedź ładowność przekazywana jest niezależny od tekstu, który został zaopatrzony w gwint messenger.

TLDR; Czy ktoś może poinformować mnie o tym, jak zapobiec przycisk od zalogowaniu ciąg ładunku, dzięki czemu można go używać do przekazania JSON do mojej aplikacji bez użytkownik widząc go?

Utwórz 02/08/2016 o 21:59
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Z mojego zrozumienia mówisz, że po naciśnięciu przycisku ładunek zamiast tekstu przycisku jest wyświetlane.

Czy definiowania przycisków w taki sposób?

    {
      type: "postback",
      title: "View Details",
      payload: "details:12345"
    }

Polecam usuwając wszelkie znaki specjalne, które zadzieraj z analizowania swojego ładunku. Dopóki znaki specjalne nie są niezbędne do doświadczenia użytkownika jest to prawdopodobnie w porządku rozwiązaniem.

Jeśli to nie rozwiąże problemu:

Można dodać zrzut ekranu przedstawiający przycisk jest wciśnięty przycisk, a wiadomość dziennika mówisz? Z mojego zrozumienia mówisz, że po naciśnięciu przycisku ładunek zamiast tekstu przycisku jest wyświetlane. To nie jest sprawa dla mnie, mój tekst przycisków pojawia się po naciśnięciu przycisku.

Odpowiedział 03/08/2016 o 16:24
źródło użytkownik

głosy
2

Upewnij się, aby skomentować się sendTextMessage()w receivedPostback()rozmowy:

function receivedPostback(event){
    sendTextMessage(senderID, event.postback.payload);
}
Odpowiedział 24/10/2016 o 16:01
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more