Chatbots

 Chatbots

52a875784c4e4ce4fc57ee28bd190dfe?s=128

Pascal Helfenstein

January 11, 2017
Tweet

Transcript

  1. Chatbots

  2. $WHOAMI I am Pascal Helfenstein nicam

  3. is This could be your new home!

  4. What is a chatbot? • mimics conversation on a chat

    platform • use some sort of NLP to understand you • range from rule based (dumb) to AI-based (smarter)
  5. #hype train All aboard

  6. Why all the hype?

  7. Why all the hype? • Massive user base • People

    are now spending more time in messaging apps than in social media • might be the next “app-event”
  8. None
  9. Examples drMorse right Gif

  10. Pro’s n Con’s • Limited usecases • No shortcuts for

    power users • can get tedious • fast • easy to use • universal interface • crossplatform • no CSS
  11. Workflow Message Device Platform Your Server HTTP- Request HTTP- Response

    Message
  12. DIY with BotKit

  13. BotKit • Library to build Bots for different Platforms •

    Abstracts all communication • very similar interface for all Platforms • many functions…
  14. Slack • Different Bot-Types • RTM (Real Time Messaging) •

    Incoming Webhooks • Slash Commands • Integrations per Team • Different Message Types
  15. BotKit Slack example var Botkit = require('botkit'); var controller =

    Botkit.slackbot({debug: true}); var bot = controller.spawn({ token: 'SOME-TOKEN' }).startRTM(); controller.hears(['hello', 'hi'], [‘direct_message’,'direct_mention','mention'], (bot, message) => { bot.reply(message, 'Hello There!'); } });
  16. Facebook • Only Webhooks • Globally available (review) • Limited

    User Data • Payment • Multiple Message Types • Text • Images • Sound • Video • Files
  17. BotKit FB example var Botkit = require('botkit'); var controller =

    Botkit.facebookbot({ debug: true, access_token: 'PAGE_TOKEN', verify_token: 'VERIFY_TOKEN', app_secret: 'APP_SECRET', validate_requests: true, }); var bot = controller.spawn({}); controller.setupWebserver(process.env.port || 3000, (err, webserver) => { controller.createWebhookEndpoints(webserver, bot, () => { console.log('WEBSERVER started!'); var tunnel = localtunnel(3000, (err, tunnel) => { console.log("Use URL" + tunnel.url + '/facebook/receive'); }); }); }); controller.hears(['^hello', '^hi'], ['message_received','facebook_postback'], (bot, message) => { bot.reply(message, 'Hello There!'); });
  18. Localtunnel $ npm install -g localtunnel $ lt -p 8000

    your url is: https://uxbkerpskn.localtunnel.me
  19. Questions?

  20. Thank you! Cheers