Обратите внимание, что это мой первый раз, когда я публикую учебник, и если есть что-то, что нужно улучшить, пожалуйста, дайте мне знать.

Чат-боты отлично подходят, когда вам приходится иметь дело с социальными сетями или даже когда вы хотите поделиться чем-то полезным о себе в своей команде или бизнесе. В этой серии мы шаг за шагом рассмотрим, как начать работу с BotMan и PHP, а также рассмотрим документацию BotMan.

Установка Композитора.

Чтобы начать работу с BotMan, сначала нам нужно установить композитор, который представляет собой средство управления зависимостями PHP. Проще всего установить composer на нашу машину, зайдя на их веб-сайт. Теперь для этого урока у меня уже установлен композитор, и я использую операционную систему Windows. Поэтому, чтобы установить композитор на свой компьютер, вам нужно скачать его отсюда, и есть несколько вариантов для Windows, Mac, Linux. После установки композитора проверьте, правильно ли он был установлен, открыв cmd или терминал и набрав: composer -V, и вы должны получить что-то похожее на это.

Установка Ботмана.

Затем нам нужно перейти в папку нашего сервера Apache, в моем случае я использую xampp, который представляет собой виртуальный веб-сервер, работающий на нашей машине, но если вам нужна дополнительная информация, перейдите по ссылке выше. Итак, перейдя в папку htdocs, нам нужно создать папку, я назову ее чат-ботом, затем войдите в эту папку, чтобы мы могли запустить следующую команду для установки BotMan.

композитору требуется ботман/ботман

После выполнения приведенной выше команды вы получите что-то вроде этого.

Обратите внимание, что я буду использовать терминал git bash, который вы можете скачать здесь.

Структура папок.

Теперь мы создадим несколько папок и файлов в нашей папке, давайте начнем с создания файла index.php.

<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>COINS ChatBot</title>
        <!-- <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/assets/css/chat.min.css"> -->
    </head>
    <body>
<script>
// Feel free to change the settings on your need
    var botmanWidget = {
        frameEndpoint: '/chat.html',
        chatServer: 'chat.php',
        title: 'ChatBot',
        introMessage: 'Hi and welcome to our chatbot how can i help you ?',
        placeholderText: 'Ask Me Something',
        mainColor: '#F28240',
        bubbleBackground: '#F28240',
        aboutText: 'Powered By Eluert Mukja',
        aboutLink: 'mhdevelopment.gr',
        bubbleAvatarUrl: 'https://www.applozic.com/assets/resources/images/[email protected]'
    };
        </script>
        <script src='https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/widget.js'></script>
    </body>
</html>

Обратите внимание, что мы будем использовать веб-виджет BotMan. Теперь давайте создадим еще один файл с именем chat.html, здесь мы будем хранить html-код нашего виджета, потому что он будет встроен в наш файл index.php.

<!doctype html> 
<html>     
    <head>         
        <title>BotMan Widget</title>         
        <meta charset="UTF-8">         
        <link href="https://fonts.googleapis.com/css?family=Montserrat:400,500,700,800" rel="stylesheet">     
        <link rel="stylesheet" type="text/css" href=" https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/assets/css/chat.min.css">     
    </head>     
    <body>         
        <script id="botmanWidget" src='  https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/chat.js'></script>     
    </body> 
</html>

После этого нам понадобится дополнительный файл, в котором мы запустим наш основной код, чтобы получить ответы от сервера с именем chat.php.

<?php
require_once 'vendor/autoload.php';

use BotMan\BotMan\BotMan;
use BotMan\BotMan\BotManFactory;
use BotMan\BotMan\Drivers\DriverManager;
DriverManager::loadDriver(\BotMan\Drivers\Web\WebDriver::class);
$botman = BotManFactory::create();
// Give the bot something to listen for.
$botman->hears('hi', function (BotMan $bot) {
    $bot->reply('Hello and welcome');
});
$botman->fallback(function($bot) {
    $bot->reply('Sorry, I did not understand these commands. Here is a list of commands I understand: ...');
});
// Start listening
$botman->listen();

Теперь мы создали наши 3 основных файла, и мы можем открыть их, чтобы проверить, все ли в порядке и у нас нет ошибок. Я создам виртуальный хост для этого примера, который вам не нужен, но я покажу вам, как это сделать. Если мы пойдем в

xampp/apache/conf/extra/httpd-vhosts.conf

и откройте файл, мы увидим, что в конце файла есть несколько примеров виртуального хоста, поэтому, раскомментировав закомментированный код, мы получим что-то вроде этого.

##<VirtualHost *:80>
    ##ServerAdmin [email protected]
    ##DocumentRoot "C:/xampp7/htdocs/dummy-host.example.com"
    ##ServerName dummy-host.example.com
    ##ServerAlias www.dummy-host.example.com
    ##ErrorLog "logs/dummy-host.example.com-error.log"
    ##CustomLog "logs/dummy-host.example.com-access.log" common
##</VirtualHost>

отредактируйте его по своему усмотрению, мой будет следующим:

<VirtualHost *:80>
   DocumentRoot "C:/xampp/htdocs/chatbot"
   ServerName chatbot.local
</VirtualHost>

теперь нам нужно отредактировать наш файл hosts, который находится в:

C:\Windows\System32\драйверы\и т.д.

и добавьте имя нашего сервера, как мы это делали в vhosts, например:

127.0.0.1 чат-бот.local

и сохраните его от имени администратора, потому что иначе вы не сможете его сохранить. Теперь мы полностью настроены и готовы посетить нашего чат-бота, посетив chatbot.local, и мы должны получить результаты, подобные следующему рисунку.

Теперь вы готовы к работе. Если вы наберете привет, вы должны получить ответ Здравствуйте и добро пожаловать. В следующей части мы рассмотрим диалоги ботманов и то, как с ними начать, как мы можем создавать диалоги и как отправлять изображения, видео, получать информацию от пользователей, задавая им вопросы и т. д.…

Надеюсь, вам понравился этот небольшой урок, и в следующих мы углубимся и постараемся сделать что-то полезное.