Chatbot z Pytonem : Spełnienie

https://szkolazpieklarodem.pl/

Aby uzyskać informacje w czasie rzeczywistym, o które prosi użytkownik, musimy opracować jakieś API lub skorzystać z istniejących. Aby to osiągnąć za pomocą Dialogflow, musielibyśmy skonfigurować realizację, która wymaga wdrożenia usługi i wywołania interfejsu API. Nie będziemy wdawać się w szczegóły tworzenia interfejsów API i sposobów ich wdrażania, ale jeśli kiedykolwiek próbowałeś korzystać z interfejsów API Google lub Facebooka, powinieneś przynajmniej wiedzieć, jak je wywoływać. Zbudowałem mały interfejs API oparty na Flasku i wdrożyłem go w Heroku. Będę go używać do realizacji, która po prostu pobiera dowolny identyfikator zamówienia w adresie URL i zwraca losowy status zamówienia. Jeśli nie znasz Heroku, nie martw się, możesz uruchomić dostarczony kod w swoim systemie lokalnym i przetestować go. W nadchodzącym rozdziale będziemy wdrażać wiele aplikacji przy użyciu Heroku, gdzie będziesz mógł dowiedzieć się rzeczy z tym związanych. W kodzie możesz przeczytać, jak analizowane są Order_identity,intentName itp. Tak więc w Dialogflow Fulfillment wyśle odpowiedź JSON z intencji na ten adres URL, który należy przeanalizować, aby uzyskać odpowiednie elementy i ich wartości oraz wykonać określone działania. Możesz także spróbować wdrożyć przykładowy kod aplikacji Flask na Heroku i mieć własny punkt końcowy pracujący w Twoim bocie w celu realizacji. Teraz Dialogflow wyśle odpowiedź JSON dotyczącą celu, dla którego w naszym punkcie końcowym włączone jest wywołanie webhooka. Posiada kod do analizowania encji Order_id i podejmowania na tej podstawie działań. Obecnie kod zwraca jedynie losowo wybrany status z listy. Aby sprawdzić, czy API działa, przejdź do POSTMAN i przetestuj go, korzystając z przykładowych danych na rysunku . Jeśli używasz aplikacji Flask lokalnie, użyj lokalnego adresu URL.

Per-āa : Senet

https://szkolazpieklarodem.pl/

Jedną z najstarszych gier planszowych jest Senet, co oznacza „grę w przemijanie”. Senet to gra strategiczna, podobna do tryktraka. Grano ją od Starego Państwa i często przedstawiano w grobowcach. Senet to gra dla dwóch graczy. Do gry potrzebujesz:

* Dwa rodzaje elementów – stożki i szpule. Każdy gracz wybiera rodzaj pionka, którego użyje na początku gry.

* Tablica senetowa. Plansze Senet mają ponumerowaną siatkę 30 kwadratów ułożonych w trzy rzędy po dziesięć. Możesz narysować i zrobić tablicę Senet samodzielnie lub użyj tablicy pokazanej na rysunku

* Zestaw czterech „kijów” lub „kostek”. Liczba kwadratów, które ruch na planszy Senet jest określany przez „rzucanie kijami” lub „rzucanie kostkami” – egipski odpowiednik rzucania kośćmi. Te cztery drewniane kije mają jedną stronę gładką i jedną pomalowaną. Kombinacja kolorowych boków widocznych podczas rzucania kijami określa liczbę pól, które poruszasz:

  • Kiedy widoczny jest tylko jeden pomalowany bok, przesuń się o jedno pole do przodu.
  • Kiedy widoczne są dwa pomalowane boki, przesuń się o dwa pola do przodu.
  • Kiedy widoczne są trzy pomalowane boki, przesuń się o trzy pola do przodu.
  • Kiedy widoczne są cztery pomalowane boki, przesuń się o cztery pola do przodu.
  • Kiedy nie widać żadnych pomalowanych boków, przesuń się o pięć pól do przodu.

Możesz stworzyć własny zestaw patyczków, kolorując lub malując jedną stronę czterech patyczków do lodu lub patyczków do rękodzieła.

