Что такое поиск ботов в скайпе. Как в Телеграмм добавить бота? Назначение ботов в Скайпе

Вслед за некоторыми другими мессенджерами и социальными сервисами, в Скайпе решили также «легализировать» ботов. И в конце марта 2016 года разработчики анонсировали данную функцию в своем приложении. Для чего же предназначается бот Скайп , для чего он, собственно говоря, может быть полезен самому обычному пользователю и как можно добавить себе какого-нибудь бота?

Боты в виртуальном пространстве

На самом желе, боты – это не изобретение современного виртуального пространства. Бот представляет собой компьютерную программу, которая призвана всевозможными способами «притворяться» обычным человеком в Сети. И первые боты, как это ни странно, возникли… в компьютерных играх. Именно с развитием сетевых шутеров – таких, как DOOM, Quake и им подобны, — пользователями стали писаться так называемые боты – программные роботы, которые могли составить компанию в сетевых баталиях. Ведь далеко не все игроки тогда вообще имели доступ к компьютерной сети, а поиграть все-таки хотелось…

Сегодня же боты – это как приятные, так и неприятные дополнения практически к любой социальной сети или мессенджеру.

Поначалу они лишь раздражали своей бестолковостью. Со временем, однако, программисты сообразили, что ботов можно поставить и на полезную службу человечеству. И теперь большое количество ботов пишется под заказ и на платной основе. К примеру, чтобы отвечать на вопросы клиентов, выдавать справку по ключевым словам в мессенджере…

Назначение ботов в Скайпе

Программный робот Skype может так или иначе имитировать поведение в Сети живого человека. С момента анонсирования появились самые разные Скайп-боты. Одни просто развлекают пользователя, играя с ним с различные игры, другие могут искать полезную информацию в Сети, третьи могут и пообщаться…

Словом, выбор действительно велик. Впрочем, большая часть ботов пока еще функционирует на английском языке, часть доступна только на территории Соединенных Штатов. Однако ограничений становится все меньше и меньше.

Чтобы убедиться в безопасности бота, нужно посмотреть его профиль перед добавлением. Здесь должна содержаться фраза «Skype Certified». Кроме того, аватарка бота всегда имеет шестиугольную форму, тогда как у всех остальных пользователей она круглая. К тому же, рядом с аватаркой одобренного бота имеется «галочка» на сером фоне.

Как же можно добавить себе того или иного бота? Все довольно просто. Для этого:

  1. Нужно скачать Скайп на своем устройстве;
  2. Дальнейшие действия зависят от того, на какой операционной системе работает Скайп. Например, на Андроиде имеется специальный пункт в меню «Контакты» . Он так и называется – «Боты» . В iOS значок Боты имеется во вкладке «Недавние» . В десктопной версии Skype Windows имеется специальный значок на боковой панели инструментов. В браузерной же версии Скайпа нужно выбрать «Обзор ботов» ;
  3. Далее останется лишь нажать на «Добавить бота» или «Начать» .

Список сертифицированных и одобренных ботов можно найти на странице проекта: https://support.skype.com/ru/faq/FA34655/dostupnye-boty-skype.

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

Остается добавить, что боты доступны только в самых последних релизных версиях Skype. Так что имеет смысл обновить программу из официальных источников.

Зная, Скайп боты – что это, можно значительно расширить свои возможности по использованию этой многосторонней программы для общения и звонков.

Сегодня мессенджер Телеграм набирает все большую популярность. У многих он стал ассоциироваться именно с ботами. Связано это с тем, что некоторые руководители каналов/групп не могут представить свою работу в Telegram без роботов-помощников, которые значительно облегчают нашу жизнь. А новые пользователи, услышавшие про ботов, спрашивают, как подключить бота в Телеграм ? Давайте найдем решения.

Именно об этом мы и поговорим в нашем сегодняшнем материале.

Давайте для начала определимся, что это такое? Бот – это программа (строчки кода), написанная программистом в целях выполнения определенных задач.

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

