Laravel with Packages | How to Install Botman Chatbot in Laravel
--
In this tutorial, I would like to show you how to create a simple chatbot using botman in your existing laravel 5.8 application. we will install Botman with laravel and you can easily use web driver, facebook driver, telegram driver, slack driver, hip chat driver, etc. we will use web driver for creating a very simple Botman chatbot in laravel 5, laravel 6, laravel 7, laravel 8 and laravel 9 application.
Chatbots are popular in today's technology. everyone wants to put chatbots on his website because we can easily integrate command faq questions and users can ask simple questions regarding our website.
there are several bots are available in the market. some company has their bot. but almost are paid so I will prefer to use botman which is an open-source chatbot with laravel. you can easily integrate with laravel too.
Bellow, I listed some steps to create a very simple example to build a chatbot with your existing laravel application. so let’s follow a few steps to get Botman chatbot with your app.
Step 1: Install Laravel
first of all, we need to get a fresh Laravel version application using the below command, So open your terminal OR command prompt and run the below command:
composer create-project --prefer-dist laravel/laravel blog
Step 2: Install Botman and Botman Driver
In this step, we will install the Botman composer package and Botman, web driver. so we need to run the following commands to install botman.
Install Botman:
composer require botman/botman
Install Botman Driver:
composer require botman/driver-web
Step 3: Create Configuration File
This step is not required to follow. But you can create a configuration file for the driver and cache. so let’s create a bot file on the config folder and write code like I gave you below:
config/botman/config.php
<?phpreturn ['conversation_cache_time' => 40,'user_cache_time' => 30,];
config/botman/web.php
<?phpreturn ['matchingData' => ['driver' => 'web',],];
Step 4: Create Routes
Here, we need to add and create routes for Botman requests. so open your “routes/web.php” file and add the following route.
routes/web.php
Route::get('/', function () {return view('welcome');});Route::match(['get', 'post'], '/botman', 'BotManController@handle');
Step 5: Create Controller
In this step, we need to create one controller as BotManController. in this controller we need to write the code of Botman's reply and conversation. you can also write your logic later.
app/Http/Controllers/BotManController.php
<?php
namespace App\Http\Controllers;
use BotMan\BotMan\BotMan;
use Illuminate\Http\Request;
use BotMan\BotMan\Messages\Incoming\Answer;
class BotManController extends Controller
{
/**
* Place your BotMan logic here.
*/
public function handle()
{
$botman = app('botman');
$botman->hears('{message}', function($botman, $message) {
if ($message == 'hi') {
$this->askName($botman);
}else{
$botman->reply("write 'hi' for testing...");
}
});
$botman->listen();
}
/**
* Place your BotMan logic here.
*/
public function askName($botman)
{
$botman->ask('Hello! What is your Name?', function(Answer $answer) {
$name = $answer->getText();
$this->say('Nice to meet you '.$name);
});
}
}
Step 5: Update Blade File
In this file, we need to update some code on the welcome blade file. we need to add botman widget in welcome.blade.php file.
resources/views/welcome.blade.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>How to install Botman Chatbot in Laravel 5? - ItSolutionStuff.com</title>
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Nunito', sans-serif;
font-weight: 200;
height: 100vh;
margin: 0;
}
</style>
</head>
<body>
</body>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/assets/css/chat.min.css">
<script>
var botmanWidget = {
aboutText: 'ssdsd',
introMessage: "✋ Hi! I'm form ItSolutionStuff.com"
};
</script>
<script src='https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/widget.js'></script>
</html>
Now we are ready to run our chatbot example with laravel so run the below command for a quick run:
php artisan serve
Now you can open the below URL on your browser:
http://localhost:8000
We can also use some tutorials from here: Botman.
I hope it can help you…