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, WeChat and many more. If you run into any problems while installing, please let us know and join the Developer Slack community.
{callout-video} Want to get a headstart into chatbot development? Take a look at the Build A Chatbot video course.
- PHP >= 7.1.3
- For BotMan Studio checkout Laravel's requirements
We highly recommend using the BotMan Studio installer, which will give you BotMan on top of a fresh Larvel application. This also gives you advanced development tools, like out-of-box chatbot testing support and CLI tools to quickly create new conversations and middleware classes. If you do not want to use BotMan Studio, you can find some alternatives below.
To use BotMan studio in the most efficient way, install the BotMan Studio installer globally with:
composer global require "botman/installer"
Make sure to place the $HOME/.composer/vendor/bin
directory (or the equivalent directory for your OS) in your $PATH so the botman
executable can be located by your system.
You can create a new BotMan project into a new directory with the following command:
botman new <directory>
Alternatively, you may also create a new BotMan project by issuing the Composer create-project command in your terminal:
composer create-project --prefer-dist botman/studio <directory>
This will create a new folder, clone the BotMan Studio application and install all the necessary dependencies so that you can start working on your chatbot right away.
After a successfull installation, you can instantly try out your chatbot application. Go into the directory that you created and use the following command, to start a simple PHP server:
php artisan serve
You should see something like: Laravel development server started: <http://127.0.0.1:8000>
.
Next, you can visit this URL and click on the Tinker
link, which will give you a textinput where you can immediately interact with your bot.
Try it out, by typing hi
or start conversation
.
You can dig into the logic of this, by looking into the routes/botman.php
file and take a look at the hearing messages documentation next.
To use BotMan without the use of BotMan Studio/Laravel, please see below:
BotMan utilizes Composer to manage its dependencies. So, before using BotMan, make sure you have Composer installed on your machine.
composer require botman/botman
This will download the BotMan package and all its dependencies.
This code shows you the very basics of using BotMan as a standalone composer dependency. Make sure to place this code in a file that is accessible through the web - like a controller class.
<?php
use BotMan\BotMan\BotMan;
use BotMan\BotMan\BotManFactory;
use BotMan\BotMan\Drivers\DriverManager;
$config = [
// Your driver-specific configuration
// "telegram" => [
// "token" => "TOKEN"
// ]
];
// Load the driver(s) you want to use
DriverManager::loadDriver(\BotMan\Drivers\Telegram\TelegramDriver::class);
// Create an instance
$botman = BotManFactory::create($config);
// Give the bot something to listen for.
$botman->hears('hello', function (BotMan $bot) {
$bot->reply('Hello yourself.');
});
// Start listening
$botman->listen();
Pretty simple, right? To dig deeper, you may want to look into the core concept of hearing messages next.