Code Monkey home page Code Monkey logo

botkit-starter-googlehangouts's Introduction

This repo is deprecated!

To get a fresh Botkit starter kit, use the Yeoman generator or remix a starter kit on Glitch

npm install -g yo generator-botkit
yo botkit

Botkit Starter Kit for Google Hangouts Chat Bots

This repo contains everything you need to get started building a Google Hangouts Chat bot with Botkit.

Botkit is designed to ease the process of designing and running useful, creative bots that live inside messaging platforms. Bots are applications that can send and receive messages, and in many cases, appear alongside their human counterparts as users.

Some bots talk like people, others silently work in the background, while others present interfaces much like modern mobile applications. Botkit gives developers the necessary tools for building bots of any kind! It provides an easy-to-understand interface for sending and receiving messages so that developers can focus on creating novel applications and experiences instead of dealing with API endpoints.

Our goal with Botkit is to make bot building easy, fun, and accessible to anyone with the desire to create a future filled with talking machines!

What's Included

  • Botkit core - a complete programming system for building conversational software
  • Pre-configured Express.js webserver including:
    • A customizable "Install my Bot" homepage
    • Webhook endpoints for communicating with platforms
  • Sample skill modules that demonstrate various features of Botkit

Setup Botkit for Google Hangouts

Documentation for Botkit's Google Hangouts Adapter;

Deploy to Glitch

Remix this project on Glitch

Deploy Locally

Clone this repository:

git clone https://github.com/howdyai/botkit-starter-googlehangouts.git

Install dependencies, including Botkit:

cd botkit-starter-googlehangouts
npm install

Add Google Credentials

Get a google credentials file GOOGLE_APPLICATION_CREDENTIALS as described here

Update the .env file with your newly acquired tokens.

Launch your bot application by typing:

GOOGLE_APPLICATION_CREDENTIALS=YOUR_GOOGLE_CREDENTIALS_FILE node bot.js

You can also specify a verification token GOOGLE_VERIFICATION_TOKEN and PORT and lunch your bot application by typing :

PORT=YOUR_APP_PORT GOOGLE_APPLICATION_CREDENTIALS=YOUR_GOOGLE_CREDENTIALS_FILE GOOGLE_VERIFICATION_TOKEN=YOUR_GOOGLE_VERIFICATION_TOKEN node bot.js

Configure Webhook URL

By default, your bot will receive messages from Google at https://<my_url>/hangouts/receive. You will need to configure your Google Hangouts Bot profile with this URL.

Google Hangouts Chat API requires your application be available at an SSL-enabled endpoint. To expose an endpoint during development, we recommend using localtunnel.me or ngrok, either of which can be used to temporarily expose your bot to Google Hangouts Chat API. Both Glitch and Heroku deployments will provide this to you automatically.

Once stable and published to the real internet, use nginx or another web server to provide an SSL-powered front end to your bot application.

Now comes the fun part of making your bot!

Extend This Starter kit

This starter kit is designed to provide developers a robust starting point for building a custom bot. Included in the code are a set of sample bot "skills" that illustrate various aspects of the Botkit SDK features. Once you are familiar with how Botkit works, you may safely delete all of the files in the skills/ subfolder.

Developers will build custom features as modules that live in the skills/ folder. The main bot application will automatically include any files placed there.

A skill module should be in the format:

module.exports = function(controller) {

    // add event handlers to controller
    // such as hears handlers that match triggers defined in code
    // or controller.studio.before, validate, and after which tie into triggers
    // defined in the Botkit Studio UI.

}

Customize Storage

By default, the starter kit uses a simple file-system based storage mechanism to record information about the teams and users that interact with the bot. While this is fine for development, or use by a single team, most developers will want to customize the code to use a real database system.

There are Botkit plugins for all the major database systems which can be enabled with just a few lines of code.

Developer & Support Community

You can find full documentation for Botkit on our Docs site.

Need more help?

  • Glitch allows users to ask the community for help directly from the editor! For more information on raising your hand, read this blog post.

  • Join our thriving community of Botkit developers and bot enthusiasts at large. Over 4500 members strong, our open Google Hangouts group is the place for people interested in the art and science of making bots.

Come to ask questions, share your progress, and commune with your peers!

Full video of our 2016 event is available on Youtube.

About Botkit

Botkit is a product of Howdy and made in Austin, TX with the help of a worldwide community of botheads.

botkit-starter-googlehangouts's People

Contributors

benbrown avatar ouadie-lahdioui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

botkit-starter-googlehangouts's Issues

[Action Needed] This repo is inactive

This GitHub repository has been identified as a candidate for archival

This repository has had no activity in more than [x amount of time]. Long periods of inactivity present security and code hygiene risks. Archiving will not prevent users from viewing or forking the code. A banner will appear on the repository alerting users that the repository is archived.

Please see https://aka.ms/sunsetting-faq to learn more about this process.

Action

✍️

❗**If this repository is still actively maintained, please simply close this issue. Closing an issue on a repository is considered activity and the repository will not be archived.🔒

If you take no action, this repository is still inactive 30 days from today it will be automatically archived..

Need more help? 🖐️

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.