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

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

И для этого необязательно работать онлайн. Чат-боты заменят даже официантов - и такие кейсы уже появляются в Штатах. Пофантазируем: вы заходите в любимое кафе, где завтракаете каждое утро. На стене у стойки - плакат с именем бота-официанта (найти его можно по поиску в приложениях). Вы загружаете мессенджер и пишете:

Привет, бот!

Привет, Андрей. Тебе как обычно?

Да, только эспрессо вместо сока.

Заказ принят!

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

Это не отвлеченная фантазия. Похожие боты уже внедряются в кофейнях США - и ждет первопроходцев в России. Создать такого робота достаточно просто, а взаимодействие с ним впечатляет. Как видите, автоматизация процессов чат-ботами доступна не только онлайн, но и в индустрии общепита. Боты уже умеют бронировать билеты, искать информацию в сети (текст, визуальный контент), консультировать по продуктам компании и прочее. Задумайтесь, как можно применить ботов к вашему бизнесу? И сколько они вам сэкономят?

Повторимся, создание чат-ботов - не такой сложный процесс, каким кажется. Появилось достаточно платформ, позволяющих спроектировать «робота» для мессенджеров без познаний в дизайне и кодинге. Рассмотрим 5 удобных сервисов проектирования чат-ботов.

5 лучших решений

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

Особенности сервиса:

  • обширные библиотеки контента;
  • речевые интерфейсы;
  • крупное коммьюнити (более 225 тысяч участников);
  • обучаемость созданных ботов;
  • поддержка большинства языков.

И главное - сервис бесплатный! Кроме продвинутых услуг: обучение персонала, обзор кода, хостинг и лицензии, расширенная поддержка и прочее. Также платформа предлагает интересное решение: AIaaS (искусственный интеллект как услуга). Используя ресурсы Pandorabots (или свой любимый текстовый редактор), вы создаете бота, а затем активируете его за считанные минуты через встроенный RESTful API.

«Все, что вам нужно при создании ботов. Для мессенджеров, Slack и Telegram», - гласит первое окно сервиса. Заявленные преимущества:

  • Настоящая кросс-платформенность. Бот, созданный единожды, работает на всех площадках;
  • Удобный редактор бота, не требует знания кода;
  • Более 90 встроенных интеграций;
  • Хостинг.

Ценообразование включает два тарифа: бесплатный (5 ботов, 100 интеракций, email-поддержка) и стандартный ($19/месяц, 15 ботов, 1500 интеракций). Но не только. К стандартному плану за $10/месяц добавляется 5 ботов, а за $25 -25000 интеракций.

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

Платформа создания facebook-ботов с очаровательным логотипом-осьминогом 🙂 Сервис не требует знания кода, он бесплатный и простой. Но - забудьте о кросс-платформенности, ведь ManyChat поддерживает только Facebook Messenger.

Бот проектируется на площадке за несколько минут - интуитивно-понятный интерфейс способствует этому. Работа с мессенджером Facebook предполагает несколько преимуществ, на которых фокусируется ManyChat. Так, когда человек начинает переписываться с вашей корпоративной страницей (ботом), он автоматически становится подписчиком. Теперь ему можно рассылать обновления, уведомления, прочий контент.

Автоматизируйте взаимодействия бота с пользователями, создайте контент для рассылок, настройте дату/время отправки - и отдыхайте, остальное бот сделает сам;) К тому же, ManyChat применим как платформа автопостинга по RSS, Facebook, Twitter, YouTube.

Словом, ManyChat - удобное решение, которому недостает лишь кросс-платформенности.

Сервис работает со многими платформами: Facebook Messenger, Twitter, Slack, Smooch, Intercom, Telegram, KiK, Twilio, Webhooks, Luis.ai, Wit.ai, GitHub. Из особенностей:

У Meya подробнейший прайс-лист (на фоне остальных героев подборки) - целых 5 тарифов. Не факт, что это хорошо - глаза слегка разбегаются от обилия вариантов.

  • Бесплатный (200 сообщений, 1 бот, 1 сотрудник, поддержка сообщества);
  • Стартап ($49/месяц, 10 000 сообщений, 5 ботов, 2 сотрудника, «бронзовый» саппорт и аналитика);
  • Бизнес ($99/месяц, 20000 сообщений, боты и сотрудники без ограничений, «серебряный» саппорт, аналитика, экспорт Github);
  • Организация ($199/месяц, гибкое ценообразование - 50 000 сообщений или 10 000 пользователей, боты и сотрудники без ограничений, «золотой» саппорт, аналитика, экспорт Github);
  • Предприятие (цена по договоренности, гибкое ценообразование - более 50 000 сообщений или 10 000 пользователей, боты и сотрудники без ограничений, «платиновый» саппорт, аналитика, экспорт Github).

Как резюме: интересная платформа с широким функционалом.

Гвоздь подборки. Платформа позволяет создавать ботов для Facebook и Telegram. На подходе Slack, KiK, WhatsApp и Viber. Сервис предлагает интуитивно-понятный функционал, не требующий знания кода. ИИ платформы распознает запросы пользователей в широком диапазоне, и отвечает на них, а само решение поддерживает интеграцию со многими сервисами (twitter, YouTube, Instagram и прочее).

ChatFuel уже используют National Geographic, TechCrunch, UBER. А главное - платформа бесплатная! Поправка - до 100 000 активаций бота в месяц. Но этот лимит - условный, ведь он в 2-5 раз шире, чем условия конкурентов. Кажется, создатели ChatFuel сделали самое привлекательное решение на рынке. Как минимум, по соотношению цены/качества.

Вместо заключения

Мы рассмотрели ТОП-5 решений по созданию ботов. Список доступных платформ, функционал, цена - все разнится от решения к решению, но вы наверняка найдете сервис по своим нуждам.

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

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

Существующие варианты

Всего доступно три способа создания бота в Телеграмм:

  1. Создать в конструкторе. Это может быть другой сервис мессенджера, например, @manybot. Или онлайн оболочка, такая как Chatfuel.
  2. Самостоятельная разработка. Для этого необходимо иметь навыки программирования и разворачивания серверных приложений, начиная с установки программного обеспечения.
  3. Покупка. Сейчас появилось множество компаний и частных разработчиков, предлагающих индивидуально под заказ. Цены начинаются от 500 рублей, но в среднем составляют 10-15 тысяч.

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

Процесс программирования


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

  1. Написание подробного технического задания. Оно поможет выделить основные требования к программе и структурировать процесс.
  2. Выбор среды программирования.
  3. Покупка хостинга или поиск бесплатного. Требования к нему определяются выбранной средой. Например, для разработки на РНР обязательно необходим сертификат SSL.
  4. Настройка программного обеспечения.
  5. Кодинг.
  6. Разворачивание. Сложность зависит от выбранной среды. Для Pythona это целый процесс, а на РНР все делается относительно просто.
  7. Отладка.

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

Языки программирования

Как сделать бота в Телеграм и какой язык лучше выбрать? В принципе вы можете выбрать любой язык, который поддерживает серверное программирование и отправку запросов по протоколу https. Чаще всего для , также или C++, C#, Ruby.

Привязка оплаты

Многие сервисы предназначены для упрощения процесса покупок в сети. В разработке используются методы Payment API, которые позволяют привязать системы оплаты к программе. Осуществляется процесс по алгоритму:

  1. Разработчик внедряет ключи и выбирает подключенного к системе провайдера для выполнения транзакций.
  2. В боте появляется кнопка «Pay».
  3. Пользователь робота может совершать платежи, указывая свои данные. Они привязываются к его аккаунту. Доступны стали и мобильные платежи.
  4. Финансовые транзакции проводятся напрямую между клиентом и платежной системой. Телеграмм в этом процессе не участвует. Его задача – предоставить платформу для реализации функций. За счет этого данные о платежах не доступны третьим лицам.
  5. Клиент получает отчет о транзакции, в который включены все данные о покупке.

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

