TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Как создать чат в Facebook Messenger с помощью PHP

2 163

В наше время чат-бот – очень требовательная тема. Есть несколько платформ, которые позволяют нам общаться с людьми посредством разговоров. Facebook Messenger Platform является одним из них. С Messenger Platform мы можем персонализировать общение с пользователями или клиентами Facebook-страницы. Вместо традиционного автоответчика мы используем Facebook Messenger Chat Bot.

Используя Messenger Chat Bot, у нас есть возможность улучшить пользовательский опыт, общаясь один на один со специальным и полезным сообщением. Кроме того, мы можем предоставить различные типы сообщений, таких как тексты, изображения, аудио, видео и т.д. в соответствии с разговором.

Это пошаговое руководство по созданию простого чата Facebook Messenger с использованием PHP.

Начало работы с Facebook Messenger Chat Bot

Прежде всего, нам нужно создать приложение Facebook и страницу Facebook. Мы можем создать приложение Facebook, перейдя на страницу приложения разработчика и нажав кнопку « Добавить новое приложение». Появится всплывающее окно для создания нового приложения Facebook.

Создание приложения FB для Messenger Chat Bot

Создание приложения Facebook

Заполните поля соответствующими значениями и нажмите кнопку « Создать идентификатор приложения» . А затем нажмите кнопку « Начать» рядом с Messenger на странице « Настройка продукта» .

После создания приложения нам нужна страница в Facebook. Если у нас уже есть страница в Facebook, мы можем использовать ее, в противном случае нам нужно создать новую страницу.

Помимо приложения Facebook и страницы Facebook нам нужен маркер страницы, чтобы наша страница могла начать использовать API. Выберите страницу, чтобы сгенерировать токен доступа.

FB Page Token Generation

Генерация маркеров страниц для Facebook Messenger Bot

Пока что у нас есть приложение Facebook, страница Facebook и токен доступа к странице, чтобы связать приложение с Page. В дополнение к этому нам нужно настроить Webhook для получения сообщений и других событий, отправленных пользователями Messenger.

Настройка Webhooks

Чтобы настроить веб-крючок, нажмите кнопку « Настройка веб – крючков» в разделе « Веб-крючки ». Появится следующее всплывающее окно :

экран настройки webhook

Настройка Facebook Messenger

$ verify_token = 'your_verify_token';

успешная настройка webhook

Настройка Webhook прошла успешно

На приведенном выше снимке экрана мы видим « Выберите страницу, чтобы подписать ваш веб-крючок на события страницы » внизу. Выберите страницу и нажмите кнопку « Подписаться» , чтобы подписаться на определенную страницу.

Пока что у нас есть фон для настройки Facebook Messenger Chatbot. В результате этого URL-адрес Webhook может получать обратный вызов от Facebook. Нам нужно прослушивать POST- звонки на нашем веб-крюке.

Прослушивание POST звонков

В нашем URL-адресе Webhook мы используем php: // input для чтения необработанных данных из тела запроса следующим образом:

$input = json_decode(file_get_contents('php://input'), true);

Входящие сообщения из Facebook представлены в формате JSON и имеют следующую структуру:

{ "object":"page", "entry":[ { "id":"111998675571667", "time":1484326151343, "messaging":[ { "sender":{ "id":"12267537747884" }, "recipient":{ "id":"111998675571667" }, "timestamp":1484326151290, "message":{ "mid":"mid.1484326151290:f182b81009", "seq":53593, "text":"hi" } } ] } ] }

Мы можем сохранить этот ответ в файл для отладки и других целей, используя следующий код PHP:

file_put_contents('fb_response.txt', file_get_contents("php://input") . PHP_EOL, FILE_APPEND);

Ответить с текстовым сообщением

Как только мы получаем входящее сообщение по нашему URL-адресу Webhook, мы читаем сообщение и декодируем строку JSON, используя json_decode . После декодирования у нас есть сообщение в формате массива. Из этого массива можно извлечь следующее:

$input = json_decode(file_get_contents('php://input'), true); // Page ID of Facebook page which is sending message $page_id = $input['entry'][0]['id']; // User Scope ID of sender. $sender_id = $input['entry'][0]['messaging'][0]['sender']['id']; // Get Message text if available $message = isset($input['entry'][0]['messaging'][0]['message']['text']) ? $input['entry'][0]['messaging'][0]['message']['text']: '' ; // Get Postback payload if available $postback = isset($input['entry'][0]['messaging'][0]['postback']['payload']) ? $input['entry'][0]['messaging'][0]['postback']['payload']: '' ;

Если получено сообщение или постбэк, мы ответим сообщением. Мы должны проанализировать сообщение / обратную передачу и подготовить соответствующий ответ для отправки. Мы можем искать ключевые слова или использовать preg_match для полученного сообщения и отвечать соответственно.

В целях изучения мы ответим сообщением, напечатанным пользователем на следующем рисунке.

if($message) { $reply = 'Message received: ' . $message; $responseJSON = '{ "recipient":{ "id":"'. $sender_id .'" }, "message": { "text":"'. $reply .'" } }'; $access_token = 'your_page_access_token'; //Graph API URL $url = 'https://graph.facebook.com/v2.7/me/messages?access_token='.$access_token; // Using cURL to send a JSON POST data $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $responseJSON); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); $result = curl_exec($ch); curl_close($ch); }

Когда мы отправляем любое сообщение нашему боту, он ответит тем же сообщением.

фб-чат-бот-демо

Facebook Messenger Bot Демо

Таким образом, мы создаем простой чат-бот, используя платформу Facebook Messenger. Наш бот теперь может отвечать текстовыми сообщениями. Помимо текстовых сообщений, мы также можем отправлять изображения, ссылки, кнопки, общие шаблоны, аудио и видео. Кроме того, мы можем сделать Chat Bot более интеллектуальным, интегрировав API-интерфейсы для обработки естественного языка (NLP), чтобы бот мог лучше понимать сообщения пользователей и отвечать соответствующим ответом.

Дальнейшие чтения

Персонализируйте свой Messenger Bot, добавив постоянное меню и кнопки «Начало работы»

Система подписки Messenger Bot с использованием Broadcast API в PHP

Источник записи: https://thedebuggers.com

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