Hoe Facebook Messenger Chatbot in PHP met gestructureerde berichten te bouwen.


135
135 points

Door de jaren heen hebben wij mensen onze problemen opgelost door het uit te spreken. Chatbots zijn de voortzetting van deze traditie in het digitale tijdperk.

Chatbots zijn een belangrijke trend geworden in het segment klantenservice en ondersteuning. Moderne chatbots maken gebruik van verschillende belangrijke technieken, waaronder machinaal leren en natuurlijke taalverwerking. Alle populaire websites gebruiken chatbots als de eerste fase van het klantenserviceproces. De chatbots bieden een basisniveau van dienstverlening aan de inkomende vragen en zorgen ervoor dat menselijke CSR’s niet bezig zijn met vragen met lage prioriteit. Veel merken gebruiken chatbots om inkomende vragen op sociale mediakanalen te ontvangen.

In dit artikel laat ik je zien hoe je je eerste Facebook-chatbot kunt bouwen met PHP. Het proces heeft verschillende onderling verbonden stappen, waaronder:

  1. Creatie van een Facebook-pagina.
  2. Creatie van een Facebook-applicatie en gerelateerde webhook.
  3. Creatie van geschikte klassen en en methoden.
  4. Aanvullende berichtensjablonen.

Stroop je mouwen op en duik erin!

Maak de Facebook-pagina

De eerste stap van het proces is het maken van een Facebook-pagina (vereist een actief Facebook-account).
Log in en maak vervolgens een pagina. Selecteer de juiste categorie en vul de vereiste informatie in, waaronder de naam van de pagina, het adres en contactgegevens. Voor dit artikel heb ik een pagina gemaakt met de naam Cloudways School

Cloudways School Facebook

Maak de Facebook-applicatie

De tweede stap is het maken van een Facebook-applicatie die raakvlakken heeft tussen de chatbot en de Facebook-paginachat. Ga naar de pagina Facebook-ontwikkelaars en klik op Nieuwe app toevoegen om de app te maken. Voeg alle vereiste informatie toe en klik op App-ID maken. Facebook kan u vragen om een ​​CAPTCHA-code te verifiëren.

De app verschijnt in het ontwikkelaarsdashboard. Open de applicatie en voeg messengerplatform toe aan de app.
Voeg vervolgens de webhook toe die de app verbindt met de website. Als u de webhook wilt toevoegen, genereert u het paginatoegangstoken.

Definieer vervolgens de terugbel-URL en het toegangstoken. Ga direct onder het tabblad voor het genereren van tokens naar het tabblad Webhook en klik op Webhooks instellen. Voer de URL in. Merk op dat, om dit te laten werken, de URL in https-formaat moet zijn.

Webhook Token verifiëren

Op dit moment is de webhook ingesteld en is het tijd om wat code te doen!

Opmerking: SSL-gebaseerde hosting is vereist voor de ontwikkeling van Facebook Messenger-botten. U kunt bestanden uploaden naar uw gewenste hostingprovider, zoals Bluehost , Hostgator , Siteground . Ik heb Cloudways gekozen en Let’s Encrypt geïnstalleerd voor SSL-certificeringsvereisten. Ik heb ook Filezilla gebruikt om bestanden te uploaden met behulp van Hoofdreferenties.

Vereiste klasse en methoden maken

In de ontwikkelingsfase heb ik Guzzle gebruikt in plaats van CURL omdat dit de nieuwste standaard is voor het werken met HTTP-aanvragen. Voer de volgende opdracht uit om Guzzle te installeren:

componist vereist guzzlehttp / guzzle

Met deze opdracht maakt u een leveranciersmap en installeert u Guzzle in de map van het project. Maak nog twee bestanden in de map FbBot.php (voor de hoofdklasse) en bot.php (voor het verwerken van berichten via klassemethoden).

Ik zal beginnen met de code van FbBot.php. Open het bestand in uw editor en voeg de volgende code toe.

Vergeet BFCM! Save, schaal en win Cloudways Swag deze zomer! [Weggeven]

In het begin van de code heb ik Guzzle HTTP-bestanden opgenomen om Guzzle te initiëren. Daarna heb ik een klasse gemaakt en de juiste variabelen aangegeven omdat Messenger bot hub moet verifiëren en toegangstoken moet overeenkomen met de vereisten van de webhook en de uitdaging moet voltooien voordat ik het bericht beantwoord.

setHubVerifyToken()setAccessToken()stelt beide tokens in die beschikbaar worden gesteld in bot.php. verifyTokken()zal het volledig verifiëren hub_verify_tokenen de uitdaging retourneren.

readmessage()ontvangt het inkomende bericht en retourneert het sendmessage(), waarna het overeenkomt met het bericht (met if-instructies) en het antwoord terugstuurt naar de Messenger.

Om het proces te voltooien, zal ik nu een ander bestand bot.php maken en de volgende code erin toevoegen.

In deze code heb ik eerst de configuratie ingesteld, $hubVerifyTokendie exact dezelfde variabele is die ik in de webhook van de Messenger-app had gezet. Na de uitdaging heb ik de klas geïnitialiseerd, de tokens ingesteld, inkomende berichten gelezen en doorgegeven als een argument om te verwerken, en uiteindelijk het vereiste antwoord naar de Messenger gestuurd.

Het resultaat van deze activiteit is dat wanneer ik naar de Facebook-pagina ga en Hallo zeg, de bot Hallo zal antwoorden.

Hallo reactie

Nu kunt u beginnen met praten met de chatbot! Als u dit aanvinkt sendMessage(), is er een voorwaarde die de reactie afhandelt:

Aanvullende berichtensjablonen

Om verschillende berichten uit te proberen, kun je de klas aanpassen.

Ik zal nu een meer gestructureerde antwoorden voor de chatbot introduceren. Stel, er is een blogpagina op Facebook en een bezoeker vraagt ​​de bot naar de nieuwste blogs. Als reactie hierop reageert de blog met de nieuwste blog, zoals hieronder weergegeven:

Algemeen sjabloonbericht

U kunt de if-structuur uitbreiden om aangepaste antwoorden toe te voegen voor verschillende situaties. Hieronder wordt een voorbeeldlogica gegeven:

Laten we aannemen dat iemand de bot om een ​​lijst met blogs vraagt, de bot kan zoiets sturen als:

Lijstbericht

Dit bericht kan worden verzonden met behulp van de lijstsjabloon van Facebook Messenger. Gebruik de volgende code om deze functionaliteit te implementeren:

Conclusie

Het ontwikkelen van een Facebook Messenger-chatbot is een relatief eenvoudig proces en veel opwindend. Met PHP en de native tools van Facebook kun je een zeer functionele chatbot in een mum van tijd in gebruik hebben. nou dit is geen oefening, je kunt meer doen met je chatbot. Als je een wegversperring tegenkomt in de ontwikkeling van je chatbot of je wilt toevoegen aan het gesprek, laat dan hieronder een reactie achter.


What's Your Reaction?

hate hate
0
hate
confused confused
0
confused
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win

0 Comments

Your email address will not be published. Required fields are marked *

Choose A Format
Personality quiz
Series of questions that intends to reveal something about the personality
Trivia quiz
Series of questions with right and wrong answers that intends to check knowledge
Poll
Voting to make decisions or determine opinions
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Meme
Upload your own images to make custom memes
Video
Youtube, Vimeo or Vine Embeds
Audio
Soundcloud or Mixcloud Embeds
Image
Photo or GIF
Gif
GIF format