Gracze zgadzają się grać z trzema, pięcioma lub siedmioma pionkami każdy. Celem gry jest przesunięcie wszystkich pionów z pola 1 na pole 30, używając drążków do określenia, o ile pól możesz przesunąć się w każdej turze. Obowiązują następujące ograniczenia:

* Jeśli Gracz 1 wyląduje na polu zajętym przez Gracza 2, gracze muszą zamienić się miejscami: Gracz 2 musi przenieść swój kawałek na pole, z którego rozpoczął Gracz 1.

* Wszyscy gracze muszą wylądować na polu 26 przed opuszczeniem planszy.

Ty i twój partner możecie stworzyć inne zasady i ograniczenia, aby gra była trudniejsza. Na przykład możesz zezwolić graczom na przerzucenie rzutu 4 między dwa oddzielne elementy. Możesz też zdecydować, że gracze muszą rzucić dokładną liczbą pól, aby osiągnąć pole 30 i ukończyć wędrówkę pionka przez planszę.

Chatbot z Pytonem : Testowanie bota messengerowego

https://szkolazpieklarodem.pl/

Aby móc udostępnić naszego bota do testów, musimy upublicznić naszą aplikację:

  1. Kliknij opcję Przegląd aplikacji w lewym menu Konsoli programisty Facebooka.
  2. Kliknij przełącznik w obszarze Upublicznij <Nazwa aplikacji>? Jeśli pojawi się komunikat Nieprawidłowy adres URL Polityki prywatności, przejdź do łącza Ustawienia podstawowe w oknie dialogowym i, jeśli jeszcze tego nie zrobiłeś, wpisz na razie dowolny adres URL Polityki prywatności, a następnie kliknij Zapisz zmiany. Teraz wróć do strony przeglądu aplikacji i spróbuj ponownie przełączyć aplikację na publiczną.
  3. Zostaniesz poproszony o wybranie kategorii swojej aplikacji.
  4. Wybierz z listy opcję Edukacja. Możesz wybrać, którykolwiek najlepiej pasuje do Twojego bota.

5. Kliknij przycisk Potwierdź, jak pokazano na rysunku , Upublicznianie aplikacji na Facebooku.

Będziemy musieli także utworzyć nazwę użytkownika dla naszej strony. Jest to nazwa użytkownika, z którą użytkownicy będą rozmawiać podczas korzystania z naszego bota. Aby ustawić nazwę użytkownika, kliknij łącze Utwórz stronę @Nazwa użytkownika w sekcji Informacje na swojej stronie, jak pokazano na rysunku . Przydaje się to, jeśli chcesz udostępnić swoją stronę lub bota osobom używającym tylko krótkiej nazwy.

Przetestujmy ten sam przepływ naszego bota na Facebooku Messenger, który testowaliśmy na stronie Dialogflow. Powinieneś być w stanie zobaczyć, jak zareagował mój bot Facebook Messenger, odwołując się do rysunków poniższych.

I tak, ludzie, budujemy naszego bota. Postaramy się osiągnąć to samo bez konieczności polegania na API lub dashboardzie Dialogflow. Zawsze dobrze jest mieć pełną kontrolę nad wszystkim, co się posiada, prawda? Uwaga: możesz przejść do ustawień swojego konta i bezpośrednio wyeksportować agenta lub zaimportować innych agentów. Możesz pobrać plik zip (OnlineEatsBot.zip). Możesz użyć tego pliku zip, aby zaimportować go do Dialogflow i pobawić się chatbotem, który zbudowaliśmy w tym rozdziale. Pewnie zastanawiasz się, co by było, gdybym chciał złożyć zamówienie w czasie rzeczywistym, sprawdzić status zamówienia za pomocą API sprzedawcy/restauracji i odpowiednio odpowiedzieć użytkownikowi? Może to być dowolne wywołanie API, które chcesz wykonać — pobierz dane w czasie rzeczywistym i sformułuj odpowiedź bota. Czas dowiedzieć się, jak to zrobić, zanim zakończymy ten rozdział i przygotujemy się do następnego. Dowiedzmy się o czymś, co nazywa się „Realizacja” w Dialogflow.

Per-āa : Granie w gry planszowe

https://szkolazpieklarodem.pl/