Расширение возможностей

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

Хорошим примером является бот-статистик. Он умеет собирать статистику по каналу или его участникам, а затем по запросу руководителя он ее показывает. Это очень удобно, особенно когда вы беспокоитесь о дальнейшей стратегии развития. Ведь полученные данные помогут определить целевую аудиторию, какой контент более интересен людям и многое другое. В самом же Телеграм такого инструмента нет.

Все процессы делают роботы на полном автомате

Люди часто используют ботов именно для того, чтобы автоматизировать некоторые рабочие процессы. Особенно это касается рутинной работы. Ведь гораздо проще перекинуть все на программу, которая будет выполнять эти задачи гораздо быстрее и качественнее, а в это время мы можем заняться более важными делами или отдохнуть. Это значительно упрощает нашу работу с Телеграм.

Например, чат-боты, которые способны общаться с людьми. Их можно настроить так, что они будут сами отвечать на большинство часто задаваемых вопросов. И в этой ситуации довольны все, и клиенты, получивший ответ на свой вопрос, и вы, так как вам не пришлось тратить на это свое время.

Они бесплатные

Все готовые боты – бесплатны. Вам не нужно их покупать или платить за их использование. Такова политика Телеграм. Если же вы столкнулись с тем, что вам пытаются продать, то не стоит на это вестись.

Платными программы могут быть только в случае, если вы заказываете их разработку у профессионалов. Например, вы не нашли бота с нужным функционалом и поэтому, обращаетесь к программистам.

Как подключить на ПК?

Давайте попробуем подключить какого-нибудь бота. Для примера возьмем довольно интересного кандидата под названием Shmalala Bot. Это чат-бот, способный поднять настроение всему чату, он будет рассказывать интересные истории и многое другое.

Ниже приведена инструкция, просто следуйте ей:


Готово! Теперь робот должен работать. Он будет периодически отправлять сообщения в чат.

Делаем бота в конструкторе и подключаем его

В примере выше мы подключали готового бота. Мы хотим также показать вам, как сделать своего бота в конструкторе и подключить его. В качестве конструктора мы будем использовать ManyBot.

Данный процесс будет несколько сложнее, но не настолько, чтобы он вызвал какие-либо трудности.

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


Готово. Наш помощник создан и настроен. И все что осталось сделать – это добавить его в нужный канал/группу и назначить администратором.

Как подключить на смартфоне?

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

Итак, для начала давайте попробуем снова подключить нашу Shmalala Bot.


Готово! Теперь она будет общаться с вами и с остальными участниками группы.

Настройка автопостера в Телеграм

Ну и напоследок попробуем настроить все тот же автопостер, который будет публиковать все новости, которые публикуются на сайте.


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

Готово! Как видите, процесс настройки на ПК и на мобильной версии мало чем отличается. Самое большое отличие – это интерфейс.

При подключении роботов в Телеграм у вас могут возникнуть определенные проблемы и вопросы. Мы постарались дать ответы на некоторые из них.

  1. Что делать если программа молчит? В таком случае причина может быть разной: бот может попросту не работать из-за ошибки в программном коде (здесь вы ничего поделать не сможете), сервер может долго отвечать (необходимо подождать) или же вы вводите неверную команду (введите «/help» и бот должен прислать сообщение с возможными командами).

Юлить не буду, сегодня не считаю Skype достаточно удобным средством для общения с родными, друзьями или коллегами. Но вынужден использовать его в тех случаях, когда адресат на второй стороне не предлагает альтернативные варианты - хотя бы тот же WhatsApp .

Чтобы разнообразить общение с помощью Skype, воспользуйтесь набором фишек, которые надо знать каждому .

1. Добавьте контакты телефонной книги в список друзей

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

Теперь увидите в перечне контактов Skype все записи телефонной книги, которые пользуются сервисом.

И эта возможность появилась только в последних обновлениях мобильного приложения для iOS.

