Bygga en Facebook Messenger Jobb Bot för Coinmonks med Crowdbotics App Builder

Jag använde Crowdbotics App Builder för att bygga och distribuera en Facebook Messenger-chatbot för mitt företag. CB Builder hjälpte mig att komma igång snabbare. Så här fungerar det.

Förutom att ibland bidra med artiklar till Crowdbotics, driver jag också Coinmonks - en Blockchain-jobbportal och en Medium-publikation. Vi har en Facebook-sida där människor ofta pingar oss för hjälp med blockchainjobb. När jag fick veta om det nya Facebook Messenger-stället på Crowdbotics App Builder tänkte jag, låt oss bygga en bot för min företagssida som automatiskt skickar jobb till de själar som söker dem. Jag hoppade på Crowdbotics beta App Builder och började bygga en bot för vår Coinmonks Facebook-sida.

När det gäller att bygga en ny app älskar jag att använda Crowdbotics 'byggnadsställningar. Det gör mitt liv så mycket lättare. Jag har använt Crowdbotics App Builder för att hjälpa mig bygga flera olika nya appar snabbare och renare än jag annars skulle ha kunnat.

Kolla in live Bot här.

Vad är Crowdbotics App Builder?

Jag förklarade detta på min tidigare blogg där jag byggde en liten cryptocurrency portfölj tracker med Crowdbotics. Jag kommer att sammanfatta kort:

