Coder Social home page Coder Social logo

dartbot-fb-bot's Introduction

DartBot-Tour Guide

Fb Bot for DartBot - The Virtual Tour Guide Bot DartBot (Tour Guide) provides prospective students with a tour of Dartmouth by (1) providing information about various locations across campus and directions to the next stop of the tour and (2) answering questions they may have using a Facebook Messenger ChatBot.

This repo contains the code for the Facebook Messenger Bot portion of the project.

Architecture

Our code is organized into three main repos: the API backend, the DartBot Tour Guide frontend and the Facebook Messenger bot using botkit. This repo stores JavaScript for our Facebook Messenger bot created using botkit.

Setup

Facebook requires a webhook for all communication; the bot server must therefore be running in an environment that can be accessed from the web. We chose to simply redeploy to heroku with every change; this was certainly not the best design decision, and looking back is something we would have done differently. However, to "run" the bot you must simply make any changes you wish and then push to heroku. It is always running therefore and can be messages on Facebook. No webhook is required to wake sleeping dynos, since everything is done through webhooks.

Deployment

The server is deployed on Heroku. No persistent storage is set up because all data is sent to the separate backend where it is stored. Currently plan to deploy the server on heroku with a free mongodb.

Usage

Location Based Responses

Through Facebook Messenger's mobile interface a user is able to send their location to DartBot. DartBot then returns information about the closest tour landmark. The bot also handles sending responses that are above Facebook's character limit.

findLoc

Responding to Inquiries

Using botkit's "hears" method, we have the bot listen to certain key words and respond with an answer provide by the admin.

query

Prompting users for feedback

When the user says the secret key work "tour", the bot prompts the user to answer a feedback question about the tour, that the admin is able to provide on the admin-side of the site. The bot randomly selects a survey question from the backend and then receives the response from the user. The response is recorded and sent to the backend for analytics for the admin.

feedback

Authors

Robin, Alma, Ian, Ahsan, Larissa

Acknowledgments

Wit.ai, howdyai/Botkit on github

dartbot-fb-bot's People

Contributors

robinjayaswal avatar almawang avatar timofei7 avatar patxu avatar jason-feng avatar ahsanazim avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.