2. Отправляйте местоположение, чтобы сэкономить время

Эту фишку мы с друзьями активно используем через WhatsApp, когда пытаемся найти друг друга в родном городе или в поездке. И она есть и в Skype.

Просто нажмите на соответствующую кнопку над клавиатурой, скорректируйте местоположение и подтвердите выбор. Профит.

3. Отметьте избранных собеседников из общего перечня

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

Таким образом сэкономите время на их поиск в будущем - избранные записи всегда отображаются в верхней части телефонной книги Skype.

4. Просматривайте время отправления сообщений свайпом

Проведите справа налево в меню общения с кем-либо и увидите время отправления каждого сообщения в диалоге.

5. Используйте скрытые смайлы из перечня лучших ниже

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

Слева - изображение, в центре - название, справа - код (скобки тоже часть кода ).

Пожалуйста.

6. Передавайте контакты Skype собеседникам в пару тапов

Для этого у мобильного приложения сервиса предусмотрена специальная кнопка, которая доступна во время переписки.

С помощью этой возможности сможете посоветовать друзьям контакты из телефонной книги для решения вопросов или состыкуете вместе близких родных.

7. Устанавливайте статусы в Skype по личным потребностям

Используйте статусы сервиса с умом :

  • В сети - пользователь готов к общению
  • Не в сети - Skype выключен или нет сети
  • Нет на месте - готов прочитать сообщения, когда вернется
  • Не беспокоить - пользователь занят и не получит уведомление о вашем сообщении
  • Невидимый - для всех этот статус будет выглядеть как не в сети

Это упростит жизнь.

8. Попробуйте общение с ботами, чтобы оценить их лично

Актуальный список ботов Skype доступен на официальном сайте сервиса - вот ссылка . Чтобы начать общение с роботом, его достаточно просто добавить в список друзей.

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

Жаль, большинство ботов общаются только на английском языке. Но вы все-таки сможете найти какого-то интересного именно для себя.

9. Создавайте групповые видеозвонки вместе с друзьями

В одном из последних обновлений Skype появилась возможность групповых видеозвонков до 25 пользователей в одном таком чате.

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

10. Записывайте видеосообщения для передачи контактам

О своем боте для Telegram, который умеет данные из Google Analytics показывать. А тут Microsoft объявила о запуске ботов в Skype - самое время изучить как это работает. Под катом - небольшое описание возможных проблем. Кому не терпится посмотреть результат, вот он - MetricsBot .

Bot Framework vs. Skype Bot API

Для начала стоит понять, что есть Bot Framework , который позволяет создавать ботов для многих мессенджеров, в т.ч. и для Skype, а есть Skype Bot API , который позволяет создавать ботов именно для Skype. У каждого своя документация, свой каталог ботов (?) и своя регистрация ботов. Вроде очевидно, что это разные вещи, но я потратил довольно много времени пытаясь разобраться в документации Bot Framework"a и в регистрации бота в нем, когда ожидал, что создаю бота без фрейворка. Далее речь будет идти именно про Skype Bot API, Bot Framework нам не нужен, регистрировать там тоже ничего не надо. Есть Skype SDK для Node.js и для . Их я тоже не использовал, т.к. писал бота на Python.

Полезные ссылки

Для начала небольшой набор полезных ссылок (все ссылки - на английском языке):

  • Свои приложения (тут необходимо создать новое приложение и получить app id и client secret)
  • Управление своими ботами (здесь необходимо создать нового бота, указав app id полученный ранее)

В принципе, из документации понятно как работает бот и как он взаимодействует со Skype"ом, потому эту часть описывать не буду - расскажу о сложностях.

Авторизация

Это оказалось самой трудоемкой для меня частью. В документации говорится, что для авторизации необходимо получить токен, а затем использовать его в заголовке HTTP при каждом обращении:

Authorization: Bearer oauth2-token

