@cisco/bot-middleware
v0.9.6
Published
Middleware to intercept messages, e.g., gather and send analytics
Downloads
30
Keywords
Readme
Bot middleware
Middleware to intercept messages. For example, gather and send analytics.
Installation
Install with npm.
npm i @gve/bot-middleware
Usage
// Create a Webex bot with Botkit.
const { Botkit } = require("botkit");
const { WebexAdapter } = require("botbuilder-adapter-webex");
const adapter = new WebexAdapter({
access_token: "<BOT_ACCESS_TOKEN>",
public_address: "<BOT_URL>",
secret: "<BOT_SECRET>",
});
const controller = new Botkit({
adapter,
webhook_uri: "/api/messages",
});
// Use the product analytics middleware. 👇
const { Analytics } = require("@gve/bot-middleware");
const analyticsMiddleware = new Analytics("<ANALYTICS_API_KEY>");
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!