Slides and assets for the FBBot workshop [first presented at Toronto Ruby Hack Night, June 30, 2016]
Workshop for learning Chatbots, Facebook messaging and Wit.ai
Created by David Andrews and Jason Schweier
Slides for the workshop are here: FYI remarkise doesn't work in Safari, sorry
https://gnab.github.io/remark/remarkise?url=https://raw.githubusercontent.com/k00ka/fbbot/master/SLIDES.md
###Introduction This project is a simple Ruby project. The workshop comes in four parts:
- create a Facebook app and host it on a page
- create a Wit.ai bot
- connect Facebook and Wit.ai
- customize your bot for a particular purpose
###Setup
Here are the steps to get you started with the repo.
- For this workshop, you will need a laptop with the following:
- Ruby 2.x
- A Github account
Note: We have included a .ruby-version
file locked to 2.2.3, which you can change to any Ruby 2.x version if you don't have 2.2.3 installed
More detailed instructions for each platform are included in the footer. Refer there if you are having issues.
-
Fork the repo (optional, recommended): From the page https://github.com/k00ka/fbbot, click the Fork button in the top-right corner. Copy the new repo address (in a box just below the thick red line) into your clipboard. Detailed instructions on forking a repo can be found here: https://help.github.com/articles/fork-a-repo/
-
At Ryatta Group we use rbenv, and so we've included some optional elements - just skip them if you're using rvm or are not versioning your Ruby. If you forked the repo above, your repo_address will be in your clipboard. If not, you should use my repo_address
[email protected]:k00ka/fbbot.git
% git clone <paste repo_address>
% cd fbbot
% gem install bundler
Fetching: bundler-1.7.4.gem (100%)
Successfully installed bundler-1.7.4
1 gem installed
% bundle
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Installing rake 10.3.2
...
Using bundler 1.7.4
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
Note: if you use rbenv...
% rbenv rehash
You are (almost) there!
- do the above
- create an ngrok account - http://ngrok.com
- download and install ngrok
- start ngrok
- sign into Facebook
- create a page - community - use your name and check “add to favorites”
- go here https://developers.facebook.com/quickstarts/?platform=web
- create a new app (I called my k00kabot)
- paste your ngrok URL into Site URL (check this)
- in your project space (shell) type: rackup -p 3000 (don’t hit return)
- back in the browser go to your app using top-right menu
- click dashboard
- click Show beside App Secret
- copy the app secret token to the end of your command line
- add Messenger on the left menu
- choose your new page from the page dropdown
- accept the warnings
- copy the page access to the end of your command line
- click setup web hooks
- copy ngrok HTTPS token into the callback URL
- set your verify token to something you’ll remember
- add the verify token to the end of your command line
- click at least the “messages” checkbox
- add the text “config.ru” to the end of your command line
- hit enter on your command line to run the bot (WEBrick starts)
- click verify and save on the application page (should verify)
- surf back to your new page
- click the “. . .” in the header and choose “View as page visitor”
- click “Message” in the header
- send a message - you should see “Hello, human”
- type ctrl-c to stop your script (don’t kill ngrok!)
- echo your command line into the file run1.sh (note: it’s in .gitignore, so you can't check it in with your private deets)
- chmod +x run1.sh
- CELEBRATE BRIEFLY - you have integrated with Facebook successfully - you're 1/3 of the way there