Chociaż dobry gawędziarz może zawładnąć tłumem na około godzinę, wieczór ma wiele godzin do wypełnienia. Egipcjanie spędzali wiele godzin grając w gry planszowe, z których trzy przetrwały. Te gry są znane jako Senet, Ogary i Szakale oraz Mehen – nazwy przetrwały przez tysiąclecia. Niestety zasady tych gier nie przetrwały. Jednak niektóre bardzo bystre osoby wymyśliły dla nich zasady oparte na liczbie kwadratów, rodzaju kości i liczbie pionków. Spróbuj zagrać w poniższe gry – lub opracuj własne alternatywne zasady.

Chatbot z Pytonem : Konfigurowanie webhooków

https://szkolazpieklarodem.pl/

Aby skonfigurować webhook naszego bota, wróćmy do Konsoli programisty Facebooka:

  1. Kliknij przycisk Konfiguracja w sekcji Dodaj produkt dla webhooków po kliknięciu pulpitu nawigacyjnego. Jeśli nie subskrybowałeś jeszcze webhooków, pojawi się opcja „subskrybuj ten obiekt”. Kliknij na to, aby wyświetlić nowe wyskakujące okienko i wprowadź następujące informacje:
  • Adres URL wywołania zwrotnego: jest to adres URL podany na stronie integracji Facebook Messenger.
  • Zweryfikuj token: to jest token, który utworzyłeś.

2. Przejdź do Messengera ➤ Ustawienia ➤ Skonfiguruj webhooki. Pojawi się wyskakujące okienko, jak na rysunku. Dodaj adres URL wywołania zwrotnego i zweryfikuj token.

  1. Sprawdź opcje wiadomości i messaging_postbacks w obszarze Pola subskrypcji. Zdecydowanie możesz wybrać to, co jest potrzebne w Twoim przypadku użycia.

4. Kliknij przycisk Zweryfikuj i zapisz. Sprawdź rysunek 3-18 w celach informacyjnych. Powrócisz do strony ustawień, a webhooki powinny mieć status „Ukończone”. Pamiętaj, aby wybrać stronę, do której możesz zasubskrybować webhook dla zdarzeń na stronie.

Per-āa : Rozbitek marynarz

https://szkolazpieklarodem.pl/

Młody żeglarz spotkał w dokach kapitana, który właśnie wrócił z nieudanej wyprawy. Kapitan był zaniepokojony wytłumaczeniem się królowi, więc żeglarz próbował go pocieszyć, opowiadając własną historię wyprawy do kopalni miedzi na statku ze 150 najlepszymi żeglarzami w Egipcie. Pewnego dnia młody marynarz i jego koledzy napotkali burzę, która zniszczyła statek i zabiła całą załogę, z wyjątkiem marynarza, który został wyrzucony na wyspę. Przez trzy dni siedział samotnie pod drzewem w szoku. Kiedy się ocknął, udał się w poszukiwaniu pożywienia i odkrył, że wyspa obfituje w figi, zboże, owoce, warzywa, ryby i ptaki. Zapakował ręce, rozpalił ognisko i zaczął przygotowywać obiad, gdy zaniepokoił go głośny hałas. Początkowo myślał, że to fala z morza, ale drzewa zatrzęsły się, a ziemia się poruszyła. Marynarz wzdrygnął się, gdy zobaczył zbliżającego się z dużą prędkością wielkiego brodatego węża. Wystarczy, aby zepsuć komuś dzień! Wąż wypytywał marynarza o jego obecność na wyspie, ale żeglarz był zbyt przestraszony, by mówić, więc wąż zaniósł marynarza w ustach do jego legowiska, gdzie ponownie zapytał marynarza. Marynarz opowiedział, co się stało z nim i jego załogą. Wąż go uspokoił i przepowiedział, że pozostanie na wyspie przez cztery miesiące, zanim rozpoznana przez niego załoga przybędzie, by zabrać go z powrotem do Egiptu. Następnie wąż opowiedział swoją własną historię o tym, jak został sam na wyspie. Wąż pierwotnie mieszkał na wyspie z 72 innymi wężami, w tym ze swoją młodą córką. Pewnego dnia gwiazda spadła z nieba i spaliła węże, zabijając wszystkich oprócz gigantycznego węża. Zapewnił żeglarza, że ​​choć strata na początku boli, żal z czasem znika. Po upływie czterech miesięcy marynarz zauważył na horyzoncie statek z rozpoznaną przez siebie egipską załogą. Załoga zacumowała, a wąż dał im mnóstwo smakołyków z wyspy, aby zabrali je z powrotem do Egiptu, które załoga natychmiast załadowała na statek. Następnie załoga wróciła do Egiptu, a król wezwał marynarza, aby wyjaśnił, co się stało z jego wyprawą. Został nagrodzony ziemią i tytułami za sprowadzenie smakołyków z wyspy. I wszyscy żyli długo i szczęśliwie!