Но обещают по отзывам блокировать ненадежных провайдеров. На сегодняшний день можно создать бота в Телеграмме для продажи за Киви и Яндекс.Деньги.

Создать бота самому своими руками

Симулятор собеседника Telegram - это программа, которая запускается и работает на вашей стороне. Она посылает запросы к АПИ Telegram Bot, который является достаточно простым:

  • Программа обращается к установленным параметрам по ссылке;
  • Телеграмм отвечает JSON массивом.

В Telegram есть возможность вместо выгрузки сообщений вручную установить вебхук, чтобы они присылали каждое письмо сами. Для создания Telegram бота на Python лучше воспользоваться каким-нибудь реактором, например, tornado.web.

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

Логика будет находиться в классе tornado.web.RequestHandler, который реактор принимает для обработки запросов.

CMD обозначает словарь всех доступных команд. Send_reply – это функция отправления ответа. Она принимает готовый массив Message.

Команды

Сначала следует научить программу бота в Telegram константам /start и /help:

Объект message[‘from’] является массивом типа User. От него бот получает данные пользователя, его ID и имя. Будет лучше, если функция ответов будет принадлежать message[‘chat’][‘id’]. Так при общении там будет User, а в случае чата – id последнего.

Установке /start отводится сразу две функции:

Команда без параметров нужна для вывода данных о боте;
с параметрами – для идентификации.

Теперь вы можете создать любое собственное задание. К примеру, /base64.

Для тех, кто пользуется мобильным Telegram, будет полезно дать @BotFather перечень команд, которые должен принимать новый виртуальный собеседник:

Если пользователь Телеграмм захочет увидеть перечень доступных заданий (например, чтобы узнать, как убить программу после выполнения задачи), ему нужно будет написать «/».

Как научить бота говорить

Телеграмм присылает полностью все сообщение. Ограничение на необходимость ставить перед командами слеш создано только для удобства пользователей. Это позволяет научить программу отвечать по-человечески. Для того чтобы дать ей возможность получать в группах все сообщения, нужно написать /setprivacy помощнику @BotFather, отключая, таким образом, приватность.

В Handler следует добавить обработчик:

В список команд нужно включить речь:

Значение 75 здесь отображает вероятность того, что хочет сказать пользователь. Константа format_map удобна для описания требующих подстановки строк.

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

Отсылаемые сообщения могут быть не только текстовыми

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

Например, можно расширить словарь RESPONSES так:

И будем ловить сообщения:

Теперь объект Message не включает в себя текст, поэтому нужно изменить send_reply:

Так робот будет иногда присылать картинку вместо времени:

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

Итак в этой статье я продемонстрирую как создать простого бота основанного на визуальном поиске объектов на экране. Преимуществом данного метода является «незаметность» для различных систем защиты от ботов. Для написания бота мы естественно будем использовать специализированную среду для разработки ботов . Если боты создаются для того чтобы сэкономить ваше время на совершение однообразных рутинных действий, то NOMAD создан для того, чтобы сэкономить ваше время при написании бота. В сравнении с написанием ботов на неспециализированных средах программирования или на не очень специализированных разработка на NOMAD может происходить в десятки, а то и в сотни раз быстрее. (т.к. для начала вам еще придется разработать инструменты обнаружения объектов, которые в NOMAD уже встроены готовые). Скачать дистрибутив NOMAD с уже установленным ботом из этой статьи вы можете по этой ссылке (внимание! настройки программы в дистрибутиве рассчитаны на установку его в папку по умолчанию, если вы устанавливаете его в другое место, то измените пути к базе и конструктору с проигрывателем!)

adminbot
Дата: 22.07.2015

Управлять многими - то же, что управлять немногими. Дело в организации.

Сунь Цзы

