Обратите внимание, что это мой первый раз, когда я публикую учебник, и если есть что-то, что нужно улучшить, пожалуйста, дайте мне знать.
Чат-боты отлично подходят, когда вам приходится иметь дело с социальными сетями или даже когда вы хотите поделиться чем-то полезным о себе в своей команде или бизнесе. В этой серии мы шаг за шагом рассмотрим, как начать работу с 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, и мы должны получить результаты, подобные следующему рисунку.
Теперь вы готовы к работе. Если вы наберете привет, вы должны получить ответ Здравствуйте и добро пожаловать. В следующей части мы рассмотрим диалоги ботманов и то, как с ними начать, как мы можем создавать диалоги и как отправлять изображения, видео, получать информацию от пользователей, задавая им вопросы и т. д.…
Надеюсь, вам понравился этот небольшой урок, и в следующих мы углубимся и постараемся сделать что-то полезное.