Работа с библиотекой
$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)
Начинаем писать файл нашего бота ВКонтакте. Назовем его 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. Полный список возможных событий см. в официальной справке ВКонтакте.
Итак, на данный момент мы научили нашего бота 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;
Не забудем добавить соответсвтующие галочки напротив нужных нам событий в настройках группы:
Рассмотрим самые популярные функции VKBot
Первая кнопка «Профиль» позволяет автоматизировать некоторые процессы, очистить стену или личную переписку от записей, аудиофайлов. При нажатии на ту или иную кнопку выскакивает подробное меню, где можно выбрать нужное действие.
Автоматизация позволяет одобрять или отклонять заявки в друзья, а также отмечаться на видеозаписях и фотографиях автоматически. Здесь же есть функция «Вечный онлайн», благодаря которой аккаунт всегда будет «В сети», когда программа работает. Функция «Автостатус» позволяет автоматически размещать записи на стене или в статусе, можно настроить экспорт цитат с других ресурсов, постить аудиотреки и многое другое. Для того чтобы выбранные функции стали работать, необходимо нажать «Применить» перед выходом из диалогового окна.
С помощью подменю «Чистка» можно совершить множество действий. Кнопка «Управление личными сообщениями» позволяет удалить диалоги целиком, удалить сообщения от тех, кто не является другом. «Управление новостями» позволяет отписаться от комментариев, скрыть или показать всех друзей в ленте. С помощью следующей кнопки можно удалить аудио и видеозаписи по нужным критериям (без альбома, без просмотров, дубликаты), убрать отметки профиля на фото и видео. При нажатии на нужную кнопку появляется окно, где можно уточнить информацию и поставить галочки в нужных полях.
Следующее подменю позволяет восстановить удаленные записи со стены (действует в течение 1 часа).
В меню управления группами можно настроить массовое вступление в сообщества из поиска или выход из них.
Управлять встречами можно с помощью следующего меню. Здесь есть возможность удалить участников и приглашения, выйти из прошедших событий.
Есть возможность экспортировать переписку, списки участников встреч, друзей и т. д. с помощью меню «Экспорт».
Управлять заявками в друзья, подписками и функцией «Интересные люди» можно в меню «Друзья». Предусмотрено множество критериев, по которым можно проредить свой список друзей. Следующее меню позволяет управлять подписчиками и удалять их.
Одной из важных функция является управление «черным списком». Чтобы добавить какого-либо пользователя, необходимо указать ссылку на его страницу.
Следующая вкладка «Медиа» из основного меню.
Рис. 13 – Вкладка «Медиа»
Кнопка «Плеер» позволяет прослушивать и транслировать аудиозаписи в статус, не заходя на сайт. Программой предусмотрена возможность загрузки файлов с сайта – можно выкачивать музыку со стены, скачивать нужные альбомы целиком.
Программа позволяет не только сохранять, но и загружать элементы: граффити, документы, картинки.
Кроме скачивания и загрузки, VKBot позволяет копировать понравившиеся видео, аудио и картинки в профиль. Для этого необходимо только указать ссылку на материал.
Следующее меню позволяет редактировать добавленные документы (приватность, описание), а также упорядочить аудио. Здесь же можно управлять перемещением фото и видео, добавлять их в тот или иной альбом.
Для быстрого отмечания друзей на фото или видео есть отдельная кнопка. При нажатии появляется меню, где можно выбрать само фото, а также информацию о том, каких именно друзей необходимо отметить (из одного города, одного пола и т. д.).
Приглашать друзей в группы и во встречи с VKBot очень просто. Необходимо только выбрать нужный пункт в меню «Инвайтинг». Друзья отбираются по любым нужным критериям (возраст, местонахождение, пол).
Программу можно настроить под себя, например, чтобы она включалась вместе с загрузкой Windows, сразу была свернута в трей. Все нужные пункты можно отметить в «Настройках».
Кнопка «Спрятать» сворачивает VKBot в трей. Чтобы развернуть ее надо дважды кликнуть по иконке. Программой можно управлять прямо из трея, щелкнув правой клавишей по иконке и выбрав нужное меню. Там же можно выйти из VKBot.
Так как программа не требует установки, то и удалить ее можно просто переместив exe-файл в корзину.
Массовое использование и популяризация ботов в социальной сети «ВК» вдохновит каждого администратора любого социальной сети на желание использовать подобную программу-бота и в своем паблике. При этом, не каждый знает, как выполнить его установку, и, даже прочитав множество материалов с целью нахождения пояснений для реализации желаемого, не каждый сразу поймет последовательность необходимых действий, для того чтобы создать бот ВК. В данном обзоре все администраторы найдут для себя способы создать бота в группы ВК, и научатся использовать соответствующие инструменты.
Быстрая навигация:
9 сервисов для создания чат-бота во «ВКонтакте»
Собрали список из 9 конструкторов чат-ботов, которые поддерживают интеграцию во ВКонтакте. Вкратце рассмотрим их возможности.
Senler
Senler — популярный сервис, который чаще всего используют для рассылки сообщений. Пригоден для создания автоворонок, а также анонсирования рекламных акций и конкурсов. Также у Senler есть приложение для сообществ ВКонтакте, которое находится в официальном каталоге.
Возможности:
-
персонализация сообщений с помощью динамических тегов,
-
целевая рассылка узкому сегменту подписчиков,
-
реализация платной подписки на рассылку,
-
редактор чат-ботов с клавишным меню,
-
создание микролендингов прямо во ВКонтакте, которые увеличивают конверсию на подписку,
-
конструктор виджетов для сообщества ВКонтакте,
-
аналитический кабинет.
Стоимость: бесплатно до 50 сообщений в сутки. Минимальный тариф обойдется в 300 ₽ в месяц за лимит в 2000 сообщений в сутки.
Сервис Senler
Aimylogic
Aimylogic — конструктор чат-ботов с поддержкой продвинутой технологии распознавания языка. Конструктор разработала компания Just AI, которая специализируется на создании технологий с использованием машинного обучения. Боты Aimylogic могут обходиться без голосового меню и понимать пользовательские запросы, даже если они написаны с ошибками или синонимами.
Возможности:
-
поддержка интеграции одного чат-бота сразу в несколько каналов связи: мессенджеры, соцсети и голосовые помощники,
-
поддержка Webhooks и API для интеграции со сторонними сервисами,
-
готовые интеграции с «Битрикс24» и Google Analytics.
Стоимость: бесплатный тариф поддерживает до 25 подписчиков. Базовый тариф с поддержкой до 100 подписчиков обойдется в 990 ₽ в месяц.
Сервис Aimylogic
LEADTEX
LEADTEX — конструктор, который позволяет не только создать бота самому, но и заказать разработку у создателей сервиса.
Возможности:
Стоимость: минимальная стоимость тарифа Pro — 900 ₽ в месяц, но окончательную стоимость нужно уточнять у менеджера.
Сервис LEADTEX
Konverbot
Konverbot — конструктор чат-ботов, который отличается от сервисов конкурентов готовыми решениями для HR.
Возможности:
-
встроенная CRM с аналитическим кабинетом,
-
готовые интеграции с CRM «Битрикс24» и конструктором сайтов Tilda,
-
готовые шаблоны для HR: Recruiting KIT, Adaptation KIT, Education KIT,
-
интеграции с онлайн-чатами, такими как Webim, Jivo, Carrot quest, LIVETEX.
Стоимость: от 1000 ₽ в месяц — нужно уточнять у менеджера.
Сервис Konverbot
SaleBot
Возможности:
-
шаблон для игры с геймификацией для «ВКонтакте»,
-
встроенная CRM,
-
конструктор микролендингов,
-
сегментирование рассылки,
-
интеграции с большим количеством платежных систем, среди которых есть «ЮKassa», «ЮMoney», «Тинькофф», «QIWI» и «СБЕР».
Стоимость: 990 ₽ в месяц за базовый тариф.
Сервис SaleBot
Как должны выглядеть дашборды для SMM-аналитики в 2022
Botmother
Botmother — еще один конструктор чат-ботов, который поддерживает «ВКонтакте».
Возможности:
-
сегментирование рассылок,
-
поддержка передачи лида живому консультанту,
-
собственный кабинет аналитики,
-
интеграция со сторонними сервисами через API, а также встроенная поддержка сервисов-интеграторов Zapier, Albato и ApiX-Drive,
-
готовая интеграция с платежными системами PayOnline, Robokassa, bePaid и «ЮKassa».
Стоимость: стартовый тариф обойдется в 2416 ₽ в месяц.
Cервис Botmother
Как сделать бота в вк для сообщений в группах.
Почему же боты во вконтакте
обрели такую популярность? Все достаточно просто и сейчас мы приведем лишь часть примеров, которые помогут нам понять хайп
и ажиотаж вокруг самописных
чат ботов:
- Свежо и ново. в вк
давно уже ничем не удивить пользователя и паблики
и группы стараются выделяться от остальных пабликов
конкурентов, тем самым вовлечь пользователей и заинтересовать. - Автоматизация многих ручных процессов. Раньше админам пабликов
, особенно крупных приходилось часами тратить время отвечая на вопросы пользователей, или нанимать модераторов в свои группы и частенько случались казусы. - Автоматически розыгрыш призов и раздачи кодов и аков
. Теперь необходимо иметь только огромное количество кличей и призов бот сам раздаст все вашим подписчикам.
И приводить примеры можно до бесконечности, но давайте остановимся только на этих.
Д
ак
как же создать своего бота в вк
который будет отвечать на сообщения?
Как создать бота в вк
отвечающего на сообщения.
Стоит отметить что бота можно сделать несколькими способами, но все они подойдут для вас и будут удобными:
- Сделать бота на свое пк. Плюсы быстрая настройка и подгонка под любые требования. Минусы, ваш компьютер должен быть онлайн или бот не будет работать.
- Написать скрипт и разместить его на сервере. Из плюсов стоит отметить быстроту ответов бота. К минусам стоит отнести сложность создания и настройки, аренду даже самого дешевого хостинга за который все равно придется платить.
- Воспользоваться онлайн сервисами
по созданию своих ботов для Вконтакте как платными так и бесплатными.
Именно таких ботов мы и научим вас делать.
Как создать своего бота в вк
И так чтобы создать своего бота для Вконтакте вам не нужно знать языки программирования, арендовать сервер под эти задачи и так далее.
Среди огромного множества мы подобрали для вас два отличных бесплатных сервиса
по созданию ботов онлайн которые абсолютно бесплатные.
- https://bot-vk.ru
- https://robochat.io
Понятно будет даже любому ребенку или школьнику все очень просто регистрируемся на сайте.
Логинимяся
под своим логином из вк
, важно вы должны быть администратором вашей группы. Наш совет Хоть сайты и надежные, но толковых хакеров ничего не остановит поэтому мы рекомендуем добавлять бота с фейка
Настраиваем и обучаем бота тому что он должен отвечать кому и как. Профит.
Как видите создать такого бота для Вконтакте может абсолютно каждый.
Эта программа позволяет упростить работу с сайтом «Вконтакте» и ускорить выполнение однотипных действий. С ее помощью вы можете автоматизировать процессы скачивания аудиотреков и видеороликов, упростить рассылку заявок в друзья и приглашений во встречу или группу. Эта программа незаменима для администраторов пабликов, а также организаторов встреч в данной социальной сети. VKBot упрощает массовую рассылку сообщений друзьям, помогает быстро отметить людей на фотографиях и видео. С этим софтом легко очистить стену и личную переписку, при необходимости удалить друзей.
Пользоваться программой очень просто, она имеет понятный интерфейс и может выполнять множество функций, не загружая оперативной памяти компьютера. Разработчики VKBot постоянно следят за обновлениями сайта «Вконтакте» и вовремя дополняют собственный продукт, поэтому программа всегда работает четко и остается одной из лучших многофункциональных программ по работе с этим сайтом. Есть расширенная платная версия программы, которая имеет больше функций, стоимость активации VKBotPro – 400 р. за 1 месяц использования.
Системные требования VKBot
Операционная система: Windows XP/Windows Vista/Windows 7/Windows 8.
Разворачиваем функционал
Первым делом создадим файл manage.py Cоздадим прототип встроенной клавиатуры ( всё с помощью документации VkBotAPI ).
main_keyboard = { «one_time»: False, «buttons»: , , ] } Затем переводим её в формат json, как требуется в документации: main_keyboard = json.dumps(main_keyboard, ensure_ascii=False).encode(‘utf-8’) main_keyboard = str(main_keyboard.decode(‘utf-8’)) Пример инлайн клавиатуры: about_us_keyboard = { «inline»: True, «buttons»: , , , , ], } Не забываем все используемые клавиатуры переводить в формат json: about_us_keyboard = json.dumps(about_us_keyboard, ensure_ascii=False).encode(‘utf-8’) about_us_keyboard = str(about_us_keyboard.decode(‘utf-8’)) Создадим функцию write_msg, для того, чтобы не мучиться с постоянной отправкой сообщений от бота: def write_msg(user_id, message, key): vk.method(‘messages.send’, {‘user_id’: user_id, ‘message’: message, ‘keyboard’: key, ‘random_id’: random.randint(0, 2048)}) После создания всех прототипов, мы можем перейти к следующему шагу. ( к этому файлу мы позже вернёмся и доработаем обработку общения пользователя и нашего vk-бота )
▍2.1 Основной функционал (создаем файл vk_bot.py)
Мы не будем разрабатывать методы, которые будут выполнять, например, функцию парсинга времени или погоды, назовем их второстепенными. Я покажу лишь основной метод, который будет обращаться к этим второстепенным методам, для обработки тех или иных сообщений от пользователя. В конце статьи я выложу ссылку на свой GitHub, где Вы сможете самостоятельно просмотреть интересующий Вас функционал любого из метода. Итак: Конструктор класса:
class VkBot: def __init__(self, user_id): self.USER_ID = user_id self._USERNAME = self._get_user_name_from_vk_id(user_id) self.my_str = «» self._COMMANDS = self._inputMes = {«основная информация»: answers.about_us1, «чем мы занимаемся ?»: answers.about_us2, «где мы находимся ?»: answers.about_us3, «ближайшие мероприятия»: answers.events1, «проведённые мероприятия»: answers.events2, «волонтёрство на мероприятие»: answers.events3, «действующие проекты в нгту»: answers.events4, «мероприятия межвузовского центра»: answers.events5 } Последнее свойство класса — inputMes — это особый словарь, у которого значения ключей — это текст из файла answers.py, где я расположил текст в виде строк, поэтому, чтобы не загромождать код я и вынес основной текст в другой файл.
(Пример кода из файла answers.py)
events1 = «Итак,ближайшие мероприятия:\\n\\n» \\ «Форум «Байкал»\\n»\\ «Конкурс «Цифровой ветер»\\n»\\ «PRONETI» events2 = «Вот список проведенных мероприятий:\\n»\\ «МНТК\\n»\\ «Семинары по проектной деятельности\\n»\\ «Встреча с представителями предприятий\\n»\\ events3 = «По поводу этого критерия напиши Илье ()\\n»\\ «А также, ты можешь заполнить анкету, благодаря которой,\\n»\\ «с тобой лично свяжется один из руководителей направления\\n»\\ «или координатор проекта ()» Итак, основной метод класса — это new_message, который принимает один параметр — message, который обрабатывается соответствующим условным блоком и возвращает какое -то значение обратно туда, откуда был вызван. def _get_user_name_from_vk_id(self, user_id): request = requests.get(«» + str(user_id)) bs = bs4.BeautifulSoup(request.text, «html.parser») user_name = self._clean_all_tag_from_str(bs.findAll(«title»)) return user_name.split() def new_message(self, message): # self.my_str = » «.join(re.findall(‘{2}’, message)) if message.lower() == self._COMMANDS: return f»Привет, {self._USERNAME}!» elif message.lower() == self._COMMANDS or message.lower() == «узнать погоду «: return self._get_weather() elif message.lower() == self._COMMANDS or message.lower() == «узнать точное время «: return self._get_time() elif message.lower() == self._COMMANDS: return f»До скорой встречи, {self._USERNAME}!» else: for key, value in self._inputMes.items(): if message.lower() == key: return value return «Не понимаю тебя «
Почему боты и офферы бесполезны для бизнеса
Почему так происходит? Ответ прост — ваша группа и ваш бизнес этим людям абсолютно не интересны. Они получили свое вознаграждение и благополучно о вас забыли. И пусть даже стоимость одного такого подписчика значительно дешевле, чем целевого, полученного при запуске платной рекламы, но возникает вопрос: а зачем эти офферы вообще вам нужны?
Некоторые авторы проектов ВКонтакте считают, что в группу с несколькими тысячами подписчиков, вступают значительно лучше, чем в пустую. Но проблема вся в том, что для того, чтобы запудрить людям мозги вам придется еще и имитировать хоть минимальную, но активность в своей группе. А за это тоже придется платить…И опять же эта активность будет липовой. Именно поэтому я никогда и нигде не покупаю офферов
и вам не советую.
Чего нельзя делать ботам
Не лишним будет процитировать один из разделов справки ВК:
Теперь вы знаете как создавать своего бота в ВК. Исходники урока
можно скачать тут. В следующий раз поговорим о работе с PHP SDK для вк-ботов. Если у вас остались вопросы — задавайте в комментах. И не забываем репостить и лайкать эту статью)
Знаете ли вы, как создать бота в группе ВК и зачем он нужен? Современные технологии привели бизнес в интернет, в том числе и в социальные сети. Основное правило бизнеса — давать прибыль, и чем более эффективно устроена бизнес-модель, тем больше рентабельность.
Одним из направлений усиления эффективности бизнес-модели является автоматизация рутинных задач. Если брать социальные сети, например, Вконтакте, там специальные микропрограммы заметно упрощают жизнь владельцам сообществ и снижают влияние ошибок из-за человеческого фактора.
Одной из таких разработок являются боты в группах ВК. Они занимаются рассылкой сообщений.
Чат-бот — это микропрограмма, которая способна расшифровывать сообщения от живых людей и осмысленно отвечать им. Установкой бота вы передаёте программе функцию секретаря. Тем самым вы снимаете с себя необходимость постоянно быть на связи и отвечать на каждое сообщение.
Идея ботов основана на нейросетях и машинном обучении. Чат-бот выполняет определённый круг задач. Бота можно гибко настроить под разные целевые группы собеседников.
Первый примитивный чат-бот был написан более 50 лет назад в 1966 году. Автор проекта — Джозеф Вейценбаум. С тех пор боты претерпели большие изменения, многому научились. Теперь может быть непросто определить в чате кто перед тобой: настоящий человек или умная программа.
Как определить, кто общается с вами — живой человек или бот
Современные технологии настолько развиты, а время так быстро летит вперёд, что у обычного человека остаётся всё меньше времени на общение.
Многие компании оптимизируют бизнес-процессы, отдавая функции консультантов ботам. Если вы общаетесь с ботом-консультантом, то определить, кто перед вами, будет значительно сложнее, нежели с ботом-собеседником.
Наблюдайте за реакцией пользователя, который вам отвечает.
- Если вам приходит длинное сообщение в ответ буквально за пару секунд, это верный признак автоматизации беседы.
- Если собеседник повторно прислал вам сообщение, текст которого точь-в-точь напоминает отправленный раньше, — с вами наверняка общается чат-бот.