Однако в документации почему-то забыли указать какой scope необходимо использовать для получения токена. Правильный ответ (можно найти в коде Node.js SDK) - https://graph.microsoft.com/.default .
Но тут начинается самое интересное - если создавать URL для подтверждения пользователем (=владельцем бота), потом получать auth_code , а потом попытаться обменять этот код на access token , то проблема возникнет на первом же шаге - при открытии созданного URL, Microsoft ругается на неправильный scope. Правильного scope, кстати, нет в списке возможных вариантов в документации Microsoft . Я пытался указывать другой scope - openid offline_access https://graph.microsoft.com/user.read , в этом случае мне удавалось получить token, только вот с ним взаимодействовать со Skype не удавалось.
Решение оказалось неожиданным - для получения access_token, необходимо было отправить обычный POST запрос:

curl -X POST -H "Cache-Control: no-cache" -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=&client_secret=&grant_type=client_credentials&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default" "https://login.microsoftonline.com/common/oauth2/v2.0/token"

В ответ возвращается access_token и expires_in (без какого-либо refresh_token ). Такого OAuth я еще не встречал.

Отправка сообщений

Отправка сообщений довольно проста -

POST /v2/conversations/8:alice/activities HTTP/1.1
Host: apis.skype.com
Authorization: Bearer oauth2-token
{
"message": {"content" : "Hi! (wave)"}
}

Запросы отправляются на apis.skype.com. В документации забыли указать, что запросы должны уходить по https .
В тексте можно использовать html-теги. Какие точно - пока неизвестно (в документации списка нет).
Есть интересные и неописанные ограничения на отправляемый текст. Например, в тексте нельзя использовать символы & , < и > . Отсутствие возможности передать символ & создает проблему при передаче ссылок. Еще одна проблема при передаче ссылок - автоматически создаваемые превью для каждой ссылки. В моем боте MetricsBot в тексте приглашения три ссылки, Skype создает три превью. Отключить это пока нельзя.

Публикация бота

После создания бота можно попробовать его опубликовать (до этого количество пользователей бота ограниченно - им может пользоваться только 100 человек). Сколько времени занимает процесс публикации - не ясно, в документации этого нет. Моего бота пока так и не опубликовали. На официальном форуме мой вопрос на эту тему обходят стороной (хотя на другие мои вопросы сотрудники Microsoft отвечают).
Обратите внимание, что для публикации бота надо отключить использование бота в групповых чатах.

В остальном - создание бота для Skype довольно просто.

Я давно хотел попробовать написать какого-нибудь простого бота, чтобы разобраться в этом процессе. Сейчас я в отпуске и у меня есть достаточно свободного времени, чтобы начать писать в своё удовольствие в этом направлении…

Я решил начать с простого бота, который может работать только с текстом. Бот будет на недавно анонсированной платформе для ботов от Microsoft (Microsoft Bot Framework ). Мне она приглянулась тем, что теоретически, один реализованный бот может работать и для Skype и для Telegram и для веба и еще много всяких вариантов. Чтобы не писать совсем уж бесполезное приложение, я буду делать бота-помощника для разработчика, который может выполнить такие действия как:

  • Приведение строки к верхнему регистру
  • Приведение строки к нижнему регистру
  • Получение нового Guid
  • Конвертация числа из любой системы счисления в любую
  • Перевод Base64 строки в обычный текст
  • Обычный текст в Base64 строку
  • Получить дату из строки в UNIX формате
  • Перевести дату в UNIX формат
  • Сгенерировать пароль заданной длины

Для подобных действий, я, обычно, пишу сниппеты, которые при необходимости удобно использовать. Для их организации и запуска я использую LINQPad . Но иногда я могу что-то делать не за своим компьютером или же вообще со смартфона, в таком случае мой бот может быть полезен. Если есть еще идеи, какой функционал можно добавить данному боту, пишите мне, с удовольствием их реализую…

В бот, на вход, будет поступать строка. Будем разделять команду и её параметры пробелами. Сама команда будет либо до первого пробела, либо вся строка, если пробелов нет.

