Недавно прошла конференция //BUILD, на которой Майкрософт традиционно представляет новые технологии для разработчиков. В ключевом докладе первого дня была высказана одна очень важная мысль – по мере того, как общение с компьютерами становится всё более естественным, возрастает роль диалогового общения на естественном языке. Речь здесь не только о том, что мы сможем просить голосовой помощник Cortana просить поставить нам будильник, но и что множество других задач (заказать пиццу, забронировать гостиницу, купить билеты и т.д.) может быть решено с помощью диалога. Более того, это может быть не только диалог между пользователем и компьютером: в более сложном случае человек может попросить Cortana спланировать путешествие, и затем Cortana будет сама общаться с другими ботами, совершая заказ гостиницы и билетов.



Здесь интересно то, что само “общение” может происходить а различных местах: на десктопе с помощью клиента Cortana, но также и в других традиционно используемых для чата каналах: в Skype, Telegram, Slack и т.д. Личность и память нашего персонального ассистента не зависит от канала общения, а располагается где-то в облаке, готовая пообщаться с нами на любом из так называемых “conversational canvases”.

Для создания ботов была представлена предварительная версия Microsoft Bot Framework и соответствующие API, о которых мы поговорим ниже. Мы также покажем, как можно создать своего простейшего бота, поддерживающего беседу с пользователем на английском языке.