Chatbot z Pytonem : Tokeny dostępu

https://szkolazpieklarodem.pl/

Interfejsy API Facebooka wymagają tokenów dostępu do stron do zarządzania stronami na Facebooku. Są one unikalne dla każdej strony, administratora i aplikacji i mają określony czas ważności.

Uwaga Zachowaj adres URL wywołania zwrotnego i token zweryfikowania pod ręką, aby móc teraz skonfigurować element webhook.

Per-āa : Opowiadanie niesłychanych bajek

https://szkolazpieklarodem.pl/

Dowody sugerują, że starożytni Egipcjanie uwielbiali niesłychane historie – chociaż ich metody opowiadania i tożsamość tych gawędziarzy są dziś nieznane. Narratorzy nie musieli być piśmienni, aby opowiadać dobre historie, więc mogli pochodzić ze wszystkich dziedzin życia. Historie były najprawdopodobniej opowiadane ustnie. Problem z jakąkolwiek tradycją ustną polega na tym, że za każdym razem, gdy opowiadana jest historia, zmienia się ona w zależności od osobistego planu, umiejętności i zainteresowań opowiadającego, a także od publiczności, która obejmowała wszystkie grupy wiekowe. Tradycje ustne nie mają reguł. W rezultacie historie mogą i przybierały formę poezji, śpiewów, a nawet bezczynnych plotek – wszystko to może zapewnić godziny rozrywki. Niektórzy skrybowie na szczęście postanowili nagrywać historie, które były częścią tej ustnej tradycji. Skrybowie mogli czuć, że zapisując te historie, przyczyniają się do ich dziedzictwa. Zachowało się wiele historii, w tym:

* Podróż Sinuhe, w której człowiek ucieka z Egiptu po śmierci króla i osiedla się w azjatyckim mieście, zdobywając władzę, aż zostanie wodzem.

* The Doomed Prince, w którym śmierć młodego szlachcica jest spowodowana jednym z trzech losów. Przez całe życie goli się z tymi losami.

* Opowieść o elokwentnym chłopie, w której prosty chłop na co dzień apeluje do sądów, imponując królowi swoją elokwencją. Ta długa historia pokazuje, że niski status nie oznacza ignorancji.

* The Shipwrecked Sailor , w którym marynarz zostaje uwięziony na wyspie zamieszkanej przez boskiego węża o długości wielu metrów.

* Pięć Opowieści o Magii i Cudzie, które opisują pięć oddzielnych wydarzeń wystawionych na dworze królewskim Starego Państwa, podczas których magowie dokonują różnych niesamowitych wyczynów magicznych dla rozrywki króla.

* The Tale of the Two Brothers, która opowiada historię rozdzielenia dwóch braci z powodu zdrady żony starszego brata.

* Opowieść o (innym) księciu skazanym na zagładę, która opowiada historię człowieka, któremu przepowiedziano metodę jego śmierci. Opowieść opowiada o jego podróży i o tym, jak omal nie trafił na żniwiarz więcej niż jeden raz. Co dziwne, spotyka też w wieży księżniczkę, która w ucieczce zrzuca włosy. Czy imię Roszpunka coś komuś mówi?

Chatbot z Pytonem : Zweryfikuj token

https://szkolazpieklarodem.pl/

