Giter Club home page Giter Club logo

botkit-webex-samples's Introduction

Botkit samples for Webex Teams

This community project driven regroups:

  • Webex Teams bot samples built with Howdy's Botkit
  • a template to quickly bootstrap your Bot project
  • an experimental websocket usage example

We suggest you start with the HelloWorld bot sample below.

New to Botkit?

New to Webex Teams?

Hello World (bot command)

Simplest bot you can code: echo a message with a mention of the Webex Teams user who mentionned the bot.

hello-bot-direct

And don't forget to mention him in group rooms.

hello-bot-group

Note that the bot will respond to anyone mentioning him, then no reason why he could not chat with other bots. Below, the Hello bot (impersonnated via the Playground bot token) helling the CiscoDevNet bot.

hello-bot-playing

Assuming your bot is accessible from the internet or you exposed it via a tunneling tool such as ngrok, you can run any sample in a snatch:

How to run

From a Mac/Linux bash shell, type:

> git clone https://github.com/CiscoDevNet/botkit-webex-samples
> cd botkit-webex-samples
> npm install
> ACCESS_TOKEN=0123456789abcdef PUBLIC_URL=https://abcdef.ngrok.io SECRET="not that secret" node helloworld.js

From a Windows CMD shell, type:

> git clone https://github.com/CiscoDevNet/botkit-webex-samples
> cd botkit-webex-samples
> npm install
> set ACCESS_TOKEN=0123456789abcdef
> set PUBLIC_URL=https://abcdef.ngrok.io
> set SECRET=not that secret
> node helloworld.js

where:

  • ACCESS_TOKEN is the API access token of your Webex Teams bot
  • PUBLIC_URL is the root URL at which the Webex Cloud platform can reach your bot
  • SECRET is the secret that Webex uses to sign the JSON webhooks events posted to your bot
  • ngrok helps you expose the bot running on your laptop to the internet, type: ngrok http 8080 to launch

Bootstrap a Botkit project for Webex Teams (template)

The template regroups a set of best practices:

  • configuration: pass settings either through environment variables on the command line, or by hardcoding some of them in the .env file. Note that env variable are priorized over the envfile if values are found in both places.
  • healthcheck: check if everything is going well by hitting the ping endpoint exposed automatically.
  • skills: organize your bot behaviours by placing 'hear commands', 'convos' and 'events' in the skills directory. The bot comes with a ".commons", "help", "fallback" and "welcome" skills.

Conversations demo bot (convos)

A conversational bot that illustrates Botkit conversation system through examples. The bot is built with the template provided in this repo.

You can test the bot live by inviting [email protected] to a Webex Teams's space.

convos

DevNet events (external api invocation)

This bot illustrates how you can create conversations, and uses a wrapper to an external API hosted on Heroku that lists current and upcoming events at DevNet.

devnet-Botkit

Emoji (websocket)

This bot turns emoji tags to unicode characters and posts back the 'emojified' phrase

The bot leverages the experimental websocket library for Webex Teams, so that you don't need to register a Webhook and expose your bot on the internet.

From a Mac/Linux bash shell, type:

> npm install
> ACCESS_TOKEN=0123456789abcdef node emoji.js

From a Windows shell, type:

> npm install
> set ACCESS_TOKEN=0123456789abcdef
> node emoji.js

emoji

botkit-webex-samples's People

Contributors

objectisadvantag avatar

Watchers

James Cloos 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.