Нашей задачей сейчас является демонстрация того, как делается бот программа, а потому для автоматизации мы выберем что-нибудь простое и в то же время всем доступное, например, Калькулятор. Конечно это не онлайн игра, но поверьте, создание бота для онлайн игры ничем не отличается. (внимание пример работает в Windows 8 и Windows 7, причем калькулятор должен выглядеть как на скриншоте, который есть ниже по тексту, т.е. например, в Windows XP калькулятор называется и выглядит иначе, и потому там бот работать не будет)

Для того чтобы начать играть «автоматически» в что нибудь нам необходимо пройти следующие этапы:

  1. Сформулировать для себя задачу. Каких целей должен достигать наш бот.
  2. Какие действия он должен выполнять для этого?
  3. Исходя из задачи определить какие объекты он должен видеть, и каким образом, и на какие события реагировать для достижения целей описанных в пункте 1.
  4. Создание алгоритма.
  5. Программирование.

Задачей нашего бота будет бесконечно складывать на калькуляторе 2 числа 59 и 3.

Для достижения нашей цели нам необходимо, чтобы наша программа нажимала на кнопки 5 и 9 калькулятора, а в случае успеха на кнопку + и кнопку 3 и затем кнопку =

Следовательно эти объекты мы и должны будем искать на изображении, а затем тыкать в них мышью. Также мы будем анализировать число 59 и число 0 в поле результата, а также кнопку CE, для того чтобы сбросить вычисления на 0 перед началом очередной итерации.

Итак, наш алгоритм: В бесконечном цикле сначала ищем и жмем мышью на кнопку 5, и на кнопку 9. В случае успеха делаем паузу 3 секунды (чтобы успеть насладиться результатом). Затем проверяем есть ли у нас изображение числа 59, если есть то находим и кликаем мышью на кнопки + и 3 калькулятора, если эти операции также выполнены успешно, то находим и кликаем по кнопке = калькулятора. После чего спим 5 секунд. Затем проверяем, если в поле результата нет картинки 0, значит необходимо нажать кнопку CE, чтобы сбросить результаты предыдущих вычислений. После чего итерация повторяется. При нажатии кнопки Esc программа останавливается.

Продемонстрируем код программы которая у нас получилась:

Delphi/Pascal

Procedure StartOnClick(); begin while (getasynckeystate($1B) = 0) do //цикл продолжается пока не нажмут Esc++ begin if five.MouseClick("l") and nine.MouseClick("l") then //если успешно нажали пять и 9 то begin sleep(3000); //спим 3 секунды if fiftynine.FindPicture then //если нашли 59, то прибавим к ним 3: begin if plus.MouseClick("l") and three.MouseClick("l") then //если получилось нажать плюс 3, то жмем на равно equal.MouseClick("l"); end; end; sleep(5000); //спим 5 секунд if not zero.FindPicture then //если на табло нет нуля CE.MouseClick("l"); //то жмем CE Application.ProcessMessages;//принудительно обрабатывает //сообщения пришедшие в окно за время работы, например //сообщение о нажатии клавиши Esc. Если не вызывать то //программа может "подвисать", плохо реагировать на нажатия Esc и т.п. end; //цикл продолжается пока не нажмут Esc -- ShowMessage("Программа остановлена!"); end;

Procedure StartOnClick () ;

begin

while (getasynckeystate ($ 1B ) =0 ) do //цикл продолжается пока не нажмут Esc++

begin

if five . MouseClick ("l" ) and nine . MouseClick ("l" ) then //если успешно нажали пять и 9 то

begin

sleep (3000 ) ; //спим 3 секунды

if fiftynine . FindPicture then //если нашли 59, то прибавим к ним 3:

begin

if plus . MouseClick ("l" ) and three . MouseClick ("l" ) then //если получилось нажать плюс 3, то жмем на равно

equal . MouseClick ("l" ) ;

end ;

end ;

sleep (5000 ) ; //спим 5 секунд

if not zero . FindPicture then //если на табло нет нуля