Token weryfikacyjny to dowolny ciąg znaków wysyłany do punktu końcowego po zweryfikowaniu subskrypcji. Jest to konieczne, aby nasz serwer wiedział, że żądanie jest wysyłane przez Facebooka i dotyczy subskrypcji, którą właśnie skonfigurowaliśmy. Załóżmy, że ktoś inny poznaje Twojego webhooka i publikuje wiadomości podszywające się pod Facebooka, wtedy na obrazku pojawi się zweryfikowany token, a Ty zweryfikujesz, czy źródło jest prawidłowe, czy nie. W oparciu o ten token możesz obsługiwać żądania POST również z wielu źródeł, ponieważ dla różnych źródeł zostaną zdefiniowane różne tokeny, ale ten sam adres URL wywołania zwrotnego.

Per-āa : Odżywianie szarej materii

https://szkolazpieklarodem.pl/

Jak każda społeczność w historii, starożytni Egipcjanie mieli sportowców i bardziej pasywnych ludzi. Nie wszyscy Egipcjanie byli aktywni fizycznie, a niektórzy wybierali bardziej uważne sposoby spędzania czasu, zwłaszcza jeśli byli piśmienni. Pilne zajęcia nie były wyłącznie wyborem bogatych, a fizyczne rozrywki były nie tylko dla biednych. W rzeczywistości król w większości okresów był aktywnym myśliwym. Bardziej pracowite rozrywki były jednak przeznaczone dla piśmiennych – którzy byli przede wszystkim elitą – ale to nie znaczy, że biedny analfabeta nie lubił rysować na piasku, opowiadać historyjek lub grać w gry planszowe, a nie zapasy i kij walczący! W starożytnym Egipcie umiejętność czytania i pisania była bardzo niska, a tylko 1–5 procent populacji potrafiło czytać i pisać. (Nawet dzisiaj szacowany wskaźnik umiejętności czytania i pisania we współczesnym Egipcie szacuje się na 25 procent.) Jest to dla wielu trudna do przełknięcia statystyka, ponieważ dzisiejsza Wielka Brytania jest bardzo piśmienna (99,9 procent). Wiele dzisiejszych rozrywek zależy od umiejętności czytania i pisania, w tym czytania, krzyżówek, sudoku i pisania. Odkryto jeden przykład egipskiej krzyżówki. Chociaż ta krzyżówka nie miała wskazówek, została odkryta z wypełnioną siatką i wszystkimi słowami zazębiającymi się, tak jak we współczesnym świecie. Chociaż sudoku nie istniało w starożytnym Egipcie, istnieją również papirusy z licznymi matematycznymi i geometrycznymi zagadkami, nad którymi niektórzy egipscy skryby zastanawiali się przez wiele godzin. Spośród licznych egipskich skrybów, jeden jest szczególnie godny uwagi: Kenhirchepshef mieszkał w Deir el Medina w czasie XIX dynastii (patrz Ściągawka z historycznym harmonogramem) i szczególnie interesował się przeszłością. Wolny czas spędzał, podobnie jak ja, na badaniu historii Egiptu. Spisał dokładną listę wszystkich królów Nowego Królestwa w porządku chronologicznym. (Niestety, jego lista jest dziś bezużyteczna, ponieważ wykluczył niepopularnych królów i tych, którzy rządzili podzielonym krajem). Badacze sądzą, że Kenhirchepshef mógł odwiedzić wiele świątyń kostnicowych i zebrać informacje od pracujących tam kapłanów. Kenhirchepsef był również lingwistą i miał listę oficjalnych tytułów rządowych, które zaczynały się od „szefa”. Niestety nie wyjaśnił, co oznaczały tytuły, a wiele z nich znanych jest tylko z tej listy. Inni skrybowie spędzali wieczory i weekendy na pisaniu poezji miłosnej. Chociaż niektórzy uważają, że te wiersze zostały napisane przez chorych z miłości mężczyzn i kobiety, są one poprawne gramatycznie i sprytnie napisane z rymowanymi kupletami i grą słów. W związku z tym bardziej prawdopodobne jest, że zostały napisane przez profesjonalnych skrybów. Niestety autorzy tej poezji miłosnej są anonimowi. Niektóre z nich były prawdopodobnie dobrze znane w tamtym czasie, a ich praca prawdopodobnie często powtarzała się w świetle ognia.