Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Безопасность
  • Установить бота вконтакте чтобы отвечал на сообщения. Как создать бота в «ВК» для группы

Установить бота вконтакте чтобы отвечал на сообщения. Как создать бота в «ВК» для группы

Из прошлых статей мы создавали простой скрипт для переписки. Были рассмотрены базовые возможности. На этот раз мы напишем чат-бот с командами. Реализуем такие команды:

  • город [название города]. Данной командой задается город собеседника, бот запомнит его, сохранит в файл. Эти данные будут доступны даже после перезапуска программы.
  • погода . Бот отправляет текущую температуру в городе собеседника.
  • пробки . Бот получает скриншот Яндекс.Карт с состоянием пробок и отправляет картинку.
  • события . Бот отправляет список событий в городе собеседника.
  • пришли на email . Бот сохраняет email собеседника в файл.

Город

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

Var cityFile = profile + "__" + contact; if (content.startsWith("город ")) { var city = content.substring(6); log.info("Saving city for contact " + contact); tools.writeToFile(cityFile, city); return "Теперь я знаю твой город."; }

В переменную cityFile мы сохраняем имя файла. Далее с помощью вызова метода tools.writeToFile(file, data) мы сохраняем город в файл. Обратите внимание, что функцией writeToFile пользоваться небезопасно в случае если несколько анкет выполняют один и тот же скрипт и обращаются к одному и тому же файлу. Поэтому мы используем id анкеты в имени файла, чтобы исключить такие конфликты.

Для чтения из файла используется метод tools.readFromFile(file). Данная функция читает весь файл и возвращает содержимое. Если файла не существует, функция возвращает пустую строку.

Var city = tools.readFromFile(cityFile); if (city.isEmpty()) { return "Я не знаю твой город:("; }

Выбор имени файла

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

Var profile = hist.localContact().getID().toString(); var contact = hist.externalContact().getID().toString(); var cityFile = profile + "__" + contact;

Здесь мы получаем данные об анкете в боте через метод hist.localContact(). Далее методом getID() получаем внутренний идентификатор анкеты (выглядит примерно так profile_www.vk.com_+79129192508). Аналогично получаем идентификатор собеседника (id361493719). В результате в переменной cityFile получаем profile_www.vk.com_+79129192508__id361493719. Поскольку имя содержит идентификатор анкеты, добавленной в бот, другая анкета не сможет сгенерировать такое же имя файла и конфликтов не будет.

Погода

Для получения данных о погоде воспользуемся сервисом openweathermap.org. Нужно зарегистрироваться и получить бесплатный ключ для доступа к API. Далее отправить HTTP-запрос с названием города и получить в ответ JSON с данными.

