Меню Рубрики

Как написать бота самому

Делаем своего первого чат-бота

Уровень: начинающий

Мате­ри­ал рас­счи­тан на тех, кто в жиз­ни не напи­сал ни строч­ки кода. Если вы уже в кур­се основ про­грам­ми­ро­ва­ния, про­чи­тай­те луч­ше о чистых функ­ци­ях.

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

Ино­гда такое обще­ние выгля­дит как обще­ние с чело­ве­ком. Может даже пока­зать­ся, что там рабо­та­ет искус­ствен­ный интел­лект — и ино­гда так дей­стви­тель­но быва­ет. Но часто всё про­ще: это алго­ритм, кото­рый уме­ет рас­по­зна­вать неко­то­рые ваши сло­ва и давать отве­ты по зара­нее заго­тов­лен­ным шаб­ло­нам. Чем алго­ритм более раз­ветв­лён­ный, тем есте­ствен­нее и полез­нее бот.

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

Обыч­но, что­бы создать какую-то про­грам­му, нуж­но выпол­нить несколь­ко дей­ствий: напри­мер, ска­чать программу-обработчик язы­ка, заве­сти про­ект, напи­сать заду­ман­ную про­грам­му, ском­пи­ли­ро­вать. И толь­ко потом ей мож­но поль­зо­вать­ся. Но мы пой­дём по более про­сто­му пути: напи­шем про­грам­му, рабо­та­ю­щую пря­мо в бра­у­зе­ре, через кото­рый вы чита­е­те эту ста­тью. Сде­лать это мож­но лишь на ком­пью­те­ре, на теле­фоне при­дёт­ся поль­зо­вать­ся ботом.

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

Что­бы сде­лать что-то на JavaScript, нуж­но открыть кон­соль. Почти во всех совре­мен­ных бра­у­зе­рах это дела­ет­ся соче­та­ни­ем кла­виш Shift + Ctrl + J или Cmd + Alt + J. Спра­ва или сни­зу появит­ся допол­ни­тель­ное окно, в кото­ром уже будет что-то про­ис­хо­дить:

Если у вас не откры­лась кон­соль, зай­ди­те в верх­нее меню и поищи­те сло­во «Кон­соль». Обыч­но этот пункт пря­чет­ся в раз­де­ле «Инстру­мен­ты раз­ра­бот­чи­ка».

Когда вы откры­ва­е­те кон­соль, она сра­зу гото­ва выпол­нять ваши коман­ды. Если в неё вста­вить про­грам­му, напи­сан­ную на JavaScript, и нажать Enter, ваш бра­у­зер её реа­ли­зу­ет. Если в коде есть ошиб­ки, кон­соль сама под­све­тит их. Мож­но отправ­лять в неё про­грам­му кус­ка­ми или даже построч­но: бра­у­зер будет пом­нить всё, что про­ис­хо­ди­ло в вашей про­грам­ме, пока вы не пере­за­гру­зи­те стра­ни­цу.

Первая строка

В кон­со­ли мож­но не толь­ко писать код, но и выво­дить туда резуль­та­ты. Давай­те для нача­ла сде­ла­ем самую про­стую про­грам­му, кото­рая отоб­ра­зит в кон­со­ли сло­во «При­вет!». Для это­го исполь­зу­ем коман­ду console.log(‘Привет!’);

Вста­вим её в кон­соль и нажмём Enter:

Поздрав­ля­ем, вы толь­ко что напи­са­ли свою первую про­грам­му для ком­пью­те­ра! Она очень про­стая: ком­пью­тер все­го лишь гово­рит «При­вет!». Но оце­ни­те момент: это вы его научи­ли так гово­рить. Попро­буй­те научить его и дру­гим сло­вам.

Если напи­сать несколь­ко команд, полу­чим сооб­ще­ние из несколь­ких строк:

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

Переменные

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

Назва­ние тут может быть прак­ти­че­ски любым, глав­ное, что­бы оно начи­на­лось с бук­вы. По-русски пере­мен­ные назы­вать нель­зя, толь­ко бук­ва­ми латин­ско­го алфа­ви­та. Мож­но было бы исполь­зо­вать вари­ант imya или zovut, но про­грам­ми­сты счи­та­ют, что чем про­ще назва­ние пере­мен­ной, тем луч­ше.

Теперь посмот­рим содер­жи­мое эле­мен­та. Сле­ду­ю­щая коман­да выве­дет то, что сей­час запи­са­но в пере­мен­ной name:

Мож­но посмот­реть, какое сего­дня чис­ло. Это внут­рен­няя систем­ная пере­мен­ная. Стро­го гово­ря, это не совсем пере­мен­ная, но для нача­ла давай­те счи­тать так:

Но это мы всё смот­рим во внут­рен­но­сти ком­пью­те­ра. А нам нуж­но спро­сить что-то у поль­зо­ва­те­ля. Что­бы мы мог­ли вве­сти новые дан­ные в нашу про­грам­му, исполь­зу­ем коман­ду prompt()

