Як передавати проект з ботами клієнту

Як сервісна outsource компанія ми виготовляємо продукт на замовлення клієнта. Одна із задач по закінченню проекта – це передача готового продукту і всіх доступів до нього в руки клієнта.

При розробці ботів доводиться використовувати сторонні платформи:

Facebook – щоб створити додаток чи сторінку для бота
NLP сервіс – який надає послуги з обробки текстових повідомлень
Microsoft – який дає bot-framework щоб спростити задачу інтеграції з багатьма платформами
В усіх цих сервісах розробник працює під своїм обліковим записом, оскільки реєстрація в кожному сервері потребує введення номеру телефона і не всі з них дозволять створити декілька акаунтів з одним номером.

Процес передачі бажано зробити максимально прозорим, передати всі доступи і ресурси і в такому випадку доводиться все переводити на акаунти клієнта, а це дуже довгий і важкий процес діалогів або написання складних інструкцій, оскільки клієнт не може дати пароль від свого facebook акаунту.

Нижче ви знайдете опис найпростішого способу передачі доступів клієнту.

Які сервіси використовуються під час розробки ботів

  • BotFramework
  • LUIS
  • Skype
  • Facebook
  • DialogFlow
  • Telegram
  • та інші

Останнім часом у багатьох сервісах зʼявляється можливість більш глибоко керувати доступами до ботів і додатків, які створюються на платформі.

Facebook

https://developers.facebook.com/apps – платформа для розробки додатків і чат-ботів для соціальної мережі.

Соціальна мережа має окремий розділ для розробників, в якому розробник може надати адміністративні права іншому користувачу.

Під час розробки чат-бота створюється не лише додаток для Facebook, а й окрема сторінка для того ж бота. Тому права для керування треба надавати окремо на кожну частину.

  1. Надайте доступ до Facebook додатка:
    1. Зайдіть на сторінку додатків https://developers.facebook.com/apps/ і оберіть свій додаток для чат-бота;
    2. Оберіть вкладку “Roles”
  2. Надайте адміністративний доступ до Facebook page яка є рідною для чат-бота (в Facebook не можна запустити чат-бота без власної сторінки).
    1. Зайдіть на сторінку свого чат-бота і перейдіть в налаштування “Settings”
    2. Оберіть вкладку “Page Roles” і додайте клієнта як адміністратора даної сторінки

 

 

  1. Предоставте админский доступ к Facebool page которая является родной для чатбота (в facebook нельзя запустить чатбота без собственной страницы).
    1. Зайдите на страницу своего чатбота и перейдите в настройки “Settings”
    2. Выберите вкладку “Page Roles” и добавте клиента как администратора данной страницы.

 

DialogFlow  (api.ai previously)

https://console.dialogflow.com/ – NLP, NLU with ML services from Google.

Це NLP сервис, который Google купили, а раньше он был в сети под именем API.ai

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

Ссылка на консоль разработчика: https://console.dialogflow.com/api-client. Проекты в DialogFlow называются “Agent”. Вы можете посмотреть все свои агенты на этой странице https://console.dialogflow.com/api-client/#/agents

  1. Выберите Агента, которого вы собираетесь передать клиенту. Вы должны быть владельцем. Нажмите на кнопку Settings в виде зубчатого колесика (gears)
  2. Перейти на вкладку Share
  3. Внизу в поле, добавить электронный адрес пользователя (привязанный к google account) и выбрать роль. Пока что (Ноябрь 2017 доступные роли: Reviewer, Developer) – так что в случае DialogFlow лучше, чтобы владелец создал пустого агента и потом дал доступ разработчику к этому агенту на время работы.
  4. После внесения изменений, обязательно нажать кнопку “Save”

Также можно использовать опцию Экспорта/Импорта, чтобы в виде архива перенести данные из одного аккаунта в другой.

LUIS.ai

https://www.luis.ai/home – NLP сервис, который когда то приобрела Microsoft и теперь развивает под своим брендом. Сервис предназначен для разбора и понимания текстовой информации от пользователей на основе предварительно созданных интентов. 

Одним из способов передать настройки приложения, является Экспорт/Импорт настроек приложения. Это можно сделать на странице со списком приложений.

Когда у клиента будет такой файл экспорта, при создании нового приложения, он может при создании приложения нажать кнопку не New App, а выбрать Import App и указав файл экспорта, создать такого же бота, как был у вас.

Другим способом, более удобным, является разделение доступа к приложению. Зайдя на страницу приложения и перейдя в раздел Settings, внизу страницы можно увидеть раздел Collaborators. В этом разделе есть возможность добавить другого пользователя по электронному адресу и у него будет возможность редактировать приложение. Luis не дает возможность полностью передать доступ новому пользователю, так как это можно сделать в facebook, по этому желательно, чтобы в начале клиент сам создал в своем аккаунте новое приложение, а позже дал доступ разработчику.

Bot Framework

https://dev.botframework.com/ – сервис компании Microsoft, который реализует часть взаимодействий с различными бот-платформами. Bot Framework выступает как middleware между вашим приложением, которое реализует логику и выводом ваших данных в чате с пользователями.

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

Skype

https://dev.skype.com/ – сервис по разработке ботов для платформы skype интегрирован с облачным сервисом Azure и по этому настройка происходит в интерфейсе Azure. Настройка доступ происходит так же как и в bot framework на странице настроек.

Telegram

https://telegram.me/botfather – в случае с ботам для мессенджера Telegram процесс получается самым простым. Для взаимодействия бота с сервисом нужно иметь API Token. Другие данные не требуются. При создании бота, вы можете тестировать его самостоятельно со своим личным ключом, но когда вы передаете исходные коды клиенту, он может сам воспользоваться ботом @BotFather, сгенерировать новый ключ и использовать его с кодом.

Это все то, что касается сервисов, которые нужны при создании ботов.

Как передавать код и настраивать хостинг больше похоже на такой же процесс с передачей сайтов и обычно не вызывает вопросов.

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