Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Plugging in your Bot - An extensible bot framework for Drupal 8
Rafael Silva
April 25, 2017
Programming
1
110
Plugging in your Bot - An extensible bot framework for Drupal 8
Presentation at DrupalCon 2017 Baltimore
Rafael Silva
April 25, 2017
Tweet
Share
More Decks by Rafael Silva
See All by Rafael Silva
rfsbsb
0
53
rfsbsb
1
42
rfsbsb
0
96
rfsbsb
1
43
rfsbsb
1
37
Other Decks in Programming
See All in Programming
marcoow
0
160
77web
2
2.2k
ajstarks
2
410
hamakou108
4
490
andpad
0
340
minecr
0
110
hiro_y
1
440
tooppoo
1
440
nerocrux
2
680
syucream
4
1.4k
dora1998
0
160
hkusu
0
260
Featured
See All Featured
jasonvnalue
81
8.1k
cassininazir
347
20k
shlominoach
176
7.6k
destraynor
146
19k
kneath
294
39k
hannesfritz
28
970
jakevdp
776
200k
sugarenia
233
880k
sferik
612
55k
zenorocha
296
40k
chriscoyier
779
240k
hursman
107
9.3k
Transcript
Plugging in your Bot An extensible bot framework for Drupal
8
Who we are & @rfsbsb @ezufelt
We build the right thing, fast. @myplanetHQ
PREMISES • This talk is not about AI • This
talk is about chatbots, Drupal and the end user • This talk is also about extending Drupal with plugins
WHAT ARE WE GOING TO COVER? • Chatbot overview •
Common use cases for chatbots • Current state of chatbots and Drupal • Our implementation • Demos • Future for chatbots and Drupal
What are chatbots?
A chatbot is a service, powered by rules and sometimes
artificial intelligence, that you interact with via a chat interface. “ Chatbot Magazine
Common use cases
EXAMPLES OF CHATBOTS • Weather/forecast (HiPoncho Facebook bot) • Survey
(Surveybot) • Todo list (Todobot) • News (CNN Facebook bot) • Catalog/buying options (Nordstrom bot) • Just chat (Xiaoice)
Chatbots and Drupal
CHATBOTS AND DRUPAL • Bot • AIML Parser • Facebook
Messenger Bot
Enter the Chatbot module
THE CHATBOT MODULE • Drupal 8 • Forked from Whitehouse’s
Facebook Messenger Bot module • It’s extensible through the Plugin API • Comes with 2 plugins: Facebook and Slack
COMPONENTS OF A CHATBOT • Message Type • Messages •
Steps • Workflows
Message Types Buttons Text Image Decision Video
Step
Workflow
DEMO
EXTENDING THE CHATBOT MODULE • You will implement a plugin
using Plugin API • Your message types • The service (i.e how to talk to your chat provider) • The workflow
A CHATBOT PLUGIN EXAMPLE /** * Facebook Chatbot implementation. *
* @ChatbotPlugin( * id = "chatbot_facebook", * title = @Translation("Facebook Chatbot") * ) */ class ChatbotFacebook extends ChatbotPluginBase implements ChatbotPluginInterface { … public function challenge() { return $this->service->challenge(); } public function parsePostData(Request $request) { return $request->getContent(); } }
DEMO II
FUTURE IMPROVEMENTS • There’s room for code refactoring • Add
new message types • Integration to AI services (Amazon Lex / IBM Watson / Microsoft Luis / wit.ai / api.ai)
#drupalsprints Friday, April 28, 2017 Mentored Core Sprint 9:00am-12:00pm Room:301-303
General Sprints 9:00am-6:00pm Room:309-310
THANK YOU! WHAT DID YOU THINK? Locate this session at
the DrupalCon Baltimore website: http://baltimore2017.drupal.org/schedule Take the survey https://www.surveymonkey.com/r/ drupalconbaltimore https://goo.gl/9s1OiM