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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Rafael Silva
April 25, 2017
Programming
490
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
67
CSS 3: A Web com mais estilo
rfsbsb
0
140
Palestra sobre Drupal
rfsbsb
1
72
Drupal para Freelancers
rfsbsb
1
63
Other Decks in Programming
See All in Programming
Webフレームワークの ベンチマークについて
yusukebe
0
180
AIで効率化できた業務・日常
ochtum
0
150
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
770
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
220
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
1k
The NotImplementedError Problem in Ruby
koic
1
990
Oxcを導入して開発体験が向上した話
yug1224
4
350
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.5k
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
130
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
210
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
170
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
400
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Rails Girls Zürich Keynote
gr2m
96
14k
What's in a price? How to price your products and services
michaelherold
247
13k
Into the Great Unknown - MozCon
thekraken
41
2.6k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
620
Prompt Engineering for Job Search
mfonobong
0
360
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Curse of the Amulet
leimatthew05
2
13k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
380
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
Embracing the Ebb and Flow
colly
88
5.1k
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