Készítsen egy személyes Facebook Messenger Botot 10 perc alatt a Nodejs és a Standard Library segítségével

Nem lenne fantasztikus, ha van egy személyes csevegőbotja, amely hűvös cuccokat küld a nap folyamán? Talán frissítheti otthoni készülékeinek állapotát, vagy küldhet aranyos macskaképeket a Reddit-től?

Építsünk egyet, amely elküldi neked a kedvenc alhitelek legfelsõbb hozzászólásait. Természetesen bármilyen tartalommal kiterjesztheti, amelyet el szeretne küldeni.

A bot az Ön által megadott alhitelekből elküldi a legfontosabb üzeneteket

Ehhez három dologra van szükségünk:

  1. Facebook oldal A Facebook Messenger bot társítva van egy Facebook oldallal. Be kell jelentkeznie Fejlesztőként, majd létre kell hoznia egy oldalt.
  2. Dialogflow A Google Dialogflow segítséget nyújt az NLP (természetes nyelv feldolgozása) területén. Ez később segít, ha kibővíteni szeretné botját, hogy reagáljon konkrét dolgokra.
  3. Kód a standard könyvtárban A legnagyobb dolog a szeletelt kenyér óta, a Kód a standard könyvtárban segít a kód futtatásában a felhőben. Ez lesz a működésünk agya.

Most kezdjük el.

A Facebook oldal beállítása

Nyissa meg a developers.facebook.com webhelyet, és jelentkezzen be a Facebook hitelesítő adataival. Miután bejelentkezett, kattintson az Első lépések elemre, és kövesse az utasításokat az Új alkalmazás hozzáadásához.

Hozzon létre egy új alkalmazást az FB fejlesztői portálján

Adjon nevet az alkalmazásának. Ez a név fogja kapni az értesítéseit. Tegye valami hűvösvé, mint például Darth Vader.

Ezután keresse meg a bal oldali sáv menüje Irányítópult fület. Görgessen lefelé a Messenger kereséséhez, és válassza a Beállítás lehetőséget. Messenger hozzáadása előtt létre kell hoznia egy Facebook oldalt.

Az Irányítópult fülön válassza a Messenger kártyán a Beállítás lehetőséget, majd hozzon létre egy új oldalt

Ez elviszi a Facebook-ra. Kövesse az utasításokat a közösségi vagy közéleti személyiség oldalának létrehozásához.

Hozzon létre egy közösségi vagy közösségi szereplő Facebook oldalt

Miután elkészítette az oldalt, váltson vissza az FB Developer portálra, és frissítse az oldalt. Most látnia kell oldalt a Válassza ki az oldalt legördülő menüben.

Frissítse az oldalt, majd válassza ki a Facebook oldal nevét a legördülő listából egy token létrehozásához

Most állítsuk be a Dialogflow alkalmazást. Kattintson a Console konzolra, és jelentkezzen be Google hitelesítő adataival.

A Dialogflow a természetes nyelv feldolgozását használja a chat-beszélgetés megértéséhez

Kattintson az Agent létrehozása elemre, és töltse ki az adatokat. Adj nevet az ügynökének. Lehet, hogy ugyanaz a név, mint a Facebook oldala.

Adjon nevet az ügynökének, és válassza ki a megfelelő időzónát

Amikor létrehozza az ügynökét, automatikusan hozzáad két szót. Kattintson az Alapértelmezett üdvözlő szándék szerkesztésére.

Felvehet további szándékokat, ha akar.

Az Események szakaszban adja hozzá a FACEBOOK_WELCOME eseményt. Ez lehetővé teszi a robot számára, hogy felismerje a felhasználót, amikor először lép kapcsolatba a robotnal.

Add hozzá a Facebook üdvözlő eseményeket

Görgessen le az oldalon, és törölje az alapértelmezett válaszokat a kuka ikonra kattintással, mivel a felhasználónak a kódunk alapján fogunk válaszolni.

Az alapértelmezett válaszok törléséhez kattintson a Kuka ikonra

Görgessen tovább tovább, és engedélyezze a Teljesítés funkciót. Ez biztosítja, hogy az összes kérést a Szabványkönyvtár Kód chatbot funkcióján keresztül irányítsuk.

Engedélyezze a Fulfillment üzenetek fogadását a webhookon

Ezután csatlakoznunk kell a Facebook Messenger-hez a Dialogflow-hoz. Kattintson az Integrációk elemre.

Az integrációk lehetővé teszik az ügynök számára, hogy különféle szolgáltatásokkal dolgozzon, beleértve a Facebook Messenger alkalmazást

