Many chatbot-related projects are found on GitHub. The following are among the most popular, based on the number of watchers and stars.
Botkit is a development kit from Howdy for creating and integrating bots. It’s based on Node.js and is available under the MIT open source license. Developers can use their choice of NLP services, messaging platforms, and databases. Starter kits are available to create a bot that works in a specific environment, and a number of them are available as separate GitHub projects. Developers can create standalone bots or add one to an existing Node.js application.
Chatterbot is a Python library which implements a ”conversational dialog engine” for chatbots. Its bots can be created in any human language. Developers ”train” the bot by giving it statements and responses. A logic adapter matches user input against the training data and finds the statement with the closest match. Currently, training files are available in English, Spanish, and Portuguese. The library is available under the BSD 3-clause license.
Botpress is a framework for creating bots under Node.js. Its aim is to let developers create bots which non-technical people can manage. The bots use SQLite and PostgreSQL for databases. It’s available under the AGPLv3 license, with an option to switch to a paid support license. The design makes heavy use of independent modules, and third parties are encouraged to create and share them. A separate GitHub repository contains officially supported modules.
BotMan is a PHP library for building chatbots, distributed under the MIT license. It can be used by itself or in a Laravel-based bundle called BotMan Studio. Drivers are available for popular messaging channels, and developers can create their own drivers. A Web Driver and Web Widget allow adding a bot to an HTML page. Middleware hooks are available to add services. Support for the Dialogflow NLP service lets developers create bots with natural-language input.