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

Не является исключением и одна из популярнейших социальных сетей в России – «Вконтакте».

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

  • чаты-помощники. Данная разновидность программ часто находятся рядом, их всегда сложно распознать. Помогают в существенной мере упростить жизнь путем «отбора» на себя рутинных и периодических операций. Яркие примеры: нахождение необходимой информации, покупка или подбор туров, заказ еды с доставкой на дом, бронирование гостиничных номеров и т. п.;
  • бизнес-боты – специализированные программы, выполненные на разных языках программирования. Основная задача – автоматизация бизнес-процессов и оптимизация, как временная, так и функциональная. Примеры: рассылка оповещений и сообщений клиентам, сотрудникам, покупателям; автоответчик и т. д.;
  • искусственный интеллект или ИИ. В скором времени подобные боты станут единственными и поглотят общий рынок веб-разработок. Их реализация часто требует достаточно много сил, времени и денежных средств. Однако, эффект оптимизации и увеличения КПД просто потрясающий. Подобные роботы способны ответить практически на любой вопрос пользователя. На их основе часто делают «обучалки» в различных играх и приложениях (в том числе и мобильных);
  • игровые боты. Данная разработка является подвидом ИИ, также пользующаяся нарастающим спросом. Такие программы часто имитируют какого-либо игрока или персонажа, помогающего пройти этап. Распространены в приложениях в «Вконтакте».

Зная разновидности, приступим к различным способам их реализации.

Как сделать бота для группы в «Вконтакте». 2 основных метода.

Реализация путем непосредственного использования ресурсов самого «ВК».

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

Чтобы приступить к процессу, необходимо перейти во вкладку «Управление».


Скролим вниз и видим подраздел «Сообщества».

Так же можно сразу нажать одноименную вкладку в меню, находящемся слева.

Нажимаем «Чат-боты».

Оказываемся на веб-странице, на которой происходит описание чат-ботов, их преимуществ, цели создания.

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

Нет смысла описывать полностью разработку бота для «ВК», так как данный процесс займет много времени, часто сугубо индивидуален и зависит лт цели его изобретения. Но мы отметим те моменты, которые могут вам сильно помочь:

    примеры реализации чат-ботов (источники доступны на популярном веб-ресурсе «GitHub»):

    разработка чат-бота с применением «Node JS» с возможностью добавления новых команд.

Во всех вышеперечисленных материалах все основные моменты очень хорошо и понятно описаны (особенно в технической документации), что делает создание бота для группы в «ВК» увлекательным и интересным.

Использование ботов-сервисов для создания

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

Рассмотрим несколько сервисов. Первый и очень популярный веб-ресурс – «Robochat».

Нажимаем «Создать бота» и переходим на форму регистрации/авторизации, выбираем наиболее удобный способ.


Следующий шаг – кликнуть мышкой по кнопке «Подключить бота» и выбрать интересующее нас сообщество.

Выбрав и разрешив боту необходимые доступы, попадаем в раздел «Настройки» и их производим. А именно:

  • тип сообщения: приветствие, действие после подписки/отписки, письмо на необработанное сообщение от интернет-пользователя;
  • ответы на загрузку какого-либо медиафайла: картинка, стикер, видео, товар, документ, аудиофайл;
  • и т. д.

Чтобы произвести редактирование, наводим на необходимый пункт и жмем на появившийся «карандашик».

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

Поняв принцип, рассмотрим основные возможности сервиса:

  • «Настройки» были описаны ранее;
  • «Сценарий» дает возможность создания имитации прямого диалога с пользователем путем прописывания тех или иных вопросов, разных ответов и связей между ними. Чем больше продумана данная структура, тем лучше.
  • «Рассылка» - отправка сообщений всем пользователям в «Вконтакте», которые когда-либо осуществляли обращение через бота в сообщество;
  • «Статистика». Название говорит само за себя. Основные данные для анализа: количество диалогов, сообщений, подписок/отписок, пол/возраст, город и статистика ответов на неизвестные команды. Последний пункт позволяет дорабатывать структуру и задавать более точные сценарии после непосредственного анализа.

    «Управление ботом» подразумевает следующие моменты, отображенные на скриншоте;

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

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