Kapcsolja be a Messenger-integrációt. Ez megnyitja a modális ablakot. Két dolgot kell itt megadnia. Az első a Verify Token, amely bármilyen szöveg lehet, a második az Page Access Token.

Váltás a Facebook fejlesztői portálra, és másolja az Oldal-hozzáférési tokent.

Válassza ki az oldal nevét a legördülő menüből az oldal-hozzáférési token létrehozásához

Illessze be az Oldalhozzáférési jogkivonatot a Dialogflow modul ablakába, és írja be az ellenőrző tokent. Kattintson a START gombra az integráció elindításához. Most kattintson a vágólap ikonjára a visszahívási URL másolásához.

Kattintson a Vágólap ikonra a visszahívási URL másolásához

Most váltson a Facebook fejlesztői portálra. Ideje beállítani a Webhooks integrációt. Válassza a Beállítás webhook elemet, amely a Token Generation szakasz alatt található. Illessze be a másolt URL-t a Visszahívási URL mezőbe, és írja be az előző lépésben megadott ellenőrző tokent. Jelölje be az összes előfizetési mezőt.

Nem mindegyik szükséges, de a Dialogflow gondoskodik a szükségtelen dolgokról és csak a relevánsokat küldi el Önnek

Kattintson az Ellenőrzés és mentés elemre, és ha mindent helyesen állított be, akkor egy zöld jelölőnégyzetet kell látnia a Befejezés lehetőséggel. Most válassza ki az oldal nevét a legördülő menüből, és kattintson az Előfizetés gombra.

Válassza ki az oldal nevét a legördülő menüből, majd kattintson a Feliratkozás elemre, hogy feliratkozzon oldalára

Van még néhány dolog, amire szükség van a telepítés befejezéséhez. Lépjen a Beállítások> Alapvető elemre, és adja hozzá az adatvédelmi irányelvek URL-jét, és válassza az alkalmazás kategóriáját. Az adatvédelmi irányelvek URL-je bármilyen érvényes URL lehet.

Használhatja a kódhoz mellékelt adatvédelmi irányelveket is, amint azt az alábbiakban a Kód a szabványos könyvtárban fejezet ismerteti
Írja be az adatvédelmi URL-t, és válassza ki az oldal kategóriáját

Mentsd el a módosításokat, és kapcsolja be az állapotgombot az alkalmazás életbe léptetéséhez.

Az ikon élő állapotot mutat. Gondolkodhat arra, hogy azt gondolja, hogy ez azt jelenti, hogy az egész világ láthatja az alkalmazását, és interakcióba léphet vele. Dehogy.

Az alkalmazás élő

Kód a normál könyvtár beállításához

Itt él a kódunk, amely lehetővé teszi az összes kommunikációt. Amikor üzenetet küldünk a botunknak a Facebookon, az először a Dialogflow-ra megy. A Dialogflow a megfelelő szándékra irányítja, majd továbbítja a funkciónkhoz - ez a funkció.

Az első az fb-messenger-bot keresése a közösségi API-forrásokban. Kattintson az Új API létrehozása elemre.

A létrehozás után három fájl jelenik meg a függvények mappában.

  1. __main __. js A fő funkció lehívja a Reddit üzeneteket, és elküldi azokat a felhasználóknak. Az alhitelek testreszabásához módosítsa a funkció felső részén található több objektumot.
  2. webhook.js Ez a funkció kezeli a Dialogflow összes webhook kérését. Itt adhatja hozzá az egyéni szándékokat, ha kibővíteni szeretné a bot funkciót.
  3. privacy.js Tudta, hogy a Szabvány könyvtár funkcióihoz tartozó kód visszaadhatja a HTML fájlokat? Ez egy adatvédelmi fájl, amelyet az FB fejlesztői portálon használhat. Az URL a következőképpen néz ki: https://username.lib.id/[email protected]/privacy. A dokumentum aljára fel kell vennie saját e-mailjét.

Most keresse meg az env.json fájlt, és töltse ki a környezetet a Standard Library Token és a Facebook Page Access Token használatával.

A normál könyvtári token lekéréséhez helyezze a kurzort a sárga idézetek közé, és kattintson a jobb gombbal. Válassza ki a Standard Library Token-t a legördülő menüből, és a változónak automatikusan ki kell töltenie.
Írja be az FB Access Token és a Standard Library Token az env.json fájlba

Az env.json fájl mentése után kattintson a Futtatás gombra.

