All Projects → howdyai → Botkit Cms

howdyai / Botkit Cms

Licence: mit
An open tool for designing, building and managing interactive dialog systems

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Botkit Cms

Bot Context
Easy, powerful, functional way to maintain conversational context in chat bots.
Stars: ✭ 44 (-75.56%)
Mutual labels:  bots, conversational-ui
airy
💬 Open source conversational platform to power conversations with an open source Live Chat, Messengers like Facebook Messenger, WhatsApp and more - 💎 UI from Inbox to dashboards - 🤖 Integrations to Conversational AI / NLP tools and standard enterprise software - ⚡ APIs, WebSocket, Webhook - 🔧 Create any conversational experience
Stars: ✭ 299 (+66.11%)
Mutual labels:  bots, conversational-ui
Botkit
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
Stars: ✭ 10,555 (+5763.89%)
Mutual labels:  bots, conversational-ui
Stealth
An open source Ruby framework for text and voice chatbots. 🤖
Stars: ✭ 481 (+167.22%)
Mutual labels:  bots, conversational-ui
Botonic
Build chatbots and conversational experiences using React
Stars: ✭ 144 (-20%)
Mutual labels:  bots, conversational-ui
Botpress
🤖 Dev tools to reliably understand text and automate conversations. Built-in NLU. Connect & deploy on any messaging channel (Slack, MS Teams, website, Telegram, etc).
Stars: ✭ 9,486 (+5170%)
Mutual labels:  bots, conversational-ui
Eddi
Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.
Stars: ✭ 171 (-5%)
Mutual labels:  bots, conversational-ui
Botui Examples
Some examples on how to use BotUI
Stars: ✭ 136 (-24.44%)
Mutual labels:  conversational-ui
Postagga
A Library to parse natural language in pure Clojure and ClojureScript
Stars: ✭ 152 (-15.56%)
Mutual labels:  bots
Norrisbot
a Slack bot that kicks asses (roundhouse-kicks to be accurate...)
Stars: ✭ 134 (-25.56%)
Mutual labels:  bots
Contentful.swift
A delightful Swift interface to Contentful's content delivery API.
Stars: ✭ 132 (-26.67%)
Mutual labels:  content-management-system
Open Source Bots
A full list of open source bots.
Stars: ✭ 135 (-25%)
Mutual labels:  bots
Netcorecms
NetCoreCMS is a modular theme supported Content Management System developed using ASP.Net Core 2.0 MVC. Which is also usable as web application framework. This project is still under development. Please do not use before it's first release.
Stars: ✭ 165 (-8.33%)
Mutual labels:  content-management-system
Rasa
💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants
Stars: ✭ 13,219 (+7243.89%)
Mutual labels:  bots
Slack Starterbot
Python-powered simple starter Slack bot.
Stars: ✭ 169 (-6.11%)
Mutual labels:  bots
Rhymix
PHP CMS Rhymix
Stars: ✭ 132 (-26.67%)
Mutual labels:  content-management-system
Chatskills
Run and debug Alexa skills on the command-line. Create bots. Run them in Slack. Run them anywhere!
Stars: ✭ 171 (-5%)
Mutual labels:  conversational-ui
Nginx Ultimate Bad Bot Blocker
Nginx Block Bad Bots, Spam Referrer Blocker, Vulnerability Scanners, User-Agents, Malware, Adware, Ransomware, Malicious Sites, with anti-DDOS, Wordpress Theme Detector Blocking and Fail2Ban Jail for Repeat Offenders
Stars: ✭ 2,351 (+1206.11%)
Mutual labels:  bots
Slick
Slick, a Slack bot in Go
Stars: ✭ 150 (-16.67%)
Mutual labels:  conversational-ui
Java Telegram Bot Tutorial
Java Telegram Bot Tutorial. Feel free to submit issue if you found a mistake.
Stars: ✭ 165 (-8.33%)
Mutual labels:  bots

Botkit CMS

An open tool for designing, building and managing interactive dialog systems

Dialog Editor

Install and run it locally

Clone and install botkit-cms