Сервис «Робочат» является условно бесплатным. Тарифная сетка формируется на основе количества подписчиков и числа подключенных сообществ:

  • «Бесплатный» тариф относится к паблик-формированиям, в котором менее 50 000 участников;
  • «Начальный» - 1 сообщество, в котором до 100 000 людей. Плата в месяц – 399 рублей;
  • «Стандарт» подразумевает возможности подключения одного паблика, в котором до 500 000 подписчиков. Месячная стоимость – 599 руб.;
  • Премиум – 1 999 рублей за любое сообщество с неограниченным числом подписанных пользователей.

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

Рассмотрим еще один аналогичный сервис с оригинальным названием – «BotVK».

Нажав «Создать бота прямо сейчас», сразу попадаем на окно с запросами доступа. При этом желательно уже зайти в свою учетную запись в соцсети «Вконтакте».

Заходим в раздел «Боты», производим подключение необходимого паблика.

Основная разница в ценообразовании:

  • предусмотрен бесплатный тестовый период, составляющий 3 дня и позволяющий в полной мере ознакомиться со всем функционалом сервиса;
  • вне зависимости от количества подписчиков абонентская плата составляет 100 рублей в месяц за одно паблик-формирование.
  • за рассылку будет необходимо заплатить 500 рублей, но одноразово.

Малая стоимость платы за месяц, видимо, и является тем преимуществом, которое помогло «БотВК» стать конкурентоспособным и быть наравне с «Робочатом».

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

Заключение

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

Какой вариант выбрать, решайте сами. У каждого есть свои преимущества. Главное, что следует помнить, проработка сценариев – это сложное и ответственное дело, качество которого будет напрямую сказываться на лояльности подписчиков, как нынешних, так и потенциальных. Чем ответственное отнесетесь к данному процессу, тем лучший эффект даст бот.

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

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

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


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

Авторизация

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


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





import time import vk_api vk = vk_api.VkApi(login = "login", password = "password") #vk_api.VkApi(token = "a02d...e83fd") #Авторизоваться как сообщество vk.auth()

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

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


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


def write_msg(user_id, s): vk.method("messages.send", {"user_id":user_id,"message":s})

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


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

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

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


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


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


values = {"out": 0,"count": 100,"time_offset": 60} vk.method("messages.get", values)

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


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


{u"count": 3441, u"items": [{u"body": u"\u041f\u0438\u0448\u0435\u043c \u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0432\u043a!", u"date": 1491934484, u"id": 7387, u"out": 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592}, {u"body": u"\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440!", u"date": 1491934479, u"id": 7386, u"out": 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592}]}

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



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


while True: response = vk.method("messages.get", values) if response["items"]: values["last_message_id"] = response["items"]["id"] for item in response["items"]: write_msg(item,u"Привет, Хабр!") time.sleep(1)

Чат-бот готов.


P.S. Мы запоминаем параметр last_message_id, чтобы в следующий раз обрабатывать только новые сообщения.


Полный код

# -*- coding: utf-8 -*- import time import vk_api vk = vk_api.VkApi(login = "login", password = "password") #vk_api.VkApi(token = "a02d...e83fd") #Авторизоваться как сообщество vk.auth() values = {"out": 0,"count": 100,"time_offset": 60} def write_msg(user_id, s): vk.method("messages.send", {"user_id":user_id,"message":s}) while True: response = vk.method("messages.get", values) if response["items"]: values["last_message_id"] = response["items"]["id"] for item in response["items"]: write_msg(item,u"Привет, Хабр!") time.sleep(1)


Получилось 17 строк кода. Успехов!


UPD 17.09.18:
К сожалению в новой версии (5.80) VK API был убран метод "messages.get" и данная статья потеряла актуальность. Теперь для создания ботов используйте систему longpoll. Пример на модуле vk_api для Python вы можете найти .

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

Быстрая навигация:

Как сделать бот ВК

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

Что такое бот в ВК

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

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