A szolgáltatás telepítéséhez kattintson a Futtatás gombra
Ne feledje, hogy minden egyes kód megváltoztatásakor el kell mentenie, majd futtatnia kell az új kód telepítéséhez.

A telepítés után másolja a megjelenített API végpont URL-jét. Ez a webhook végpontja.

Most fejezzük be a Dialogflow beállítását. Váltson a Dialogflow-ra, kattintson a Teljesítés elemre, és kapcsolja be a Webhook-ot.

Engedélyezze a webhook-ot, és adjon hozzá URL-t

Helyezze el a másolt URL-t a / webhook / segítségével, és kattintson az oldal alján található MENTÉS lehetőségre. A webhook URL-jének a következőnek kell lennie: https://username.lib.id/[email protected]/webhook/

Függelék / webhook / az alap URL-hez

Már majdnem kész. Csak annyit kell tennünk, hogy engedélyezze botunkat a Facebook oldalon. Nyissa meg a Facebook oldalát, és kattintson a Gomb hozzáadása elemre. Válassza az Üzenet küldése lehetőséget, töltse ki a részleteket és mentse.

Adjon hozzá egy Üzenet küldése gombot a Facebook oldalához

Most, amikor az egérmutatót az Üzenet küldése gomb fölé mutat, megjelenik egy legördülő menü. Kattintson a Teszt gombra.

Kattintson a Teszt gombra a bot teszteléséhez

Ezzel megnyit egy csevegést az Indulás gombbal. Kattintson rá, és ha mindent helyesen állított be, a „Woohoo!” -El üdvözöljük. Üdvözlet {Név}. Felkerült az adatbázisba. ”.

Ez azt jelenti, hogy felhasználóként felkerült a Standard könyvtár helyi tárolójának Kód funkciójába.

Ha újból „Hi” üzenetet küld, akkor a „Hi {Name} üzenettel válaszol, már felkerült az adatbázisra.”

Most a telepítési feladatokhoz.

Kódfeladatok a standard könyvtárban

A Code egyik legmenőbb tulajdonsága a standard könyvtárban a Feladatok. A Feladatok beállításakor a kód automatikusan fut egy megadott ütemezés szerint.

Kattintson a Feladatok elemre, hogy beállítsa a kódot az ütemezéshez
Jelenleg napi négy értesítést állítottam be. Bármelyik számra megváltoztathatja. Ne feledje, hogy meg kell változtatnia a max_notifications változót is a függvény tetején, és ugyanannyi ismételhető feladatot kell hozzáadnia a cron specifikációhoz.

A Feladatok ablakban válassza ki a bot funkciót, hogy ütemezést adjon hozzá.

Válassza ki a funkciót, hogy hozzáadja a Feladat ütemezését

A Feladat ütemezését az Ütemezés legördülő menü segítségével állíthatja be. De szeretnénk egy kicsit több irányítást, ezért használjuk az Advanced (cron) alkalmazást.

Kattintson az Advanced (cron) gombra, hogy a cron kifejezéseket használja a feladat ütemezéséhez

A cron kifejezés nagyon zavaró lehet megérteni. A kifejezés 5 értéket vesz igénybe - * * * * * *. Az első a percérték, a második az óraérték.

Tehát, ha beír a 30 5,8,11,15 * * * értéket, akkor azt 4 feladatra kell fordítani 05:30, 08:30, 11:30 és 15:30 órakor, minden nap megismételve. Az idő UTC-ben van megadva, így hozzá kell adnia vagy le kell vonnia az időzóna eltolását a helyes idő szerint.

Mivel Indiában élek, és az időzónám eltolása +05: 30, ez az ütemterv helyi idő szerint 11:00, 14:00, 17:00 és 21:00 órakor fog futni.

Ha a cron kifejezés érvényes, akkor a következõ három hívási idõ látható az alatt

Kattintson a Feladat ütemezése elemre, és kész. Most már értesítéseket kell kapnia az üzenetküldőjén az ütemezett időpontokban.

Ha ki akarja próbálni a feladatok ütemezését, válassza a percet egyszer. Miután megkapta a megfelelő üzeneteket, kapcsolja ki és használja a fenti cron kifejezést vagy valami hasonlót az ütemezés testreszabásához.

Gratulálunk! Most már személyes chatbotod van. Az elkövetkező hónapokban további oktatóanyagokat adok hozzá arról, hogy milyen érdekes dolgokról cseveghetünk.

Nézze meg az Alexa rádió-készség létrehozása lehetőséget, ha Alexa-készséget szeretne építeni személyre szabott rádióállomásaival.