CE . MouseClick ("l" ) ; //то жмем CE

Application . ProcessMessages ; //принудительно обрабатывает

//сообщения пришедшие в окно за время работы, например

//сообщение о нажатии клавиши Esc. Если не вызывать то

//программа может "подвисать", плохо реагировать на нажатия Esc и т.п.

end ; //цикл продолжается пока не нажмут Esc --

ShowMessage ("Программа остановлена!" ) ;

end ;

Тут мы забежали немного вперед, написав сразу код, т.к. в NOMAD сначала необходимо создать шаблоны изображений которые мы будем искать. Так если посмотреть в код, то можно увидеть следующие записи: five,nine,fiftynine,plus,three,equal,zero,CE — что это? а это собственно и есть те шаблоны, в NOMAD с ними можно работать из кода как с объектами, т.е. пишем имя объекта в коде и вызываем его метод, например: FindPicture — найти изображение шаблона, MouseClick(‘l’) — найти изображение шаблона и кликнуть левой кнопкой мыши по нему. Для того чтобы подробно изучить возможности и функции NOMAD рекомендую обратиться к . А сейчас я в кратце опишу как нам создать недостающие шаблоны:

Во первых создадим базу данных, для этого в Launcher нажмем кнопку ADD, в открывшимся окне заполним в первом поле имя базы данных (например Калькулятор), и во втором поле укажем каталог где мы хотим хранить все что мы напрограммировали. Т.е. собственно исходник нашей программы, или иными словами базу данных. Далее жмем кнопку Save и в списке у нас должна появится запись. Выбираем ее и жмем кнопку Constructor.

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

На пункте выделенном на картинке голубым цветом жмем правой кнопкой мыши и выбираем пункт меню «добавить конвеер скриншотов». В появившемся окошке указываем его имя — «Calc». И нажимаем кнопку Input. После чего объект с таким именем должен появиться в дереве объектов в разделе ScreenShotPipe. Найдем его там и кликнем на нем левой кнопкой мыши. В левой части программы появится окошко следующего вида (свойства могут идти в другом порядке):

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

В третьих запустим калькулятор и сделаем его снимок, для того чтобы сделать снимок необходимо нажать кнопку ScreenShot в левом верхнем углу Конструктора. После этого у нас появится окно TV со снимком экрана. Теперь нам необходимо нажать кнопку Cut и выделить в окне TV наш калькулятор, результатом этих действий должно быть окно TV с изображением калькулятора.

Нажимаем кнопку Borders (примечание. с момента написания этой статьи в программе появился режим FixBorders (кнопка черный мониторчик с луной), рекомендую использовать именно его. Используется он точно также как Borders, но работает на динамических изображениях гораздо стабильнее ) и начинаем делать шаблоны. Объясню как это делается на примере шаблона для кнопки «+» — мы должны выбрать на изображении самый характерный его участок, который не повторяется в других местах. Собственно и выбираем сам символ +, нажимаем на кнопку Select, и выделяем этот знак в квадратик:

Кликаем правой кнопкой мыши внутри пунктирного квадратика и у нас появляется окно:

в поле имя которого мы пишем «plus» (так как этот объект у нас в коде был написан) и жмем Input. В разделе Templates дерева объектов у нас появился объект с таким именем. Нажмем на него и слева появится уже знакомое нам окошко:

Тут нам нужно поменять свойство ConnectedScreen в нем мы должны выбрать конвеер скриншотов который мы создавали вначале, т.к. по умолчанию тут выбран глобальный конвеер, который фотографирует весь рабочий стол целиком, а не только наш калькулятор. На этом минимальная настройка шаблона закончена и думаю нам этого будет достаточно. Более подробно об этом можно узнать в документации. Вам лишь осталось поступить аналогичным образом со всеми остальными объектами, которые мы должны добавить в шаблоны. После добавления всех шаблонов дерево объектов должно выглядеть следующим образом:

Очень важно, чтобы наименования в точности включая регистр ввода соответствовали тому, что вы видите на картинке. В примере шаблоны five и nine сделаны другим способом, в режиме ColMap, за подробностями того как это делается предлагаю обратиться к документации. На работу кода программы это не окажет особого влияния и вы можете сделать все шаблоны тем же образом как и шаблон кнопки +. А можете ничего не делать, и скачать готовый дистрибутив с примером

Для того чтобы создать шаблоны fiftynine и zero необходимо делать шаблон участка калькулятора выделенного на картинке:

По шаблонам все.

3) Еще нам необходимо создать графический интерфейс программы через который она будет общаться с пользователем. Для этого необходимо в Конструкторе программы войти в меню «Окна» и выбрать пункт «Дизайнер Формы»

Откроется окно с формой, на которой нужно дважды щелкнуть и из открывшегося окна добавить объект Button в обоих полях формы пишем Start. Жмем ОК и выходим из формы, а на главной форме у нас появилась кнопка Start, нажимаем на нее и появляется опять меню свойств, жмем на закладку Events и видим следующее:

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

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

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

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

Другие примеры ботов можно поискать на форуме например,

Продолжаем цикл статей посвященный написанию чат-ботов для социальных сетей на php. Прошлый раз мы создавали бота для Телеграм, а в этот раз я расскажу как сделать аналогичного бота для ВКонтакте. Забегая вперед скажу, что сегодня мы не будем использовать ВКшный PHP SDK и наш бот будет состоять лишь из одного файла (про SDK поговорим в другой раз).

Также, как и в случае с Телеграмм ботом нам потребуются минимальные навыки программирования на php, хостинг и ssl сертификат. Готовы? Приступим!

Что будет уметь наш бот?

Возможности бота ограничены лишь фантазией программиста (благо api вк многое позволяет), поэтому для примера наш бот будет уметь лишь самое простое, а именно:

  1. Отправлять уведомления при вступлении в сообщество;
  2. Отвечать в случае если пользователь отправил ЛС в чат группы;
  3. Отправлять уведомление в момент когда пользователь покидает группу.

Начинаем создавать бота

Прежде чем начнем писать код, создадим ключи доступа для нашего бота. Для этого перейдем в Управление сообществом, выберем справа «Работа с API» и нажмем на «Создать ключ».

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