Не буду описывать процесс обработки команд и того, как они исполняются, так как там всё предельно просто, да и весь написанный код я опубликую на GitHub .

Перейдём к более интересному, а именно, к созданию самого бота. Для работы нужна Visual Studio 2015 , рекомендую установить доступные обновления. Воспользуемся готовым шаблоном для создания ботов «Bot Application template », скачать его можно по этой ссылке aka.ms/bf-bc-vstemplate

Полученный zip архив нужно скопировать в директорию «%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C# » После этого, мы уже можем создавать нового бота из данного шаблона.

Сразу после создания проект имеет следующую структуру

Мы можем запустить его и проверить, что он уже умеет. Для тестирования существует отдельное приложение «Bot Framework Emulator », сказать его можно отсюда http://download.botframework.com/botconnector/tools/emulator/publish.htm

Запустим наше приложение и эмулятор.

По умолчанию, бот умеет возвращать длину полученного сообщения, данный функционал реализован в MessagesController :


Теперь добавлю боту ранее описанный функционал. Для этого я добавлю новый проект “DeveloperToolsPack ” который будет представлять из себя Class Library и также добавлю проект для Unit тестов.

Класс DeveloperTools представляет из себя следующее:

Public class DeveloperTools { private Dictionary _tools; public DeveloperTools() { AddTool(new ToUpper()); AddTool(new ToLower()); AddTool(new NewGuid()); AddTool(new ConvertTo()); AddTool(new FromBase64()); AddTool(new ToBase64()); AddTool(new FromUnixTime()); AddTool(new ToUnixTime()); AddTool(new Password()); } private void AddTool(ITool tool) { if (_tools == null) { _tools = new Dictionary(); } if (!_tools.ContainsKey(tool.CommandName.ToLower())) { _tools.Add(tool.CommandName.ToLower(), tool); } } public string Run(string str) { if (!System.String.IsNullOrEmpty(str)) { str = str.Trim(); var indexOfSpace = str.IndexOf(" ", StringComparison.Ordinal); string command; var commandText = ""; if (indexOfSpace != -1) { command = str.Substring(0, indexOfSpace).ToLower(); commandText = str.Substring(indexOfSpace+1, str.Length - indexOfSpace-1); } else { command = str.ToLower(); } if (_tools.ContainsKey(command)) { return _tools.Run(commandText); } else { if (command == "help") { var returnString = new StringBuilder(); foreach (var tool in _tools) { returnString.Append(tool.Value.Description + "\n\r"); } return returnString.ToString(); } return $"Command \"**{command}**\" not found. See \"**help**\" command."; } } return "Please input a string"; } }

В самом боте, в «MessagesController » обработку полученного сообщения заменим на

Var developerTools = new DeveloperToolsPack.DeveloperTools(); return message.CreateReplyMessage(developerTools.Run(message.Text));

Можно запускать и тестировать данного бота.


Если всё работает как надо, можно перейти непосредственно к публикации. Создадим в Azure обычное web приложение, можно использовать бесплатный тариф, так как для тестирования мощности хватит вполне.

Теперь щелкаем по проекту правой кнопкой мыши и выбираем Publish

Теперь необходимо выбрать «Microsoft Azure Web Apps »


И найти там ранее созданное приложение. После этого можно нажать кнопку «Publish » и приложение будет опубликовано.

Несомненно, боты очень перспективное направление. Платформа от Microsoft очень удобная и позволяет интегрироваться с другими сервисами, что, несомненно является огромным плюсом. Создаваемые боты, естественно, не ограничиваются только обработкой текста, они могут выполнять гораздо более сложные функции. В данной статье я показал, как можно сделать простого, но в тоже время полезного бота для Skype и опубликовать его. Созданный бот, ко всему прочему, может работать на множестве других платформ, таких как Telegram , Facebook Messenger, GroupMe , Slack .

Приятного программирования.

P.S. Код бота изменялся под новую версия Bot Framework

Статьи по теме: