Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ciscodevnet/essentials

🔮 Essential packages to build, release, and run great software in the cloud - bots, cards, containers, analytics and more!
https://github.com/ciscodevnet/essentials

bot docker es6 eslint framework javascript library nodejs

Last synced: about 16 hours ago
JSON representation

🔮 Essential packages to build, release, and run great software in the cloud - bots, cards, containers, analytics and more!

Awesome Lists containing this project

README

        

# Essentials

Essential packages to build, release, and run great software.

- Create intelligent bots with [Adaptive Cards](https://adaptivecards.io/)
- Gather and send analytics
- Deploy Docker containers to [Google Cloud](https://cloud.google.com/) or [OpenShift](https://www.openshift.com/)

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-1.4-4baaaa.svg)](code_of_conduct.md)

## Example

```js
// Create a Webex bot with Botkit.

const { Botkit } = require("botkit");
const { WebexAdapter } = require("botbuilder-adapter-webex");

const adapter = new WebexAdapter({
access_token: "",
public_address: "",
secret: "",
});

const controller = new Botkit({
adapter,
webhook_uri: "/api/messages",
});

// Use the product analytics middleware. 👇

const { Analytics } = require("@cisco/bot-middleware");

const analyticsMiddleware = new Analytics("");
controller.middleware.receive.use(analyticsMiddleware.trackUserMessage);
controller.middleware.send.use(analyticsMiddleware.trackBotMessage);
```

Now basic properties from all messages are automatically ✨ sent to analytics, including:

- message ID
- message time
- sender's domain, e.g., cisco.com
- if the conversation is one-on-one or in a group
- more!

## Installation

Clone this repository.

Install its dependencies with [npm](https://www.npmjs.com/).

```bash
cd essentials
npm ci
```

Bootstrap the project with [Lerna](https://github.com/lerna/lerna).

```bash
npx lerna bootstrap
```

## License

[Apache 2.0](https://choosealicense.com/licenses/apache-2.0/)