Чтобы создать чат-бота, который может общаться обоими способами, нам нужно сделать две вещи: встроить чат-бота в веб-приложение и изменить настройки конфигурации в Twilio.
Чтобы сделать это, выполните следующие действия:
1. Создайте файл index.js в корневом каталоге проекта.
2. Установите библиотеки express и body-parser. Эти библиотеки будут использованы для создания веб-приложения:
npm install body-parser --save
npm install express --save
3. Создайте веб-приложение в index.js:
// Two-way SMS Bot
const express = require('express')
const bodyParser = require('body-parser')
const twilio = require('twilio')
const app = express()
app.set('port', (process.env.PORT || 5000))
Chapter 5
[ 185 ]
// Process application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended: false}))
// Process application/json
app.use(bodyParser.json())
// Spin up the server
app.listen(app.get('port'), function() {
console.log('running on port', app.get('port'))
})
// Index route
app.get('/', function (req, res) {
res.send('Hello world, I am SMS bot.')
})
//Twilio webhook
app.post('/sms/', function (req, res) {
var botSays = 'You said: ' + req.body.Body;
var twiml = new twilio.TwimlResponse();
twiml.message(botSays);
res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());
})
Предыдущий код создает веб-приложение, которое ищет входящие сообщения от пользователей и отвечает на них. Ответ в настоящее время повторяет то, что пользователь имеет помощь.
4. Нажмите на облако:
git add .
git commit -m webapp
git push heroku master
Теперь у нас есть веб-приложение в облаке по адресу https: // ms -tification-bot. herokuapp.com/sms/, который можно вызвать при поступлении входящего SMS-сообщения. Это приложение будет генерировать соответствующий чат-ответ на входящее сообщение.
5. Перейдите на страницу программируемой SMS-панели Twilio по адресу https: //www.twilio. com / console / sms / dashboard.
6. Выберите Messaging Services в меню и нажмите Create new Messaging Service:
7. Дайте ему имя и выберите Chat Bot / Interactive 2-Way в качестве варианта использования:
8. Это приведет вас на страницу настройки с новым назначенным идентификатором сервиса:
9. В разделе «Входящие параметры» укажите URL-адрес созданного нами веб-приложения в поле « ЗАПРОСИТЬ URL» (то есть https://sms-notification-bot.herokuapp.com/sms/):
Теперь все входящие сообщения будут перенаправлены в это веб-приложение.
10. Вернитесь на страницу консоли SMS по адресу https: //www.twilio com / console / sms / services. Здесь вы увидите новую службу обмена сообщениями, указанную вместе с URL-адресом входящего запроса:
11. Нажмите на сервис, чтобы прикрепить номер к сервису:
12. Вы можете либо добавить новый номер, в этом случае вам нужно купить его, либо выбрать номер, который у вас уже есть. У нас уже есть одна отправка уведомлений, которые можно использовать повторно. Нажмите Добавить существующий номер.
13. Выберите номер, установив флажок справа и нажмите Добавить выбранное:
14. После добавления он будет перечислен на странице Numbers следующим образом:
В дополнительных настройках мы можем добавить несколько номеров для обслуживания различных географических регионов и заставить их отвечать так, как если бы чат-чат отвечал на локальный номер.
15. Последний шаг — попытаться отправить SMS-сообщение на номер и получить ответ. Отправьте сообщение, используя любое приложение SMS на своем телефоне, и просмотрите ответ:
Поздравляем! Теперь у вас есть двусторонний интерактивный чат-бот.
Это руководство является отрывком из книги «Практические чат — боты и разработка разговорного интерфейса», написанной Шрини Джанартанам.