Теперь перейдем во вкладку Callback API->Настройки сервера. Здесь нас интересуют сразу 3 вещи: Адрес, Строка, которую должен вернуть сервер и Секретный ключ. Адрес пока пропустим (в целом вы можете сразу его заполнить если определились с тем, где будет лежать основной файл нашего php-бота, но поскольку сам файл еще не создан, то ВК будет ругаться, ибо сразу после ввода url соцсеть отправляет POST-запрос на проверку доступности бота по указанному адресу). Скопируем значение напротив «Строка, которую должен вернуть сервер» (confirmationToken). (в нашем случае это tt32e1 . Придумает Секретный ключ (secretKey). Не забываем нажать «Сохранить».

Итак, на выходе у нас должны быть где-то записаны 3 вещи:

  1. confirmationToken
  2. token
  3. secretKey

Теперь можно приступить к написанию php кода.

Как создать бота в ВК (кодинг на php)

Начинаем писать файл нашего бота ВКонтакте. Назовем его vk_bot.php. Напомню, что код необходимо писать в кодировке UTF-8 (без BOOM).

Определимся с константами:

if (!isset($_REQUEST)) {return;}
// Строка, которую должен вернуть сервер (См. Callback API->Настройки сервера)
$confirmationToken = "tt32e1";
// Ключ доступа сообщества (длинная строчка которую получили нажав "создать ключ")
$token = "тутбудетмногобуквицифр";
// Секретный ключ. (Задаем в Callback API->Настройки сервера)
$secretKey = "testKeyMyBot";

Теперь проверим поступившие данные:

// Получаем и декодируем уведомление
$data = json_decode(file_get_contents("php://input"));
// проверяем secretKey
if (strcmp($data->secret, $secretKey) !== 0 && strcmp($data->type, "confirmation") !== 0) {return;}

Используя switch проверим, что находится в поле «type» (какое событие сработало и в зависимости от этого сформируем ответ).

// Проверяем, что находится в поле "type"
switch ($data->type) {
// Запрос для подтверждения адреса сервера (посылает ВК)
case "confirmation":
echo $confirmationToken; // отправляем строку для подтверждения адреса
break;
// Если это уведомление о новом сообщении...
case "message_new":

$userId = $data->object->user_id;



$user_name = $userInfo->response->first_name;

$request_params = array(
"message" => "{$user_name}, Ваше сообщение получено!
В ближайшее время админ группы на него ответит.",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);



break;
}

Небольшое пояснение:

Когда юзер отправляет сообщение в чат с группой срабатывает событие. Событие представляет собой JSON, имеющий следующую структуру:

{«type»: <тип события>, «object»: <объект, инициировавший событие>, «group_id»: }

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

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

Теперь можно закачать наш с вами файл на сервер и заполнить в настройках адрес (если не сделали этого ранее).

Кроме этого необходимо перейти во вкладку «Типы событий» и поставить галочку напротив «Входящие сообщения».

Теперь можем проверить работу:

Как видим - все пашет. По сути у нас уже получилось сделать бота в вк. Давайте его немного прокачаем.

Добавим в конструкцию case еще 2 условия. Первое - отправит уведомлений в случае если человек вступил в нашу группу:

// Сработало событие - человек вступил в группу
case "group_join":
// получаем id автора сообщения
$userId = $data->object->user_id;
// через users.get получаем данные об авторе
$userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
// Вытаскиваем имя отправителя
$user_name = $userInfo->response->first_name;
// Через messages.send используя токен сообщества отправляем ответ
$request_params = array(
"message" => "Добро пожаловать в группу, {$user_name}!",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);
$get_params = http_build_query($request_params);
file_get_contents("https://api.vk.com/method/messages.send?". $get_params);
echo("ok"); // Возвращаем "ok" серверу Callback API
break;

Второе - аналогичное уведомление, но только в момент, когда человек покинет сообщество:

// Сработало событие - человек покинул группу
case "group_leave":
// получаем id автора сообщения
$userId = $data->object->user_id;
// через users.get получаем данные об авторе
$userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
// Вытаскиваем имя отправителя
$user_name = $userInfo->response->first_name;
// Через messages.send используя токен сообщества отправляем ответ
$request_params = array(
"message" => "{$user_name}, нам очень жаль, что вы покинули нашу группу!",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);
$get_params = http_build_query($request_params);
file_get_contents("https://api.vk.com/method/messages.send?". $get_params);
echo("ok"); // Возвращаем "ok" серверу Callback API
break;

Не забудем добавить соответсвтующие галочки напротив нужных нам событий в настройках группы:

Чего нельзя делать ботам

Не лишним будет процитировать один из разделов справки ВК:

Теперь вы знаете как создавать своего бота в ВК. Исходники урока можно скачать тут. В следующий раз поговорим о работе с PHP SDK для вк-ботов. Если у вас остались вопросы - задавайте в комментах. И не забываем репостить и лайкать эту статью)

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

Что такое "бот"?

На самом деле все очень просто. "Бот" в социальных сетях - это несуществующий человек, которого на самом деле просто нет. Это фейк. Еще их называют "мертвыми душами", прямо как в повести Гоголя, несуществующие люди, но числящиеся в некоторых структурах. В данном случае будут рассмотрены фейки в социальной сети "ВКонтакте". "Живое" отображение "бота" представлено в виде анкеты тех людей, которые на самом деле не существуют, или это заброшенные странички пользователей, а возможно, даже и копии, но реальные владельцы об этом не знают. Что умеет делать такой "бот"? Ничего, он просто есть и все. Он не умеет читать или писать и вообще ничего.

Для чего нужен "бот"?

Как уже было сказано выше, все такие фейки абсолютно ничего не делают, если, конечно, не устанавливать для них специальную программу. Так зачем он тогда вообще нужен? Основная его функция заключается в том, чтобы при помощи таких "ботов" повысить численность нужной группы. Для раскрутки любого сообщества требуются подписчики или члены. Именно такую функцию выполняют боты.

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

Как создать страницу "бота" в "ВК" самостоятельно?


1. В любой поисковой системе находим страницу регистрации в "ВК". В графе "имя" пишем любое имя. В строке "фамилия" какую-либо, лучше всего распространенную, фамилию. Нажимаем "зарегистрироваться".

3. После подтверждения для вас откроется чистая страничка, которую нужно заполнить.

Теперь, после регистрации, переходим к главному вопросу, а именно "Как создать бота в "ВК"?". На страничке нового пользователя нужно заполнить все обязательные поля. А конкретно следующие:

1. Основное: имя и фамилию вы уже заполнили. Значит, нужно указать пол, семейное положение, дату рождения, город, язык. Далее - дедушки, бабушки, родители, братья, сестры, дети, внуки - добавляете нужные. Нажимаете "сохранить".

2. Контакты: нужно добавить страну, Skype, личный сайт. Можно последние пункты и не добавлять.

3. Интересы: надо вписать деятельность. Указать как можно большее количество, интересов (книги, путешествия, юмор и другое). Далее заполнить - любимая музыка, затем фильмы, телешоу, книги, игры, цитаты и написать что-либо "о себе", а затем сохранить.

4. Следующее - образование, указать школу, учебные заведения и сохранить.

5. Карьера: нужно вписать место учебы и работы, можно несколько, и также сохранить.

6. Служба: только для мужского пола.

7. Жизненная позиция: надо заполнить - мировоззрение, главное в жизни, главное в людях, отношение к курению, отношение к алкоголю, источник вдохновения, и все это также сохранить.

Итак, основные данные заполнены, переходим на следующий этап.

Второй этап - добавление фотографий

Итак, переходим на второй этап решения вопроса "Как создать бота в "ВК"?". Теперь надо добавить аватарку и фотографии.

1. Находим в интернете в разделе "картинки" подходящие фотографии. Загружаем их к себе на компьютер и сохраняем.

2. Желательно найти фотографии несколько штук одного какого-либо человека. В таком случае можно создать видимость "живого и реального пользователя".

3. Фотографию для аватарки подбираем среднего размера, на ней должно быть отчетливо видно лицо нашего "бота". Нельзя брать животных или какие-либо экстравагантные снимки. Все должно быть приближено к реальности. Загружаем на страничку "ВК" и сохраняем.

4. Теперь добавляем фотографии, чем их больше, тем лучше. Они могут быть любыми. "Бот" может на них быть запечатлен как в единственном числе, так и с компанией и с группой людей. Нужно загрузить хотя бы 4-5 фотографий. Переходим на следующий этап и узнаем, как создать "бота" в "ВК", заключительные действия.

Оживление "бота"

Теперь нужно добавить больше жизненности фейку.

Третий этап решения задачи "Как создать "бота" в "ВК"?" подразумевает самые активные действия. На страничку нового фейка надо загрузить несколько видеороликов, какие-либо аудиозаписи. А также добавить друзей. Как создать "бота" в "ВК" без программ, так сказать, в ручном режиме? Это потребует затрат вашего личного времени. Дело в том, что друзей придется добавлять вручную. Создавать запросы в друзья и принимать придется ежедневно. Чтобы лжепользователь казался еще более живым, нужно, чтобы он общался. "бота" в "ВК"? Можно это сделать двумя способами: установить специальную программу или ежедневно самостоятельно писать в чате и общаться с другими пользователями от его имени.

Как видите сами, ничего сложного нет. Однако стоит принять во внимание, чтобы создать полноценного "бота", нужно потратить свое свободное время.