Можно представить в виде анкеты тех граждан, которых на самом деле нет, или это давно заброшенные странички обычных пользователей ВК, а возможно, даже и реальные копии, о которых реальные владельцы даже не догадываются. Что же умеет делать «бот»? Если говорить честно, то практически ничего, он просто существует и все. Он не умеет писать или читать и вообще ничего того, что делают обычные посетители Вконтакте. Далее мы рассмотрим вопрос: как сделать бота в ВК для того, чтобы он стал настоящим помощником в раскрутке группы.

Как сделать бота в ВК для группы

Важно понимать, что для создания ботов в вк существует несколько способов. Первым из ботов, о которых пойдет речь – это «Робочат». Этот бот обладает достаточно легким и понятным функционалом, при этом так же незамысловат и понятен в настройке. Для его установки необходимо перейти на сайт robochat.io, и нажать на кнопку «Создать бота» (при необходимости, нужно пройти процедуру посредством вашего е-мейла).

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

Приложение сделает запрос к доступу к личному аккаунту в VK. Важно знать, что данный аккаунт должен обязательно иметь права администратора в нужном вам паблике «Вконтакте»). Кликните на «Разрешить»

Так вы перейдёте к перечню добавления групп «Вконтакте», в которых вы числитесь администратором. Кликните на «Подключить» справа от необходимого сообщества», а затем кликните на «Разрешить» для доступа бота к сообщениям группы, его фото и видео. Теперь вернитесь в ваш аккаунт на сайте Robochat.io, перейдите в раздел «Чат-бот» слева, в которой будут расположены три подвкладки («Основное», «Сообщения ВК», «Ключевые слова»). Нас интересует непосредственно подвкладка «Основное», где вы будете иметь возможность настроить ответы вашего бота на всевозможные запросы пользователя, в том числе пользуясь подвкладкой «Ключевые слова». Для редактирования определенной опцией существует кнопка «Редактировать», которая располагается возле каждого из пунктов. После завершения настройки шаблонных ответов ваш бот готов к работе. Для того, чтобы его активировать пользователю необходимо кликнуть на кнопку «Написать сообщения» в вашем сообществе, и бот даст ответ пользователю в соответствие с заданной вами настройкой.

Второй способ сделать бота для группы ВК

К следующему способу можно отнести. Бот «BotVK», который подразумевает автоматизированные ответы на входящие сообщения пользователей паблика. Установка такого бота в ВК с сайта bot-vk.ru по своему алгоритму идентична с установкой предыдущей программы «Робочат». Скрипт бота вк встроен в саму программу, что облегчает ее использование. При этом настройка «BotVK» также интуитивно проста, и не требует от пользователя каких-либо специальных знания по программированию. Для начала работы с данным ботом перейдите на сайт bot-vk.ru, и нажмите на кнопку «Создать бота».

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

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

Третий способ – Создание Чат-ботов на сайте bots.hsstore.ru

Вы смело можете воспользоваться ботами платной основы на сайте bots.hsstore.ru. Здесь представлено множество платных ботов для сайта VK, функционал которых можно подключить за ежемесячную плату в 990 рублей. Среди них есть википедия-бот (рассылает статьи с Википедии по вашим запросам), бот подходящий для общения (имеет навыки соединять вас анонимно с другими неизвестными пользователями), бот демонстрирующий гороскопы и так далее.

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

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

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

Как создать бота в ВК через Андроид

«Андроид» является операционной системой, созданной для электронных устройств. Она действует на ядре Linux и дает возможность создавать приложения, управляемые устройством через библиотеки системы «Гугл». Как создать бота ВК через смартфон? «Андроид» полностью поддерживает многие программы по созданию ботов посредством смартфона. Для того, чтобы сделать его самостоятельно, вам поможет отличное знание языка программирования, в том числе и понимание, что означает понятие «бот код». Если с этим имеются сложности, также можно воспользоваться автоматическим устройством или сервисами. Допустим, Abot способен создать собственного виртуального помощника. Он будет отвечать на сообщения и всевозможные вопросы клиентов. Это достаточно удобная вещь для контроля и ведения бизнеса через смартфон.

