botman is a free, open source ai interaction & interfaces project written in PHP and released under MIT. It has 6,160 GitHub stars, 812 forks and 10 open issues, and was last pushed 6 months ago. On this registry it ranks #49 of 113 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available.

What is botman?

BotMan is a framework-agnostic PHP library for building chat bots that run across multiple messaging platforms from a single codebase, aimed at PHP developers and Laravel teams who want cross-platform bot logic without writing separate integration code for every service.

What it is

BotMan is an open-source PHP library, distributed under the MIT licence, that simplifies the task of developing bots for several messaging platforms at once. Its stated platform support covers Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger and WeChat. The core is deliberately framework agnostic, so the same bot logic can run inside a plain PHP application or inside Laravel, where the package registers a service provider named BotMan\BotMan\BotManServiceProvider. The project lives in the Composer and Packagist ecosystem as the package botman/botman, with its documentation hosted at botman.io and a community Slack at slack.botman.io. Its repository topics are bot, bot-framework, botman, chatbot, chatbot-framework and php, which places it in the AI and machine learning category under AI interaction and interfaces.

The concrete problem it solves is duplication across messaging APIs. Every platform exposes a different way to receive a message and send a reply, so a team that wants the same bot on Slack and Facebook Messenger would otherwise maintain separate client code for each one. BotMan replaces that per-platform glue with one handler style, where a bot listens with hears() and answers with reply(). The README example shows the pattern directly: $botman->hears('I want cross-platform bots with PHP!', function (BotMan $bot) { $bot->reply('Look no further!'); });. The same handler can be wired to any supported platform driver, which is the whole point of the design.

Key capabilities

  • Framework-agnostic bot core, usable in plain PHP or Laravel without rewriting handlers.
  • Message handling through hears() callbacks that receive a BotMan $bot instance and respond with reply().
  • Platform support for Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger and WeChat.
  • Laravel integration through BotMan\BotMan\BotManServiceProvider, with a publishable configuration file.
  • Packagist distribution as botman/botman, with version, monthly download and licence badges in the README.
  • Documentation site at botman.io and a community Slack at slack.botman.io for support.
  • Quality tooling visible in the README: Travis CI builds, Codecov coverage and Scrutinizer code quality badges.

Who uses it and how

  • PHP teams that need one bot to answer on several messengers, using hears() handlers instead of separate platform clients.
  • Laravel applications that publish the BotMan config with php artisan vendor:publish --tag=config --provider="BotMan\BotMan\BotManServiceProvider" and register handlers in the host app.
  • Developers on plain PHP stacks, since the library does not require a framework to run.
  • Projects with community-scale maintenance: 6,160 stars, 812 forks and 10 open issues, with contributions guided by CONTRIBUTING.md.
  • Teams that prefer self-hosted bot logic over routing conversations through a third-party bot platform.

Getting started

BotMan is installed as a PHP dependency through Composer, published on Packagist as botman/botman. In a stand-alone Laravel application, the configuration file is published with php artisan vendor:publish --tag=config --provider="BotMan\BotMan\BotManServiceProvider", and the full setup guide lives at botman.io.

How it compares

No paid products to be replaced by this project are listed among the facts, and no comparable alternative libraries are named in them either. It stands alone in this registry in that respect.

When to use it — and when not to

Choose BotMan when the bot is a PHP project and needs to reach several of the supported platforms from one handler set, since that is exactly the duplication it removes. Be aware that the README is short and defers nearly all operational detail to botman.io, so anyone evaluating the library should read the documentation site rather than the repository page. It is a poor fit for teams outside PHP, or for anyone who needs platform coverage beyond Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger and WeChat.

project readme (upstream, from github) — read inline

BotMan

Latest Version on Packagist Build Status codecov Scrutinizer Code Quality Packagist StyleCI Slack Monthly Downloads

https://phppackagedevelopment.com

If you want to learn how to create reusable PHP packages yourself, take a look at my upcoming PHP Package Development video course.

About BotMan

BotMan is a framework agnostic PHP library that is designed to simplify the task of developing innovative bots for multiple messaging platforms, including Slack, Telegram, Microsoft Bot Framework, Nexmo, HipChat, Facebook Messenger and WeChat.

$botman->hears('I want cross-platform bots with PHP!', function (BotMan $bot) {
    $bot->reply('Look no further!');
});

If you want to learn how to create reusable PHP packages yourself, take a look at my upcoming PHP Package Development video course.

Documentation

You can find the BotMan documentation at https://botman.io.

Stand Alone Configuration

If you are installing Botman in a stand alone Laravel application, you can publish the configuration file with the following command:

php artisan vendor:publish --tag=config --provider="BotMan\BotMan\BotManServiceProvider"

Support the development

Do you like this project? Support it by donating

Contributing

Please see CONTRIBUTING for details.

0 1 2 3 4 5 6 7

Security Vulnerabilities

If you discover a security vulnerability within BotMan, please send an e-mail to Marcel Pociot at [email protected]. All security vulnerabilities will be promptly addressed.

License

BotMan is free software distributed under the terms of the MIT license.

Frequently asked questions

Is botman free to use?

botman is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does botman do?

A framework agnostic PHP library to build chat bots

What is botman written in?

botman is primarily written in PHP. Its source is publicly available at https://github.com/botman/botman, and it has 6,160 GitHub stars.