Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Plugging in your Bot - An extensible bot framew...
Search
Rafael Silva
April 25, 2017
Programming
490
1
Share
Plugging in your Bot - An extensible bot framework for Drupal 8
Presentation at DrupalCon 2017 Baltimore
Rafael Silva
April 25, 2017
More Decks by Rafael Silva
See All by Rafael Silva
Drupal 8 on your Apple TV
rfsbsb
0
110
Drupal - um poderoso CMS em PHP
rfsbsb
1
66
CSS 3: A Web com mais estilo
rfsbsb
0
140
Palestra sobre Drupal
rfsbsb
1
71
Drupal para Freelancers
rfsbsb
1
62
Other Decks in Programming
See All in Programming
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
170
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
470
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
1
180
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
4
410
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
270
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.7k
空間オーディオの活用
objectiveaudio
0
160
[BalkanRuby 2026] Drop your app/services!
palkan
3
630
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
330
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
680
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
880
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
170
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
280
Documentation Writing (for coders)
carmenintech
77
5.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Amusing Abliteration
ianozsvald
1
170
Code Review Best Practice
trishagee
74
20k
The Spectacular Lies of Maps
axbom
PRO
1
760
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
190
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