Конструктор ботов ВК

Прежде чем браться за это дело, необходимо определится, для чего он нужен. Его создание, не всегда, требует навыков программирования и каких-либо супер знаний. Конструкторы ботов помогут отлично справиться с этой задачей (одним из самых востребованных считается Chatfuel). Конструкторы позволяют создать bot с применением удобного интерфейса. Такими помощниками довольствуются серьезные компании и фирмы. Востребованными и популярными конструкторами на сегодняшний день можно считать: Api.ai, Meya, Pandarabots, Manybot. Эти сервисы применяются для конструкции чат-ботов в различных социальных сетях.

Как создать чат бота

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

Существует четыре вида чат-ботов:

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

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

· Бизнес-боты. Они предоставлены для того, чтобы увеличивать коэффициент полезного действия и принимать участие в оптимизации бизнеса. Тут бот для группы вк является необходимостью. Допустим, сервис SpyCat 2.0 рассылает оповещение пользователю о полученных комментариях в сети ВК, при этом имея функцию автоответчика. Бизнес-боты понижают затраты, автоматизируют все рабочие процессы (выполняют рассылку сообщений клиентам и сотрудникам).

· Игровые. Программа, управляющая компьютером. Она имитирует партнеров в онлайн-игре по командам. Подобные боты основаны на искусственном интеллекте и полностью адаптированы к особенностям определенной игры.

Как создать чат бот в ВК? – это очень популярный вопрос от тех, кто намерен развивать свой бизнес посредством привлечения клиентов через бот ВК. Сделать это достаточно просто. Прежде чем приступить к этому делу, необходимо соблюдение следующих критериев: непрерывный доступ в интернет и наличие свободного времени. Также нужно скачать бесплатный чат-бот, запустить его и добавить аккаунт. Далее нужно ввести логин и пароль личной страницы в ВК. Затем откроется инструкция, ее необходимо прочесть и проследовать на вкладку «Сообщения». На стене сообщества своего аккаунта нужно написать «Бот, привет!». Спустя тридцать секунд он должен дать ответ. Во вкладках программы «Аккаунт», «Команды» можно изменять и настраивать функции бот ВК.

Скачать готовый бот для ВК

В данном разделе мы подробно рассмотрим, как и где можно скачать бот вк. На самом деле, скачивание бота абсолютно несложная задача, справиться с которой может абсолютно любой человек, которые имеет навыки пользования ПК. Скачать Бот ВК, можно на сайте vk-robot . или на других сайтах. Всех их объеденяет одно, а именно: риск скачать вирус, скачать устаревшую программу, которая не только не будет Вам полезна, а поспособствует быстрому бану и разного рода другие неприятности. Скачивая в сети программы вы очень рискуете.

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

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

Босслайк имеет множество функций, которые хотят получить пользователи Вконтакте: , Подписчики, комментарии…

Как написать бота для ВК самостоятельно

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

· В любом поисковике находим форму регистрации в «ВК». В строке «имя» вводим любое имя. В строке «фамилия», лучше всего вписать распространенную, фамилию. Кликаем «зарегистрироваться».

· Затем нужно вписать номер телефона и кликнуть «получить код».

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

Поэтапно:

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

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

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

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

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

6. Служба: указывать нужно только, как правило, мужскому полу.

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

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

1. Находим в интернете в поисках «картинки» фотографии человека. Загружаем их на свой компьютер и сохраняем.

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

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

максимально приближено к реальности. Загружаем фото на страничку «ВК» и сохраняем.

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

Следующий шаг…

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

Итак, в заключении можно подвести итог, что создать бот ВК 2018, можно двумя способами: установить специальную программу или ежедневно самостоятельно писать в чате и общаться с другими пользователями от его имени. Как видите сами, ничего сложного нет. Однако стоит принять во внимание, чтобы создать полноценного «бота», нужно потратить свое свободное время.

Продолжаем цикл статей посвященный написанию чат-ботов для социальных сетей на 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 для вк-ботов. Если у вас остались вопросы - задавайте в комментах. И не забываем репостить и лайкать эту статью)