Function getWeather(city, tools) { city = city.replace(" ", "%20"); var apiKey = "43599b515694631087a103907284116d"; var url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&appid=" + apiKey + "&units=metric"; return JSON.parse(tools.httpGet(url)); }

Для выполнения HTTP-запроса используем метод tools.httpGet(url). Метод возвращает тело HTTP-ответа. Обратите внимание, что пробелы в названии города мы заменяем на специальный код.

Пробки

Получать данные о пробках будет с Яндекс.Карт также через выполнение HTTP-запроса.

Function getTraffic(city, file, log, tools) { log.info("Getting coordinates for city " + city); city = city.replace(" ", "%20"); var url = "https://geocode-maps.yandex.ru/1.x/?geocode=" + city + "&format=json"; var resp = JSON.parse(tools.httpGet(url)); var coord = resp["response"]["GeoObjectCollection"]["featureMember"]["GeoObject"]["Point"]["pos"].replace(" ", ","); log.info("Coordinates are: " + coord + ", getting traffic pic"); var url = "https://static-maps.yandex.ru/1.x/?ll=" + coord + "&spn=0.1,0.1&l=map,trf"; return tools.download(url, file); }

Сервис Яндекс.Карт возвращает данные о пробках по географической координате. У нас же есть только строковое название города. Поэтому сначала мы отправляем HTTP-запрос на получение данных о городе на другой сервис. Среди прочего в ответе есть данные о координате. Координату используем для другого HTTP-запроса. Обратите внимание, что для получения картинки с пробками мы используем метод tools.download(url, file). Этот метод также выполняет HTTP GET запрос, но сохраняет бинарный результат в файл. Метод получает URL и имя файла для сохранения ответа. Обратите внимание, что в имени файла должно быть только имя, без путей. Метод возвращает полный путь к этому файлу.

События

Для получения событий в конкретном городе воспользуемся API timepad.ru .

Function getEvents(city, tools) { city = city.replace(" ", "%20"); var url = "https://api.timepad.ru/v1/events.json?limit=10&skip=0&cities=" + city + "&fields=location&sort=+starts_at"; return JSON.parse(tools.httpGet(url)); }

Пришли на email

Воспользуемся методом tools.appendToFile(file, line). Метод добавляет строку line в файл file (только имя файла, без путей). Данный метод является безопасным для использования из нескольких анкет с одним и тем же именем файла. Таким образом удобно собирать какие-то сообщения или фрагменты сообщений от пользователей в одном файле. В данном скрипте мы будем собирать email адреса пользователей.

If (content.startsWith("пришли на email ")) { var email = content.substring(16); tools.appendToFile("emails", email); }

Весь скрипт

Приведем весь код скрипта.

Function getTemplates() { return ; } function getWeather(city, tools) { city = city.replace(" ", "%20"); var apiKey = "43599b515694631087a103907284116d"; var url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&appid=" + apiKey + "&units=metric"; return JSON.parse(tools.httpGet(url)); } function getTraffic(city, file, log, tools) { log.info("Getting coordinates for city " + city); city = city.replace(" ", "%20"); var url = "https://geocode-maps.yandex.ru/1.x/?geocode=" + city + "&format=json"; var resp = JSON.parse(tools.httpGet(url)); var coord = resp["response"]["GeoObjectCollection"]["featureMember"]["GeoObject"]["Point"]["pos"].replace(" ", ","); log.info("Coordinates are: " + coord + ", getting traffic pic"); var url = "https://static-maps.yandex.ru/1.x/?ll=" + coord + "&spn=0.1,0.1&l=map,trf"; return tools.download(url, file); } function getEvents(city, tools) { city = city.replace(" ", "%20"); var url = "https://api.timepad.ru/v1/events.json?limit=10&skip=0&cities=" + city + "&fields=location&sort=+starts_at"; return JSON.parse(tools.httpGet(url)); } function handle(content, profile, contact, log, tools) { log.info("Got message: " + content + " from " + contact + " to " + profile); var cityFile = profile + "__" + contact; if (content.startsWith("город ")) { var city = content.substring(6); log.info("Saving city for contact " + contact); tools.writeToFile(cityFile, city); return "Теперь я знаю твой город."; } else if (content.startsWith("погода")) { var city = tools.readFromFile(cityFile); if (city.isEmpty()) { return "Я не знаю твой город:("; } log.info("Getting weather for city " + city); var weather = getWeather(city, tools); return "Температура: " + weather["main"]["temp"]; } else if (content.startsWith("пробки")) { var city = tools.readFromFile(cityFile); if (city.isEmpty()) { return "Я не знаю твой город:("; } var trafficFile = profile + "__" + contact + ".png"; var fullFileName = getTraffic(city, trafficFile, log, tools); return "такие пробки "; } else if (content.startsWith("пришли на email ")) { var email = content.substring(16); tools.appendToFile("emails", email); return "Спасибо! Я напишу."; } else if (content.equals("события")) { var city = tools.readFromFile(cityFile); if (city.isEmpty()) { return "Я не знаю твой город:("; } log.info("Getting events for city " + city); var events = getEvents(city, tools)["values"]; log.info("Got " + events.length + " events"); var result = ""; for (var i = 0; i < events.length; ++i) { var dateTime = events[i]["starts_at"]; var dateTimeStr = dateTime.substring(0, 10) + " " + dateTime.substring(11, 17); var name = events[i]["name"]; result += (i + 1) + ". " + dateTimeStr + " " + name + "\n"; } return result; } return ""; } function getAnswer(hist, log, tools) { var profile = hist.localContact().getID().toString(); var contact = hist.externalContact().getID().toString(); var toReply = hist.unansweredMessages(); var result = ""; for(var i = 0; i < toReply.size() ; ++i) { var message = toReply.get(i); var content = message.content().toLowerCase(); var dup = false; for(var j = 0; j < i && !dup; ++j) { dup = content.equals(toReply.get(j).content().toLowerCase()); } if (!dup) { result += handle(content, profile, contact, log, tools) + " "; } } return result; }

Пример работы

Что еще можно получить из истории

Из истории переписки в скрипте можно получить некоторую дополнительную информацию об анкете и собеседнике. А именно.

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

Как сделать бота в вк для сообщений в группах.

Почему же боты во вконтакте обрели такую популярность? Все достаточно просто и сейчас мы приведем лишь часть примеров, которые помогут нам понять хайп и ажиотаж вокруг самописных чат ботов:

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

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

Как создать бота в вк отвечающего на сообщения.

Стоит отметить что бота можно сделать несколькими способами, но все они подойдут для вас и будут удобными:

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

Как создать своего бота в вк

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

  • https://bot-vk.ru
  • https://robochat.io

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

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

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

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

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

Боты в ВК - это страницы, заполненные недостоверной информацией. Они выполняют поставленные автором задачи в автоматическом режиме. Часто ботами в социальных сетях становятся взломанные страницы реальных пользователей. Боты заполоняют тысячи сообществ. Их основная задача - раскрутка группы, оставление комментариев, накрутка лайков, репосты и многое другое. Они выполняют ряд черновых задач: рассылают спам, накручивают число подписчиков или друзей.

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

Зачем он нужен?

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

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

Конструкторы

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

Чат-бот ВК

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

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

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

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

Не знаете, как создать бота в ВК самостоятельно? В этом могут помочь бесплатные конструкторы. Если же планируете сделать бота сложнее, лучше написать его вручную, используя любой язык программирования. Существуют инструменты, которые упрощают задачу конструктору. К примеру, api.ai умеет преобразовывать запросы пользователя так, что эти команды понимает компьютер. Если спросить у бота: «Какая завтра будет погода в Ростовской области?» - он поймет вопрос по ключевым словам «погода, завтра, Ростовской области» и выдаст результат.

На вопрос о том, как создать бота в ВК без программ, специалисты отвечают: в первую очередь выберите язык программирования. Это относится к тем пользователям, которые имеют об этом представление. Чаще всего применяют Python, Javascript. Затем выбирается платформа для работы с ботом: любая социальная сеть, программа отправки и получения сообщений и библиотека для взаимодействия с мессенджером (API). Она позволяет программе общаться с социальной сетью. Когда платформа и язык программирования выбраны, можно создать простого бота, а все дальнейшие действия зависят от первых. Когда бот создан, попробуйте протестировать его. Это помогает устранить недочеты и ошибки, улучшить его.

Как действовать?

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

Лучшие статьи по теме