Вставь­те в кон­соль коман­ду var name = prompt(‘Как вас зовут?’); и посмот­ри­те, что про­изой­дёт. Ком­пью­тер выве­дет окно и будет ждать, пока вы вне­сё­те туда своё имя. Интер­фейс выгля­дит кра­си­во: давай­те в диа­ло­ге общать­ся с ком­пью­те­ром не через кон­соль, а через такие появ­ля­ю­щи­е­ся окош­ки. Для это­го напи­шем новые коман­ды:

Пусть ком­пью­тер про­явит веж­ли­вость и ска­жет, что ему при­ят­но с нами позна­ко­мить­ся. Что­бы он смог обра­тить­ся к нам по име­ни, исполь­зу­ем пере­мен­ную name — в ней как раз хра­нит­ся то, что мы отве­ти­ли ком­пью­те­ру:

Что­бы выве­сти осмыс­лен­ную фра­зу, мы взя­ли нача­ло ‘При­вет, ‘, затем с помо­щью плю­си­ка соеди­ни­ли со зна­че­ни­ем пере­мен­ной name , кото­рая хра­нит наше имя, а потом ещё одним плю­си­ком доба­ви­ли к фра­зе кон­цов­ку. Что­бы ком­пью­тер знал, что мы хотим выве­сти на экран текст, а не чис­ла, исполь­зу­ют­ся кавыч­ки. Ком­пью­тер вос­при­ни­ма­ет как текст то, что внут­ри кавы­чек. И выво­дит точ­но в том виде, в кото­ром напи­са­но.

Расчёт дня рождения

Давай­те соеди­ним все наши коман­ды в одну про­грам­му и допи­шем несколь­ко новых фраз:

Обра­ти­те вни­ма­ние: у нас появил­ся новый вопрос и новая пере­мен­ная hobby, в кото­рой хра­нит­ся инфор­ма­ция об увле­че­нии. А ещё — ком­мен­та­рии, кото­рых мож­но добав­лять сколь­ко угод­но. JavaScript не обра­ща­ет вни­ма­ния на то, что напи­са­но после двух косых черт:

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

Что ещё посмотреть

Вот кое-что, что может вам при­го­дить­ся при созда­нии пер­во­го чат-бота.

performance.now() — эта коман­да воз­вра­ща­ет вре­мя в мил­ли­се­кун­дах с момен­та откры­тия теку­щей стра­ни­цы. Мож­но поде­лить на 1 000, и вы узна­е­те, сколь­ко секунд вы сиди­те на какой-то стра­ни­це. Если поде­лить на 60 000 — сколь­ко минут.

setTimeout() — поз­во­ля­ет выпол­нить любой код через опре­де­лён­ное вре­мя. Напри­мер, вы може­те задать вопрос и предо­ста­вить ров­но мину­ту на раз­мыш­ле­ние, после чего появит­ся окно для отве­та.

setInterval() — то же самое, что и преды­ду­щее, но выпол­не­ние кода повто­ря­ет­ся с рав­но­мер­ным интер­ва­лом, напри­мер раз в 5 минут. Если вы хоти­те научить чат-бота, что­бы он раз в час напо­ми­нал попить воды, эта коман­да — то, что нуж­но.

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

Источник статьи: http://thecode.media/chat-bot/

Как написать чат-бота для vk.com за 3 минуты

К сожалению, на данный момент нет хороших библиотек на Python2, для того, чтобы быстро создать чат-бота. Ниже я покажу, как легко можно написать примитивного чат бота для VK, используя API VK.

Статья написана для новичков, чтобы показать, что ничего сложного в написании ботов на Python нет.

Авторизация

Нам понадобится библиотека vk_api. Авторизоваться в вк можно двумя способами:
— Как пользователь
— Как сообщество

В первом случае надо будет ввести логин и пароль. Во втором случае в группе надо включить «Сообщения сообщества» и создать ключ доступа к API:

Авторизация в две строчки:

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

Теперь напишем короткую функцию, которая отправляет сообщение выбранному человеку.

P.S. Сообщество может отправлять сообщения только ранее писавшим пользователям.

В vk.method мы можем вызывать любой метод из VK API и передавать параметры в виде словаря.

В данном случае мы вызываем метод messages.send и в качестве параметров передаем id пользователя и текст сообщения.

Прием сообщений

Отлично! Отправлять сообщения мы научились, осталось научиться их принимать. Для этого нам нужен метод messages.get.

Несколько параметров, на которые стоит обратить внимание:

1) out — если этот параметр равен 1, сервер вернет исходящие сообщения.
2) count — количество сообщений, которое необходимо получить.
3) time_offset — максимальное время, прошедшее с момента отправки сообщения до текущего момента в секундах.
4) last_message_id — идентификатор сообщения, полученного перед тем, которое нужно вернуть последним (при условии, что после него было получено не более count сообщений)