git clone https://github.com/howdyai/botkit-cms.git
cd botkit-cms
npm install

Create an .env file from .env_sample and change the variables

cp .env_sample .env
PLATFORM=web
TOKENS=youwillneverguessmysecretbottoken
USERS=admin:123secret

Create .data folder, create a scripts.json inside. Copy the content from sample-scripts.json

mkdir .data
cp sample_scripts.json .data/scripts.json

Run cms and open localhost:3000/admin and enter the credentials from the USERS env variable.

npm run build
npm start

Create Botkit Dialog Editor & API Service

Clone this repo and set it up on a public host somewhere. Clicking the Glitch link below will do this for you.

Configure the .env file.

Launch the app, then load it in your web browser. You should see a link to the editor screen.

Make sure your new service is available at a public address on the web. Then, modify your Botkit app to include a pointer to this new service.

var controller = Botkit.platform({
  studio_command_uri: 'https://my.new.service',
  studio_token: 'a shared secret'
})

Remix on Glitch

Configuration

Options for this service are controlled via environment variables, which can be stored in a .env file at the project root.

Here is an example .env file:

# Chat platform
# PLATFORM=<platform>
# valid options are slack, teams, ciscospark, web, facebook
PLATFORM=slack

# authentication tokens for Bot users
# TOKENS="123 456"
TOKENS=youwillneverguessmysecretbottoken

# Admin users for UI
# USERS="username:password username2:password2 username3:password3"
USERS=admin:123secret

# LUIS Endpoint
# URL to published LUIS Endpoint in the form of https://<REGION>.api.cognitive.microsoft.com/luis/v2.0/apps/<APPID>?subscription-key=<SUBID>&verbose=true&timezoneOffset=-360&q=
# Get this from LUIS.ai Keys and Endpoint settings
# LUIS_ENDPOINT=

# LUIS App Version
# Defaults to 0.1, update if you manage multiple LUIS app versions
# LUIS_VERSION=0.1

Using LUIS.ai

This project includes support for using LUIS.ai to determine the intent represented by an incoming message. To enable LUIS, add the LUIS_ENDPOINT variable to your environment.

After enabling LUIS, new options will appear in the Trigger dialog that will allow you to assign intents from LUIS as triggers.

Editor Configuration

The Botkit dialog editor can be used in one of several different flavors, controlled by the PLATFORM environment variable.

Value Description
web Botkit Anywhere mode
slack Slack mode
teams Microsoft Teams mode
ciscospark Cisco Spark / Webex Teams mode
facebook Facebook mode

Securing Admin / Editor Access

Access can be limited and users can be controlled using the USERS environment variable.

Set the variable to a space separated list of user:password pairs. Users will be shown a login prompt when accessing any url within the /admin/ url.

Securing API Access

You can lock down access to the API by specifying one or more access tokens in the TOKENS environment variable (or in the .env file).

If any tokens are specified, access to the API requies a valid value in the access_token url query parameter. Botkit will automatically use the Botkit Studio studio_token value for this.

Building Project

Modifications to the front end application or css should be done to their original source files, then compiled by the build process. To build the Javascript and CSS files from their source locations, run the following command:

npm run build

The front end editor application included in this project is built with Angular. The source code of the this application is broken up into several component files in the js/ folder. These are compiled into a single source file and moved to a final home at public/js/scripts.js by the build process.

The CSS is controlled by SASS files in the sass/ folder. These are compiled into a single source file and moved to a final home at public/css/new.css by the build process.

Alternate: Use this as a component in your Botkit App

First, npm install this:

npm install --save botkit-cms

Get your existing scripts from an instance of Botkit CMS, and put the resulting scripts.json into your bot project.

Then, add to your bot's main file, just after defining your controller object:

var cms = require('botkit-cms')();
cms.useLocalStudio(controller);

cms.loadScriptsFromFile(__dirname + '/scripts.json').catch(function(err) {
  console.error('Error loading scripts', err);
});

Note that you might need to modify the call to cms.loadScriptsFromFile depending on where you put the scripts.json file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].