Для работы с ботами используются следующие ключевые элементы:
  • Bot Builder SDK (доступен для C# и для Node.js) предназначен для создания ключевой функциональности бота. Он основан на WebAPI, и определяет протокол общения бота с внешним миром. В рамках SDK есть эмулятор, позволяющий отлаживать ботов, а также набор классов для упрощения реализации некоторых ключевых абстракций, таких, как продолжительные диалоги с состоянием.
  • Cognitive Services (ранее известные как LUIS, составная часть Project Oxford) позволяют упростить анализ естественного языка и выделение смысла из текстовых предложений. С помощью веб-интерфейса мы можем определить основные синтаксические конструкции, и автоматически присвоить им соответствующие намерения пользователя (intents), на которые затем будет реагировать бот.
  • Bot Connector позволяет привязать наш бот к одному или нескольким каналам общения, таким, как Skype, Slack, Telegram и др. Для этого достаточно сконфигурировать соединение бота на сайте botframework.com.
  • Каталог ботов, в котором со временем можно будет публиковать ссылки на различные боты.


Пример: знакомимся с Murphy Bot


Отличный пример бота – это Murphy, созданный в рамках проекта http://www.projectmurphy.net/. Зайдя на сайт, вы можете установить Murphy себе в Skype и начать с ним общаться (только убедитесь, что вы используете последнюю версию Skype, которая поддерживает ботов). Этому боту можно задавать вопросы вида “What if Cindy Crawford were a superman?” (пример диалога вы видите ниже), или “What if I were a programmer” (в этом случае он попросит вас загрузить свою фотографию).



Hello, Bot! Пишем себе собеседника


В качестве примера давайте рассмотрим, как создать простейшего бота на базе Bot Framework. Вспомним, что сердце и мозг бота – это веб-сервис, который обычно располагается в облаке.



Для создания такого сервиса проще всего скачать Bot Framework Template для Visual Studio (убедитесь, что у вас стоит Visual Studio 2015 Update 1 с веб-инструментами). Полученный ZIP-файл положите в каталог с шаблонами Visual Studio, обычно это “%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#". После этого в Visual Studio вы сможете создать новый проект типа Bot Application:



В созданном проекте за основную функциональность бота отвечает метод Post в файле Controllers/MessagesController.cs. Для простейшего Hello-бота реализуем этот метод следующим образом:

public async Task<Message> Post([FromBody]Message message)
{
    if (message.Type == "Message")
    {
        var reply = 
            message.Text.ToLower() == "hello" ?
                "Hello!" :
                "I do not understand you!";
        return message.CreateReplyMessage(reply);
    }
    else
    {
        return HandleSystemMessage(message);
    }
}


Чтобы протестировать бота, запустим проект на локальном веб-сервере (F5), скопируем адрес и порт из адресной строки открывшегося браузера, и откроем его в Microsoft Bot Framework Emulator (его необходимо предварительно скачать и установить). Обратите внимание, что к адресной строке сайта необходимо дописать путь /api/messages.



Чтобы заставить бот делать что-то чуть более полезное, я использовал порт на C# известной программы Eliza. Получившийся чат-бот вы можете скачать в нашем репозитории GitHub. В первой версии схема построения бота мало чем отличается от приведенной выше программы, только для формирования ответа вызывается метод готовой библиотеки Eliza.

Такая простая реализация не очень подходит для поддержки длительных диалогов с пользователем, поскольку метод Post используется для обработки запросов всех пользователей, и нет разделения состояния между ними. Чтобы это сделать, можно в явном виде смотреть на идентификатор сессии (message.ConversationID), использовать объекты BotUserData/BotConversationData, или же задействовать более продвинутые API с поддержкой диалогов (о них мы расскажем в дальнейших статьях). Пока же не будем обращать внимания на эти детали, считая, что бот является stateless.

Чтобы запустить бота в облаке, нам для начала нужно опубликовать получившися Web API в Azure. Затем следует войти на сайт http://dev.botframework.com и зарегистрировать нового бота. Важно придумать для бота уникальный AppID, и получить сгенерированный автоматически App Secret.

После этого необходимо сделать важный шаг – в файле Web.Config нашего приложения необходимо добавить App ID и App Key:

<configuration>
  <appSettings>
    <add key="AppId" value="YourAppId" />
    <add key="AppSecret" value="YourAppSecret" />
  </appSettings>


После чего необходимо повторно развернуть бота в облаке, чтобы Web Config обновился.



Сделав это, можно протестировать работоспособность бота в панели свойств на сайте Bot Framework, или же воспользоваться уже знакомым нам эмулятором – правда в этом случае надо будет ввести правильные AppID и App Secret:



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



Например, в случае с Telegram необходимо создать новый бот в Telegram с помощью беседы со специальным ботом Bot Father, после чего получить Access Tokem, и предоставить его сайту Bot Framework. После этого Bot Connector возьмет на себя все посреднические операции между Telegram API и вашим ботом, и вы сможете общаться с вашим ботом из Telegram. Кстати, мой бот называется в телеграме @ElllizaBot, можете с ним поговорить!

Подробнее про создание бота с нуля с помощью Bot Framework вы можете посмотреть в этом англоязычном докладе в BUILD.

Канальная абстрация


Основная прелесть Bot Framework API состоит в том, что мы можем теперь писать боты, не ориентируясь на какой-то один канал общения. По сути дела, Bot Framework даёт нам правильный уровень абстракции для реализации механизмов беседы и диалогов, а конкретную связь с различными инструментами общения берет на себя Bot Connector. Это разделение позволяет программисту написать бот один раз, а общаться с ним отовсюду. Можно сформулировать этот принцип следующим образом, перефразируя известный из мира Java слоган: Write Once – Chat Everywhere.

Несколько слов про Skype Bot API


Ещё одна новость, объявленная на //BUILD – это доступность отдельного Skype API для создания ботов. На самом деле создавать Skype-ботов можно и через Bot Framework, но возможности Bot Framework пока позволяют нам работать только с текстом (плюс с некоторыми видами attachemnt-ов), в то время как Skype Bot API несколько шире, и позволяет в том числе создавать видео-боты. При выборе технологии следует отдавать предпочтение Bot Framework, из-за её универсальности, однако если вы хотите создать действительно удивительный бот именно для Skype – посмотрите на Skype Bot SDK.

Заключение


Диалог – это естественная форма взаимодействия людей, и может статься, что она станет естественной формой взаимодействия людей и компьютеров. Майкрософт предлагает удобную программную абстракцию в виде Bot Framework, которая позволяет начать достаточно просто создавать свои чат-боты, работающие сразу со многими каналами общения. Это не только перспективно, но ещё и очень занимательно! Давайте пока экспериментировать с созданием ботов, а через несколько лет (или месяцев) посмотрим, являются ли боты заменой веб-сайтам или мобильным приложениям, как о том говорят аналитики.

Комментарии (46)


  1. artsnz
    12.04.2016 18:17
    +6

    Все новое — хорошо забытое старое, в irc были боты, с самым различным функционалом, от банальных игр до систем управления серверными стойками, веселое время было, а главное для работы клиента, да и самого сервера, не нужен был core i7 и n^2 ядер процессора с 8+ гб памяти… помню даже 3dsmax мог работать на 166 пне с 16 метрами оперативы, ностальжи…


    1. shwars
      12.04.2016 19:17

      Безусловно! Интересно будет наблюдать, как боты будут превращаться из относительно нишевого продукта (irc) во что-то массовое. И будет ли происходить это «второе рождение», как это происходит сейчас с виртуальной реальностью.


    1. 23rd
      12.04.2016 23:44
      +2

      Ну почему «были», они и сейчас есть, и даже относительно активно используются. ;)


      1. ValdikSS
        13.04.2016 15:34

        Да, о XDCC-ботах правообладатели не знают, в этом их плюс. Ну и можно всякое старье скачать, которое по BitTorrent уже сто лет как не раздают.


  1. and7ey
    12.04.2016 18:31
    +3

    Я бота для Skype сделал, но все жду его approval'а. Соответствующая статья тоже ждёт в черновиках этого момента. Этот процесс как-то регламентирован? Сколько ждать?


    1. Diden05
      12.04.2016 19:47
      +1

      А можно на статью посмотреть, надоело биться с авторизацией бота, либо я криворукий от природы, либо что то тут не так…


      1. and7ey
        12.04.2016 20:02
        +1

        Большой кусок в статье как раз об этом — тоже с этим долго бился. Завтра статью опубликую.


        1. Diden05
          12.04.2016 20:29

          Буду ждать, спасибо!


    1. shwars
      12.04.2016 21:33

      Пока что Skype API тоже в достаточно ранней стадии развития, поэтому думаю, что регламента скорее нет. Ждем статью!


  1. itinyakov
    12.04.2016 19:42

    Я правильно понимаю, что Cognitive Services — это не про русский язык? По крайней мере без Bing Translator.


    1. shwars
      12.04.2016 21:32

      Пока да. На текущий момент ситуация выглядит так, что Bot Connector может переводить с нескольких языков на английский перед тем, как скармливать текст боту — но это не совсем то, что хочется получить в идеале. Поэтому пока что для анализа русского языка лучше использовать другие инструменты…


  1. fahreeve
    12.04.2016 21:34

    А есть подобный бот, но для ТГ? Это был бы самый крутой способ улучшить свой английский для стеснительных)
    Особенно, если бы он указывал на твои ошибки


    1. shwars
      12.04.2016 21:34

      Я не очень понял, что такое ТГ, но в целом идея бота для обучения английскому — плодотворная!


      1. fahreeve
        12.04.2016 21:49

        это месседжер Телеграм


        1. Diden05
          12.04.2016 22:01

          Там же помимо всяких Slack и Skype есть и Telegram


        1. shwars
          12.04.2016 22:07

          Так именно этот бот уже сделан для Telegram. Добавляйте в друзья @ElllizaBot и наслаждайтесь!


          1. fahreeve
            15.04.2016 10:44

            этот бот очень примитивный(


            1. shwars
              16.04.2016 00:38

              Pull requests are welcome!


  1. Kioju
    12.04.2016 22:56

    У нас давненько встала проблема написания ботов для:
    — экономии на операторах технической поддержки
    — экономии на разработке веб-интерфейсов не требующих особого дизайна

    Итого получилась связка Corezoid (логика ботов) + Telegram, Sender, SiteHeart, e-mail, страница обращений в хелпдеск (каналы поступления обращений клиентов/сотрудников)

    Логика для бота одна, а каналы обычно добавляются почти без перерисовки логики.


    1. shwars
      12.04.2016 22:58

      Класс! Узнал новое для себя слово — Corezoid :) Интересно, Corezoid используется на уровне intent-ов, или на уровне анализа отдельных фраз? Для реалистичности диалогов ведь нужно рассматривать много вариантов, и делать всё это на графическом интерфейсе Corezoid кажется может оказаться громоздким…


      1. Kioju
        12.04.2016 23:10
        +1

        Для понимания — Corezoid это не платформа для сбора ботов. Это платформа для построения логики с выходами на API.

        Насчёт анализа и интентов — начал описывать примеры и понял, что получается очень длинно для комментария =(

        Если кратко, то можно и так и так. Если логику собирает человек, далёкий от кода, то получается длинное и разветвлённое дерево узлов, зато всё просто и понятно. Если есть знание хотя бы основ javascript или erlang, то можно просто сделать узел для анализа фразы, а на выход из узла давать переменные для возврата в чат.

        Второй вариант легче дорабатывать, первый вариант обычно проще продумывать или передавать на сопровождение другому человеку.

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


        1. shwars
          12.04.2016 23:56

          Я про Corezoid понял, поэтому и стало интересно, как вы поверх него реализуете разбор текста. Теперь чуть более понятно, спасибо!


    1. tangro
      13.04.2016 10:59
      +1

      А Вы сотрудник некоего банка П*? И есть какая-то статистика, какую экономию в плане операторов тех.поддержки дало ботостроение в интернет-банке? Потому что у меня с этим ботом получается общаться только вбивая в текст сообщения вроде «sdfiofjsdjflsdjflfjdlfjsdkljfl», которые он не может разобрать — это самый быстрый и чуть ли не единственный путь к живому оператору, способному на самом деле решить проблему. Все мои знакомые пользуются этим ботом примерно аналогично.


      1. Kioju
        13.04.2016 23:06

        Да, сотрудник именно этого банка. Но ботами общения с клиентами я прямо не занимаюсь. Больше ботами общения с сотрудниками. Цифры в денюжке называть не буду, но у нас сейчас около 80% заявок в тех. поддержку закрывается ботом.


    1. savostin
      18.04.2016 22:32

      Напишите статью про Corezoid человеческим языком.
      Несколько раз делал подходы к документации, смотрел видео, просто «методом тыка» — так ничего и не понял.
      Может конечно «не моя тема», но жутко интересно.


      1. Kioju
        19.04.2016 13:36

        Сорри, но нормальная статья не получилась — не прошла модерацию в песочнице. Если интересно — можно ознакомиться засунув в редактор статьи и нажать «предпросмотр»

        ссылка


        1. savostin
          19.04.2016 13:37

          Такого извращения я еще не пробовал. Спасибо!


  1. Ivan_83
    12.04.2016 23:52

    Боты — не интересно.
    Не было интересно 15 лет назад, не интересно сейчас.
    Всё что нужно для бота и чат бота было в соответствующих плагинах к Miranda NG (IM тогда) в те далёкие времена.
    Были средства для удалённого выполнения команд, по сути типа телнет/ссш, были всякие автоответчики, были и типа AI которые могли вместо тебя трепатся со всякими дурочками :)

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

    Сейчас проще сделать веб страничку с нужным функционалом или по ссш ходить и вообще никаки месенгеры и боты не нужны, в пределе даже интернет не нужен для доступа к ним.
    Те по сути бот это просто интерфейс к некоторому сервису работающий через транспорт в виде IM, веб тут ушёл далеков перёд и смысла ботоводить уже нет.
    Исключение всякие боты на IRC каналах, там они дают уникальный сервис, который через веб или не дать или не удобно будет.


    1. Kioju
      13.04.2016 00:07

      Позволю себе заметить, что Вы не всё учли в своём комментарии.
      Во-первых — веб-страница тоже может быть ботом. Суть не в функционале, который предоставляют боты, а в том, что они реагируют на ввод текста пользователем. То есть идеальный сайт это поле для ввода текста и возможность наговаривать этот текст в микрофон.

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

      Ну и в третьих — суть статьи не в том, что «смотрите мы заново изобрели ботов», а в «вам больше не надо заморачиваться сопровождением логики похожих ботов в разных средах, пишите логику в одном месте, а каналы используйте разные». Конечно они бы могли пойти ещё дальше и сделать среду доступной и для не программистов, но не всё же сразу.


      1. rakhinskiy
        14.04.2016 12:44

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


        1. Kioju
          17.04.2016 08:29

          Да, можно. Особенно это помогает, когда со стороны Head-office запускаются централизованные коммуникации. То есть не сотрудник фронт-офиса приходит с проблемой, а мы узнав, что у него произошёл сбой сразу шлём ему рекомендации как это сделать с N вариантов решения.


      1. Ivan_83
        15.04.2016 00:55

        1. Не надо натягивать весь мир на концепцию бота.

        2. Тоже самое юзер может ещё быстрее и удобнее сделать через браузер на каком то сайте.

        3. Это большой развод.
        Поясню почему.
        а) Почти все IM централизованные, они принадлежат и контролируются какой то корпорации. Поэтому писанина ботов там ограничена хотелками владельцев, они в любой момент могут выкинуть тех кто им не нравится. Как из телеграма выкинули ботов трекеров буквально вчера.
        В противовес этому вебсайт мало зависит от корпораций и их хотелок, опять же трекеры в пример.

        б) Создавая бота для ххх IM системы ты бесплатно работает на владельца этой системы.

        г) Это продолжение глобализации, когда всех пытаются согнать в один большой загон и отыметь.

        2 rakhinskiy:
        не знаю как этой платформе, а обычные спам боты это умеют очень давно.


        1. Kioju
          17.04.2016 08:45

          Возможно я не до конца Вас понял, но суть Вашего перового комментария воспринимается как «Боты устаревшая и не интересная технология», а второго «облачные технологии это зло, так как не находятся под контролем заказчика функционала». Поправьте меня, пожалуйста, если я что не так понял.

          На первый я думаю уже ответил.

          На второй:
          1. Почему? Речь же как раз о том, что хорошо иметь логику программного комплекса в одном месте, а интерфейсы прицеплять/отцеплять по желанию. Например, у нас есть боты, которые общались только в SiteHeart, потом их функционал перенесли в Corezoid и когда захотели подключить в качестве каналов общения емэйлы и страничку HelpDeska это заняло не слишком много времени.

          2. Речь не о юзерах, речь об экономии компаниями средств на реализацию одного и того же на разных платформах

          3.
          а) Веб-сайт точно так же могут прикрыть. Не аргументный аргумент.
          б) Если есть выгода для себя, то почему бы и нет? И кто сказал, что ботов делают бесплатно?
          г) например согнать всех в одну сеть и заставить там общаться, а ведь можно было бы по старинке бумажные письма отправлять, и что б только своих курьеров держать — ведь почта — это тоже загон всех в одно русло.

          Не обижайтесь, но вопрос в том надо это делать или не надо давно не стоит. И никто же никого не заставляет, просто кто-то вкурил фишку, а кто-то нет.


          1. Ivan_83
            18.04.2016 00:06

            Первый — к тексту поста, второй как ответ на комент, одному другому не противоречит а дополняет.

            1. Хорошо, пока это место полностью под твоим контролем.
            Все эти соцсети, гуглмаркеты и прочая херня, они же делают что хотят, сегодня разрешают ими пользоваться, а завтра выкидывают к чертям пинком под зад без объяснения причин. Иногда и сервис целиком закрывается, потому что им надоело и стало скучно.
            Это плохо для юзера. Это ужасно для бизнеса который на это повёлся.

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

            3. а) Ну да, рассказывай. Вон торрент трекеры уже который год прикрывают. За это время мильёны учёток в соцсетях грохнули, как десятки тыщ приложений из всяких маркетов выкинули.

            б) Потому что работа на корзину. Потратишь на вас время, а вы через год-пять лет закроетесь или выкините раньше, типа правила какие то дурацкие нарушил или за бесплатно вы там не захотите больше работать.

            г) Какой то бред. Есть не только почта, но и другие организации доставляющие корреспонденцию и посылки.

            Нет никакой фишки, только развод и маркетинговый шум.
            Замените слово БОТ на ВЕБ и суть всего написанного в посте не поменяется.
            Всё ваше ботоводство не далеко ушло от банальных автоответчиков, ничего удобного/уникального в этом нет.
            Ваше предложение на уровне конструктор сайтов от народ.ру, только закроетесь вы намного быстрее, ибо платить вам никто не станет потому что сварганить это самому не долго, а народ.ру хотя бы рекламу крутит.


            1. Kioju
              18.04.2016 21:13

              Опять двадцать пять. Вы сначала говорите, что ущербна сама идея ботов, потом переключаетесь на отсутствие контроля над облачными технологиями.
              Вот если по порядку:
              1) тот же Corezoid обладает коробочным изданием, на тот параноидальный случай, когда хочется «своё».
              2) Никто не мешает делать такую простую вещь как бэкапы. Те же процессы в корезоиде можно постоянно сливать и хранить у себя в формате json. И, если что-то случится — написать на скорую руку обработчик их логики (а можно и заранее =) ). Как план Б.
              Нет никаких гарантий, что интернет не прикроют, датацентр не сгорит, фреймворки не перекроят на скорую руку. Дело же не в этом. Сейчас мне выдать бота внутри организации соседнему подразделению занимает две-три минуты. И если реализовывал его я, то сопровождать и дорабатывать может человек вообще без навыков программирования.
              3.а уже ответил выше — либо не нарушайте правила, либо поднимайте свой экземпляр
              б это как продолжать держать свой почтовый сервак обеспечивая работой разработчиков, администраторов, менеджеров, которые могли бы заниматься чем-то действительно инновационным
              г да, но это всё «облачные» структуры, а не Ваши структурные подразделения и если они прикроются, то никто Ваши недоставленные посылки не вернёт

              Конкретной в этой статье я увидел две фишки:
              ф1 — концентрация логики в одном месте, а устройства ввода-вывода рассредоточены по разным мессенджерам. Как скайнет.
              ф2 — переход к тому, что не пользователь должен ходить и искать себе услуги, а его место обитания должно быть максимально комфортным. Вот есть «умный дом», а тут «умный чат»


  1. Mugik
    13.04.2016 00:22

    Может я что-то не понимаю или путаю. Но вроде бы чат-боты намного старше интернета.

    Я помню ещё в далеком 2008 с одноклассником сидели ещё на dial-up модеме писали всякую фигню боту на flash.

    Может следовало бы назвать статью «Чат боты возвращаются спустя 25 лет»?

    Элиза (ELIZA) кстати вроде бы первый чат-бот, берет начало в 66 году. 50 лет назад.


    1. zirf
      13.04.2016 08:19

      Ну чат боты появились вместе с чатами. Истоки где-то тут.. То есть, 23 года спустя. А вообще боты действительно чего только не делали, от имитации присутствия кого-либо в чате до управления оборудованием.


  1. SirEdvin
    13.04.2016 08:10

    Получается, для поддержки ботов для Скайпа нужна новая его версия? Получается, на линукс не завезут?


  1. DrNix
    13.04.2016 13:14

    Когда планируется брать плату за это все, и во сколько будет обходиться бот?


  1. eugef
    13.04.2016 13:14

    Из собственного опыта — молодежь сейчас очень много времени проводит во всяких мессенджерах. А боты — это очень удобный способ интегрировать в мессенджеры функциональность любого сайта или сервиса и, соотвественно, получить больше пользователей/покупателей.


  1. muxx
    13.04.2016 16:29
    +1

    А как в универсальном коннекторе решаются вопросы разных возможностей API например у Slack и Telegram. Например, в Telegram есть custom keyboard, это, получается, не доступно?


    1. shwars
      16.04.2016 00:40

      Универсальный коннектор, очевидно, будет реализовывать некоторую достаточно общую функциональность. Всегда найдутся тонкости конкретного API, которые не укладываются в общую концепцию. Поэтому, например, есть отдельное Skype API, которое шире.


  1. AxMuha
    14.04.2016 15:58

    Не совсем понял из описания, Bot Connector — это некий сервис Микрософт? Или его код доступен и я могу поднять его на своем сервере?


    1. AxMuha
      14.04.2016 16:05

      Немного уточню — я спрашиваю о той части, где «мой бот» связывается с разными каналами, например, с Telegram


      1. Diden05
        15.04.2016 14:59

        Сервис MS, как я понимаю к этому сервису MS планирует подключать все то что дает свое бот API. Суда по последней презентации Цукерберга скоро и FB


        1. shwars
          16.04.2016 00:42

          Всё верно. И это кстати неплохо, потому что тогда забота об обновлении API у всех поставщиков ложится на плечи Майкрософт, а не на ваши…