Как сервисная outsource компания мы делаем продукты под заказ для клиентов. Одна из задач по окончанию проекта – это передача готового продукта и всех доступов к нему в руки клиенту.
При разработке ботов приходится использовать сторонние платформы:
facebook – чтобы создать приложение или страницу для бота, NLP сервис, который предоставляет услуги по обработке текстовых сообщений, Microsoft – который дает bot-framework чтобы упростить задачу интеграции со многими платформами. Во всех этих сервисах разработчик работает под своей учеткой, так как регистрация в каждом из сервисов требует ввода номер телефона и не все из них позволяют создать несколько аккаунтов с одинаковым номером телефона.
При передаче клиенту желательно сделать процесс как можно более прозрачным, передать все доступы и ресурсы и в этом случае приходится все переводить на аккаунты клиента, а это очень долгий и трудный процесс диалогов или написания сложных инструкций, так как клиент не может дать пароль от своего facebook аккаунта, например, потому что он очень важен сейчас в жизни.
Ниже вы найдете описание, как наиболее просто передать доступы к готовому боту к клиенту.
Какие сервисы используются при разработке ботов
- BotFramework
- LUIS
- Skype
- Facebook:
- DialogFlow
- Telegram
- и др.
В последнее время во многих сервисах появляется возможность более гибко управлять доступами к ботам и приложениям, которые создаются на платформе.
https://developers.facebook.com/ – платформа для разработки приложений и чат-ботов для социальной сети.
Социальная сеть имеет отдельный раздел для разработчиков, в котором разработчик может предоставить административные права любому другому пользователю социальной сети.
При разработке чат-бота создается не только приложение для facebook, но также и отдельная страница для того же бота. По этому права для управления нужно предоставлять отдельно на каждую часть.
- Предоставте доступ к FaceBook приложению:
- Зайдите на страницу приложений https://developers.facebook.com/apps/ и выбирите свое приложение для чатбота;
- Выберите вкладку “Roles” и добвте клиента как адмитистратора приложения
- Предоставте админский доступ к Facebool page которая является родной для чатбота (в facebook нельзя запустить чатбота без собственной страницы).
- Зайдите на страницу своего чатбота и перейдите в настройки “Settings”
- Выберите вкладку “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
- Выберите Агента, которого вы собираетесь передать клиенту. Вы должны быть владельцем. Нажмите на кнопку Settings в виде зубчатого колесика (gears)
- Перейти на вкладку Share
- Внизу в поле, добавить электронный адрес пользователя (привязанный к google account) и выбрать роль. Пока что (Ноябрь 2017 доступные роли: Reviewer, Developer) – так что в случае DialogFlow лучше, чтобы владелец создал пустого агента и потом дал доступ разработчику к этому агенту на время работы.
- После внесения изменений, обязательно нажать кнопку “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, сгенерировать новый ключ и использовать его с кодом.
Это все то, что касается сервисов, которые нужны при создании ботов.
Как передавать код и настраивать хостинг больше похоже на такой же процесс с передачей сайтов и обычно не вызывает вопросов.
Добавляйте в комментариях те варианты, которых нет в данной статье, это поможет мне и другим предоставлять нашим заказчикам более комплексный сервис.