Новый функционал для ботов ВК — кнопки быстрых ответов или же keyboard.

ВАЖНО! Более свежая версия статьи

Наша команда «ботописцев» сразу заинтересовалась этим нововведением и начала изучать официальную API , чтобы рассказать вам и показать подробную инструкцию по созданию бота использующего keyboard. В ходе этой статьи получится бот, посмотреть работу которого вы можете в нашей группе GameTips в ВК. Так же вы можете присоединиться к беседе-комьюнити в вк, где вам могут помочь с возникшей проблемой.

Создание и настройка сообщества

После создания сообщества в ВК проследуйте по этому пути:
«Управление сообществом» →«Сообщения» и включите диалоги сообщества. Теперь в подменю «Настройки для бота» включите «Возможности ботов» и кнопку «Начать».

Писать будем используя Сallback api(отправляет каждое действие в сообществе по отдельности на сервер). Поэтому его тоже следует настроить. Переходим в
«Управление сообществом» →»Работа с API». Для работы бота нужно зарегистрировать ключ доступа. Нажимаете «Создать ключ» и выбираете необходимые права доступа, для этого бота нужны только права на сообщения. Подтверждаем номер телефона и сохраняем куда нибудь ключ доступа. Теперь переходим во вкладку Callback API. Ставим свое название сервера и выбираем последнюю версию API(на данный момент она 5.80, и именно с ней ниже представленный бот будет работать 100%) . Во вкладке «Типы запросов» выбираем только входящие сообщения.

Настройка сервера

Теперь вам понадобится сервер для хостинга своего бота. Вы можете использовать бесплатные хостинги, например 000webhost.

Если вы будете использовать дешевые/бесплатные хостинги, то вероятнее всего на них будет отключен cURL(вы не сможете отправлять ботом медиа файлы, только текст), и его нельзя включить. У 000webhost все с этим нормально, можете использовать. Если у вас свой сервер или хороший купленный, то вам надо подключить cURL для полноценной работы бота из нашего примера.

Как работает Callback API и keyboard

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

{"type":"message_new","object":{"date":1529668584,"from_id":89846036,"id":1522,"out":1,"peer_id":89846036,"text":"Золотая рыбка","conversation_message_id":305,"fwd_messages":,"important":false,"random_id":0,"attachments":,"payload":"{\"animals\":\"Goldfish\"}","is_hidden":false},"group_id":101461081}

Тут есть несколько интересных полей, которые можно обработать: id пользователя, текст сообщения(text), полезная нагрузка кнопки(payload).

Отправка сообщений пользователю происходит с помощью метода messages.send . Если вы отправляете клавиатуру, то после всех стандартных параметров вы добавляете параметр keyboard, который содержит json кнопок, вот как он выглядит:

Keyboard: { "one_time": false, "buttons": [ [{ "action": { "type": "text", "payload": "{\"button\": \"1\"}", "label": "Red" }, "color": "negative" }, { "action": { "type": "text", "payload": "{\"button\": \"2\"}", "label": "Green" }, "color": "positive" }]

Работа с библиотекой

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

$vk = new vk_api(vk_key, version_api) — инициализация бота. Параметры: ключ сообщества(vk_key), версия API(version_api).

sendMessage(id, text) — функция отправки сообщений юзеру. Параметры: id пользователя(id), текст сообщения(text).

sendImage(id, patch) — функция отправки изображений. Параметры: id пользователя(id), путь до изображения(patch).

sendButton(id, text, buttons, one_time) — функция отправки сообщения с кнопками. Параметры: id пользователя(id), текст сообщения(не может быть пустым)(text), массив с кнопками(buttons), не обязательный параметр one_time, по дефолту false, если поставить true, то после нажатия на любую кнопку клавиатура скроется.

request(method, array_arguments) — универсальная функция работы с методами. Параметры: method — название метода из официального api, array_arguments — массив параметров.

sendOK() — Бета функция. Используется вместо echo «ok», помогает в тех случаях, когда время работы скрипта долгое, и бот начинает повторять сообщения по несколько раз.
ВАЖНО: есть использовать эту функцию, то у вас не будет отображаться вывод ошибок. Во время дебага заменяйте на echo «ok»

Полный код бота на PHP

Теперь перейдем собственно к коду, где прокомментирована почти каждая строка.
Данный код поддерживается на PHP 5.6+
В блоке CONFIG укажите свой ключ доступа сообщества, ключ для подтверждения сервера а так же выбранную вами версию API.

"Fish"], "А какие бывают?", "blue"]; //Код кнопки "Fish" const BTN_BACK = [["command" => "start"], "<< Назад", "red"]; // Код кнопки "<< Назад" const BTN_SALMON = [["animals" => "Pink_salmon"], "Горбуша", "white"]; // Код кнопки "Горбуша" const BTN_GOLDFISH = [["animals" => "Goldfish"], "Золотая рыбка", "blue"]; // Код кнопки "Золотая рыбка" const BTN_PLOTVA = [["animals" => "Plotva"], "Плотва", "green"]; // Код кнопки "Плотва" $vk = new vk_api(VK_KEY, VERSION); // создание экземпляра класса работы с api, принимает ключ и версию api $data = json_decode(file_get_contents("php://input")); //Получает и декодирует JSON пришедший из ВК if ($data->type == "confirmation") { //Если vk запрашивает ключ exit(ACCESS_KEY); //Завершаем скрипт отправкой ключа } $vk->sendOK(); //Говорим vk, что мы приняли callback if (isset($data->type) and $data->type == "message_new") { //Проверяем, если это сообщение от пользователя $id = $data->object->from_id; //Получаем id пользователя, который написал сообщение $message = $data->object->text; if (isset($data->object->peer_id)) $peer_id = $data->object->peer_id; // Получаем peer_id чата, откуда прилитело сообщение else $peer_id = $id; if (isset($data->object->payload)){ //получаем payload $payload = json_decode($data->object->payload, True); } else { $payload = null; } if (isset($payload["command"]) or mb_strtolower($message) == "начать") { //Если нажата кнопка начать или << назад $vk->sendButton($peer_id, "Хочешь посмотреть на рыбок?", []); //Отправляем кнопку пользователю } else { if ($payload != null) { // если payload существует switch ($payload["animals"]) { //Смотрим что в payload кнопках case "Fish": //Если это Fish $vk->sendButton($peer_id, "Вот такие, выбирай", [ //Отправляем кнопки пользователю , ]); break; case "Pink_salmon": //Если это Горбуша $vk->sendMessage($peer_id, "Держи свою горбушу!"); //отправляем сообщение $vk->sendImage($peer_id, "img/pink_salmon.jpg"); //отправляем картинку break; case "Goldfish": //Если это Золотая рыбка $vk->sendMessage($peer_id, "Она исполнит твои желания..."); $vk->sendImage($peer_id, "img/goldfish.jpg"); break; case "Plotva": //Если это Плотва $vk->sendMessage($peer_id, "Ой, похоже картинку перепутали)"); $vk->sendImage($peer_id, "img/plotva.jpg"); break; default: break; } } } } ?>

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

Стартуем!

Заливайте свой скрипт и библиотеку на сервер. Теперь заходим в настройках во вкладку Callback API, вписываем в поле адреса путь до своего скрипта и жмем подтвердить. Если вы все сделали правильно, то рядом с адресом появится зеленая галочка.

FAQ:

Вопрос: Вообще ничего не работает!
Ответ: Значит где-то накосячили. Перечитайте еще раз внимательно статью, и проверьте, все ли вы сделали. Любой шаг влево может привести к ошибке…

Вопрос: У меня все работает, но не отправляются картинки.
Ответ: Проверьте, добавили ли вы папку img с изобажениями. Так же, возможно вы используете сервер, где не поддерживается cURL.

Вопрос: Я изменил версию на 5.78 или любую другую. У меня ничего не работает.
Ответ: Используйте другие версии api кроме 5.80 на свой страх и риск. Например на версии 5.78 от ВК приходят другие названия переменных(например вместо object->text идет object->body), поэтому скрипт крашится. Все изменения api ищите