Med Crowdbotics App Builder kan du bygga, distribuera och skala applikationer med högkvalitativa appmallar. (Om du inte är en utvecklare kan du också anställa domänsexpertutvecklare direkt via Crowdbotics-appen. I huvudsak tar Crowdbotics hand om den första installationen och devops som kan vara ganska tidskrävande och ibland svåra att få rätt - särskilt för apptyper och ramverk som du inte är särskilt bekant med.
Ställ in din egen Facebook Messenger-bot på 30 sekunder med Crowdbotics App Builder

Bygga en Facebook Messenger Bot

När du använder Facebook Messenger Bot-ställning på Crowdbotics ger det dig två saker:

  • Facebook messager bot config + Grundkod
  • Wit.ai-konfiguration + Grundkod

Nödvändig förutsättning

  • Facebook-sidotoken
  • Vit AI-token

När du skapar ditt byggnadsställning med Crowdbotics App Builder kommer det att be om Facebook-verifieringstoken (beslutat av dig), Facebook Page token och Wit.ai Token. The Wit.ai Team

Hur får jag Facebook Page token?

Du kan läsa här om hur du ställer in en Facebook-app och får "sidetoken" för din app. Jag lägger till steg för enkelhet Om du blir förvirrad läser du den här guiden.

  1. Skapa ett Facebook-utvecklarkonto, om du inte redan har ett.
  2. Skapa en Facebook-sida om du inte äger en.
  3. Skapa en ny Facebook-app med den här länken.
  4. Lägg till grundläggande info, du behöver inte fylla på extra information när du utvecklar botten.
  5. Lägg till messenger med alternativet "Lägg till produkt".
  6. I messenger-inställningar, få "Sidatoken". Nästa skaffa en webhook.

Skaffa en webhook

Facebook skickar händelser till din ansökan med hjälp av webböcker. I det här steget ser du hur Crowdbotics verkligen sparar tid. Så när du skapar ett byggnadsställning lägger Crowdbotics till ett nytt arkiv som du klonar för att utveckla din applikation. Detta är mitt arkiv som Crwodbotics skapade automatiskt för mig.

För närvarande är detta ställning i Python, men jag vet att Crowdbotics planerar att lägga till fler språk.

När du lägger till en Webhook på messenger-plattform skickar den en verifieringstoken med en utmaningssträng, du måste återställa den här strängen, det är så Facebook kontrollerar att Webhook är levande och giltig.

Crowdbotics-ställningen har redan kod för detta.

@ app. == FB_VERIFY_TOKEN: # svara med utmaningen för att bekräfta utmaning = request.query.get ('hub.challenge') returnera utmaningen annars: returnera 'Ogiltig begäran eller verifieringstoken'

Kör Facebook-messenger Scaffold

Crowdbotics Messenger-ställning använder Bottle, en lätt WSGI-mikrowebram för Python. För att köra ställning måste du skapa en virtuell miljö och installera beroenden. Du kan använda kommandon nedan för det. Innan det måste du installera pipenv. Låt oss köra vårt ställning.

pipenv --python /usr/bin/python3.5
pipenv installera
python messenger.py 8080

Obs! Jag använder ubuntu.

Du bör lägga till alla tokens (WIT_TOKEN, FB_PAGE_TOKEN, FB_VERIFY_TOKEN) som miljövariabler eller för testningsändamål lägg dem direkt i messenger.py och hello.py. (Inte en säker övning).

Obs - FB_VERIFY_TOKEN är "verifiera token" som du bestämmer. I mitt fall var det enkla myntmynt. Detta "verifiera token" kommer att användas när vi lägger till vår webhook på Facebook-appkonsolen.

Använda Ngrok

Webhooks måste ha ett giltigt SSL-certifikat, signerat av en certifikatutfärdare och kommer inte att fungera på din localhost, så vi kommer att använda ngrok som proxy för att avslöja vår lokala värd för facebook webbhook URL. Installera helt enkelt ngrok och kör under kommandot.

./ngrok http 8080

Detta ger oss en Https-URL som vi kommer att ange medan vi lägger till vår webhook.

Lägga till Webhook på Facebook

Nu måste vi lägga till denna webhook i Facebooks appkonsol. Gå till din app och lägg till denna webhook och prenumerera på meddelanden och messaging_postback-händelser för din Facebook-sida. När du lägger till webhook skickar facebook en get-begäran till vår app för att verifiera vår webhook.

Obs! Vår webbhook ligger under YOUR_NGROK_URL / webhook.

Interagera med vår bot

Om du kunde göra ovan installationen är vi nu redo att interagera med vår messenger bot. Skicka bara ett meddelande från messenger app eller facebook desktop till din sida. På ngrok-konsolen kan du se att facebook skickar en postbegäran till din app. Crowdbotics-ställning har redan kod för att hantera den grundläggande interaktionen också .

Lägga till Coinmonks Jobs API

Jag behövde inte Wit.ai, så jag använde det inte, jag konverterade snarare Coinmomks Jobs RSS-flöde till JSON och använde det för att skicka jobb till via messenger. Jag skrev en liten NodeJs-app för detta, eftersom jag har svårt att hitta ett bra RSS till JSON-bibliotek. (Om du har en rekommendation, låt mig veta det.)

Du kan kontrollera den Node-appen här, den är värd på Glitch.

Testa vår Messenger Bot

Bot är live och du kan använda den för att få blockchains-relaterade jobb.

För att testa vår botkontroll här.

Kom ihåg att du måste använda "jobb" -sökord för att få resultaten, så att du bara kan skriva "jobb" så får du resultat från Coinmonks Jobbsportal.

Distribuera vår bot på Heroku

Crowdbotics hjälper dig att distribuera din app på Heroku. För att distribuera budbäraren lade jag till en ny fil med namnet Procfile (Ingen förlängning) och lägg till under denna rad i filen.

web: python messenger.py $ PORT

När du har distribuerat bör du ändra webbhookens URL.

Messenger för utvecklare

Facebook messenger-plattformen erbjuder en rik uppsättning API: er. Här är några viktiga funktioner:

  • Meddelanden - Skicka och ta emot text, media, strukturerade mallar och mycket mer
  • Betalningar - Acceptera betalningar i konversationer eller bygg ditt eget flöde i webbvyn
  • Naturligt språkbearbetning - Få konversation och få kontext med naturlig språkbearbetning inbyggd direkt

@ Facebooks integration av olika tekniker på messenger-plattformen gör det möjligt för utvecklare att bygga mycket engagerande applikationer och bots.

Att bygga bots är kul. Om du är en utvecklare bör du kolla in Facebook Messenger-plattformen. Att använda Crowdbotics gör ditt liv enklare också . Crowdbotics App Builder är ett mycket användbart gratisverktyg för utvecklare.

Messenger för företag

Facebook ger många funktioner på sidor som kan driva försäljnings- och marknadsföringsinsatser. Varje företag bör ha en Facebook-sida och om du redan har en så kan du engagera dina användare / kunder med messengerbots. Det finns tusentals appar som redan integreras i Facebook messenger-plattformen.

Facebook har mer än 22 miljarder genomsnittliga månadsvisningar och mer än 2,27 miljarder aktiva användare per månad. I USA är Facebook Messenger den mest populära mobilmeddelanden-appen när det gäller antalet användare. Med 103,55 miljoner aktiva amerikanska användare varje månad [februari 2018]. Om du är affär bör du utnyttja Facebook Messenger-plattformen för att nå en bredare publik och engagera din kund eller få nya kunder.

Så vad väntar du på? Bygg en messenger bot!

Ställ in och distribuera en app med Crowdbotics App Builder här gratis. Jag rekommenderar att du försöker.

Om du har frågor eller feedback på min Facebook messenger-app, släpp dem i kommentarerna.

Tack!