Introduction: Raspberry Pi Powered Facebook Chatbot

If you haven't heard already, Facebook recently announced their new Messenger based chatbot store at the F8 Facebook Developer conference in San Fransisco. Along with that, they also announced a platform called Wit.ai aimed at making it easy to give your bot natural language understanding.

In this video series, I'm going to be making a Raspberry Pi powered Facebook Chatbot with the *new* Raspbery Pi 3. The chatbot will be coded to send me news articles on demand. For this tutorial, any Raspberry Pi 2 or 3 with wifi access should work just fine.

Step 1: Server Setup

First, you will need to setup your server. For this tutorial I am going to use Node.js because it takes very little effort to setup a server. We'll then create a new app on the Facebook Messenger platform and send some basic messages from the bot.

Step 2: Improved Features

Now that we have a basic server setup, we need to add some features so that we can send news articles to subscribed users. In order to do this, we will need to setup a database. In this tutorial, I'm using MongoDB because it is very simple to use with the 'Mongoose' Node.js module.

I also spend some time cleaning up the code and extending my news article functions with Facebook's updated documentation.

Step 3: Wit.ai

Finally, now that all of our basic functions are written, I spend some time teaching our bot how to understand natural language. Wit.ai is Facebook's solution to NLU (Natural Language Understanding). You can easily teach intent and create stories which tell your bot how to respond to multi-turn queries.

That's it! Now you should have all the tools necessary to make your own chatbot. If you make a variation of this project, please share!

If you get stuck anywhere, post a comment so that I can help unblock you.

Thanks,

Aaron @HackerHouse