В нашем случае этот метод вернет все полученные сообщения за последние 60 сек, если их конечно было меньше 100, а если больше, то последние 100.

В итоге мы получаем список items:

Если объяснять простыми словами, то items — это то, что можно выделить в диалоге.

Финальный аккорд, делаем вечный цикл, где на каждое сообщение будем отвечать «Привет, Хабр!».

Источник статьи: http://habr.com/ru/post/326312/

8 инструментов для создания личного или делового чат бота

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

  • WhatsApp
  • Facebook Messenger
  • WeChat
  • Skype
  • LINE
  • Slack
  • QQ Mobile
  • и множество других…

Я думаю, вы со мной согласны. А если нет, то взгляните на данные Statista об использовании приложений для обмена сообщениями на мобильных устройствах.

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

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

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

Возможности для автоматизации с помощью чат бота весьма обширны, например:

  • FAQ — c помощью чат бота можно настроить ответы на часто задаваемые вопросы;
  • отслеживание доставки заказа — чат бот сможет ответить на вопросы о статусе заказа;
  • электронная торговля — с помощью виртуального собеседника можно заинтересовать посетителя вашего сайта и превратить его в вашего клиента.

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

Платформы для создания ботов:

Morph.ai

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

Morph.ai дает полную свободу действий по отношению к содержанию и последовательности сообщений, интерфейсу. Реализована поддержка целого ряда сервисов мгновенных сообщений, включая следующие:

  • Facebook Messenger
  • Twitter
  • Slack
  • Skype
  • LINE
  • SMS

Я создал бота для своей страницы на Facebook, и результат меня поразил.

Кроме всего прочего, Morph можно интегрировать в Shopify, Zendesk, Salesforce, Intercom, использовать с API, хуками, так что нет необходимости вручную экспортировать контакты или данные.

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

Flow XO

Flow XO позволяет вам создать и разместить чат бота для различных мессенджеров, в том числе Slack и Telegram. Для использования бота не требуются познания в программировании. Flow OX облегчает задачу интегрирования более чем с 90 сервисами:

  • Buffer
  • GitHub
  • Gmail
  • JIRA
  • LinkedIn
  • Mailgun
  • StatusCake
  • и многими другими.

Botsify

Botsify представляет возможность создания виртуального собеседника на 100 пользователей в месяц бесплатно. Если вас интересует только чат в Facebook, то стоит попробовать Botsify.

А как быть, если ваш сайт на WordPress? Для таких случаев на Botsify есть специальный плагин. Чтобы оценить пробный вариант, перейдите по ссылке.

Дизайном можете заниматься самостоятельно. Реализована возможность добавления изображений, аудио и других файлов. Доступна интеграция с Medium.

API.AI

При помощи Api.ai создание умного собеседника для Facebook осуществляется за три простых шага.

  1. Разработка — создайте бота;
  2. Подключение — настройте интеграцию с любым серверным приложением;
  3. Запуск — начало работы.

API.AI — полноценное решение для создания обучаемого чат бота, поддерживающее разные платформы, например, Android, HTML, Node.js, iOS, Python, и т.д.

На сегодняшний день программа поддерживает 14 языков и может быть использована с:

  • Slack
  • Skype
  • Twitter
  • Cisco Spark
  • Kik
  • LINE
  • Amazone Alexa
  • Telegram
  • Twilio IP/SMS
  • Microsoft Cortana
  • Agent Demo

Motion.ai

На Motion.ai вы сможете создать 2 чат бота на 1000 сообщений в месяц совершенно бесплатно. И все это не только для Facebook, но и для SMS, различных веб-сервисов, Slack, Smooch и электронной почты.

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

Chatfuel

Виртуальный собеседник для Facebook будет готов всего за 7 минут и без необходимости в написании кода. Chatfuel пользуются такие гиганты, как UBER, TechCrunch и т.д.

Возможна интеграция с вашими самыми любимыми сервисами, например, Twitter, YouTube, JSON, Instagram и т.д.

Больше всего поражает подход к ценообразованию.

Платформа для создания чат бота совершенно бесплатная!
Здорово, не правда ли?

Manybot

Может быть ваша аудитория использует Telegram? C помощью Manybot вы сможете создать чат бота для Telegram, не написав ни одной строки кода.

Отправляйте текст, изображения и видео подписчикам. Ограничений по длине сообщений нет. Держите бизнес под контролем с помощью персонализированных команд. Наконец, вы также можете настроить автоматическое обновление блога с помощью RSS.

Recast

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

Чат бот сможет работать на Facebook, Slack, Skype, Kik, и т.д.

  • Rebotify
  • Bottr

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

Источник статьи: http://m.habr.com/ru/company/hosting-cafe/blog/316422/


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии