4

Laravel 8 Create Botman Chatbot Tutorial Example

 2 years ago
source link: https://www.laravelcode.com/post/laravel-8-create-botman-chatbot-tutorial-example
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Laravel 8 Create Botman Chatbot Tutorial Example

  845 views

  3 months ago

Laravel

Many websites uses automatic bot reply to user query. The Bot automatically reply general queries to user inquiry. This will reduce work for customer executives.  

In this article, I will show you how to create Botman chat application using Botman 2.0 package. There are also third party integration available, but you cal also do it yourself.

Follow these steps to create Botman chat application.

Step 1: Create Laravel application

First of all we need to install Laravel application using bellow command, So open your terminal or CMD and run bellow command:

composer create-project laravel/laravel botman

Step 2: Install Botman package driver

In this step, we will install botman package using composer. We will also need to install botman web driver. so we need to run following command to install botman.

Install Botman package:

composer require botman/botman

Install Botman driver:

composer require botman/driver-web

Step 3: Create controller

In this step, we will create controller. Run the below command to create controller.

php artisan make:controlle BotmanController

We need some conversion reply, though you can write your own conversion. Create below methods into controller.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use BotMan\BotMan\BotMan;
use BotMan\BotMan\Messages\Incoming\Answer;

class BotmanController extends Controller
{
    /**
     * Place your BotMan converison.
     */
    public function enterRequest()
    {
        $botman = app('botman');

        $botman->hears('{message}', function($botman, $message) {
            if ($message == 'Hi! i need your help') {
                $this->askName($botman);
            } else {
                $botman->reply("Hello! how can i Help you...?");
            }  
        });

        $botman->listen();
    }

    /**
     * Place your BotMan converison.
     */
    public function askReply($botman)
    {
        $botman->ask('Hello! What is your Name?', function(Answer $answer) {
            $name = $answer->getText();

            $this->say('Nice to meet you '.$name);
        });
    }
}

Step 4: Create route

Now we need to create two routes into routes/web.php file. Open file and add the below two routes into it.

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\BotmanController;

Route::match(['get', 'post'], '/chatbox', [ChatBoxController::class.'enterRequest']);

Step 5: blade view file

You already have welcome.blade.php file at resources/views folder. We will use this blade for chatbox. So update that file as below:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Botchatbox Chat Application</title>
        <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/assets/css/chat.min.css">
        <script src='https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/widget.js'></script>
        <style>
            html, body {
                background-color: #fff;
                color: #636b6h;
                font-weight: 100;
                height: 100px;
                margin: 10px;
            }
        </style>
        <script type="text/javascript">
            var botmanWidget = {
                aboutText: 'Hello there',
                introMessage: "I am Botman, Happy to talk with you!"
            };
        </script>
    </head>
    <body>
    </body>
</html>

Now your application is ready. Run laravel server php artisan serve and open http://localhost:8000/ into browser.

I hope it will help you.

Author : Harsukh Makwana
Harsukh Makwana

Hi, My name is Harsukh Makwana. i have been work with many programming language like php, python, javascript, node, react, anguler, etc.. since last 5 year. if you have any issue or want me hire then contact me on [email protected]


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK