Как написать бота для страницы вк

Время на прочтение
3 мин

Количество просмотров 272K

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

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

Авторизация

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

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

image

image

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

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'u041fu0438u0448u0435u043c u0431u043eu0442u0430 u0434u043bu044f u0432u043a!',
   u'date': 1491934484,
   u'id': 7387,
   u'out': 0,
   u'read_state': 0,
   u'title': u' ... ',
   u'user_id': 23107592},
  {u'body': u'u041fu0440u0438u0432u0435u0442 u0425u0430u0431u0440!',
   u'date': 1491934479,
   u'id': 7386,
   u'out': 0,
   u'read_state': 0,
   u'title': u' ... ',
   u'user_id': 23107592}]}

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

image

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

while True:
    response = vk.method('messages.get', values)
    if response['items']:
        values['last_message_id'] = response['items'][0]['id']
    for item in response['items']:
            write_msg(item[u'user_id'],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'][0]['id']
    for item in response['items']:
            write_msg(item[u'user_id'],u'Привет, Хабр!')
    time.sleep(1)

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

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

#статьи

  • 8 сен 2022

  • 0

Чат-боты во «ВКонтакте»: зачем нужны и как сделать своего

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

Кадр: анимационный сериал «Любовь, смерть и роботы»

Герман Хватков

Редактор Skillbox Media. Пишет о бизнесе и маркетинге вместе с экспертами.

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

  • Что умеют чат-боты во «ВКонтакте»
  • Какого делать чат-бота: на конструкторе или самописного
  • Как создать своего бота: пошаговая инструкция
  • Функции чат-ботов, которые помогут бизнесу

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

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

А чат-бот СДЭК снимает часть нагрузки со службы поддержки компании
Скриншот: чат-бот СДЭК во «ВКонтакте»

Sales-менеджер сервиса Senler Михаил Катаев приводит список возможностей чат-ботов во «ВКонтакте». Чат-бот:

  • знакомит потенциального клиента с компанией и рассказывает о её товарах и услугах;
  • отвечает на вопросы клиента. Бот работает 24 на 7 — он обрабатывает и сохраняет лиды, даже когда сотрудники отдыхают;
  • «прогревает» вплоть до продажи — с помощью переписки и игровых механик;
  • продаёт — без участия «живого» менеджера;
  • работает над увеличением LTV клиента — чат-бот может напомнить клиенту о компании спустя заданное время после совершения покупки;
  • позволяет анализировать продажи — данные можно выгружать во внешние сервисы, также в чат-ботах может быть внутренняя система аналитики.

В чат-ботах проводят интерактивы с подписчиками — например, конкурсы и викторины. За участие в них можно дарить призы, которые будут ассоциироваться с компанией. Это работает на лояльность к бренду и помогает с продажами: например, можно позволить обменивать заработанные баллы на скидку в магазине.

Обучение в Skillbox

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

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

SMM-директор ST Agency Анастасия Вареникова говорит, что функциональности конструктора точно хватит, если бот нужен:

  • для автоматической обработки входящих заявок;
  • для записи на приём;
  • для расчёта стоимости услуг;
  • для ответов на частые вопросы;
  • для проведения опросов;
  • для сегментации клиентов;
  • для перевода диалога на менеджера.

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

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

Также можно добавить недостающие функции с помощью сторонних сервисов, которые работают через API. Например, так можно настроить автоматическое добавление клиента в CRM в нужную воронку.

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

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

Создать бота в конструкторе можно за несколько минут. Посмотрим, как сделать это в конструкторе ботов Senler.

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

Скриншот: Senler | Сервис рассылок / «ВКонтакте»

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

Скриншот: Senler 

Перед началом работы важно ознакомиться с правилами для ботов «ВКонтакте». За их нарушение соцсеть может отключить бота. Вот некоторые из них:

  • Запрещено использовать подписку на сообщество, лайки, репосты и подписку на рассылку как обязательное условие работы бота.
  • Если бот должен выполнить функцию в будущем, в ответ на вызов команды он должен прислать информацию о том, когда её выполнит.
  • Бот должен выполнить обещанное пользователю действие не позднее чем через 24 часа после получения запроса.

Полный список правил можно посмотреть здесь.

Чтобы создать бота в Senler, нужно задать его название и нажать «Сохранить».

Скриншот: Senler 

После этого вас перенаправят в графический редактор, где работа с ботом будет разделена на блоки.

Каждый блок в чат-боте Senler состоит из трёх основных элементов:

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

Алгоритм работы бота
Скриншот: Senler / Skillbox Media

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

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

Sales-менеджер сервиса Senler Михаил Катаев рекомендует учитывать все возможные варианты поведения человека — по крайней мере, постараться это сделать. Пользователь может не нажать на предлагаемые кнопки, а дать свой ответ или сразу написать вопрос о товаре или услуге. Он может не перейти по ссылке в сообщении, забыть ответить на вопрос либо ответить неверно, а может внезапно потерять интерес на середине воронки или в самом её конце, когда до получения лида остался один шаг.

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

Чтобы бот был похож на «живого» консультанта, стоит воспользоваться конструктором, который использует технологии искусственного интеллекта. Он способен распознавать вопросы и ответы человека и отвечать исходя из контекста. Такая функциональность реализована не во всех конструкторах, но есть, например, в «БотаНет? Будет!».

Пример общения «умного» бота с пользователем

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

Скриншот: бот «СберКот» во «ВКонтакте» 

Скриншот: бот «СберКот» во «ВКонтакте» 

Оплата. Чат-боты могут принимать оплату от клиентов прямо в окне переписки. Эту функцию поддерживают многие конструкторы. Можно подключить платёжную систему банков и сервисов вроде Qiwi или «ЮMoney». В продажах товара может помочь формат карусели — он настраивается не только в сообществе «ВКонтакте», но и в самом чат-боте.

Пример карусели внутри бота
Скриншот: Senler 

Связка чат-бота с CRM-системой поможет фиксировать контакт с клиентом на любом этапе воронки продаж. Если нет CRM-системы, можно реализовать эту функцию исключительно через бота.

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

  • Чат-бот во «ВКонтакте» создают, чтобы улучшить коммуникацию с клиентами, повысить LTV, поддержать лояльность к бренду и увеличить продажи.
  • Проще всего создать чат-бота на специальном конструкторе. В таких конструкторах можно писать сценарии для общения с покупателями, демонстрировать товары и настраивать форму оплаты прямо в соцсети.
  • Можно создать индивидуальное решение — это нужно, когда не хватает функциональности конструкторов. Например, когда нужна глубокая интеграция с CRM-системой. Но для разработки такого решения понадобится время и деньги на работу программистов.
  • Если вы занимаетесь продвижением во «ВКонтакте», прочитайте наши гайды: как настроить эффективную рекламу за 60 минут, как работают рассылки во «ВКонтакте», можно ли продвигаться с помощью хештегов.
  • Для начинающих специалистов, которые работают во «ВКонтакте», у нас есть введение о том, как делать SMM в этой соцсети. В нём мы рассказываем о контенте, рекламе и инструментах продвижения.
  • Чтобы понять, как превратить «ВКонтакте» в эффективный инструмент продаж, приходите на курс Skillbox «Продвижение ВКонтакте». Вы научитесь оформлять сообщество, писать вовлекающие посты и запускать таргетированную рекламу.
  • Ещё в Skillbox есть большая программа «Специалист по продвижению ВКонтакте». Подойдёт для тех, кто хочет превратить работу с этой соцсетью в профессию и стартовать в digital.

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

Участвовать

Научитесь: Профессия SMM-специалист
Узнать больше

Статьи / PHP

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

После того как создали сообщество, переходим в настройки  

Далее в раздел Сообщения и включаем данную функцию, без нее работать наш бот не будет.

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

Далее переходим: Настройки -> Работа с API -> Ключи доступа и создаем ключ со следующими параметрами:

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

3a5eb7b4f02821c71813ef13ba3d0eccfca127bd1e64d97f077bb3467c31a7808af1bda385230fbbc18db

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

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

Бота мы будем писать на PHP.

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

Создаем файл с расширением .php, например bot.php

Открываем любым редактором и начинаем писать код.

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

Библиотека упрощает работу с кодом и методами API VK.

Подключаем библиотеку:

<?php
require_once('simplevk-master/autoload.php');
use DigitalStarvk_apiVK_api as vk_api; // Основной класс

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

Их нужно заполнить. в кавычках вставляем тот самый длинный код (токен), вторую константу мы пока пропускаем, а в 3 пишем версию API, которую мы будем использовать. Давайте возьмем 5.81. Нам так же нужно указать и ACCESS_KEY его мы берем в сообществе.

В моем случае это: be20ea35 у Вас будет другой, копируем и вставляем во вторую константу. У Вас должно получится вот так:

<?php

require_once('simplevk-master/autoload.php');
use DigitalStarvk_apiVK_api as vk_api; // Основной класс


const VK_KEY = "3a5eb7b4f02821c71813ef13ba3d0eccfca127bd1e64d97f077bb3467c31a7808af1bda385230fbbc18db";  // Токен сообщества
const ACCESS_KEY = "be20ea35";  // Тот самый ключ из сообщества
const VERSION = "5.126"; // Версия API VK

Обратите внимание, что токен и строка сообщества будет отличаться от вашего!

Продолжаем. Теперь нам нужно создать экземпляр класса работы с api, получить и декодировать JSON пришедший из VK и сообщить VK что мы приняли callback, все это кажется сложным, но на деле все очень просто и понятно.

Получаем следующий код:

$vk = vk_api::create(VK_KEY, VERSION)->setConfirm(ACCESS_KEY);

$vk->initVars($peer_id, $message, $payload, $vk_id, $type, $data); // Инициализация переменных

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

if ($data->type == 'message_new') {


    }

Теперь можно создать первую команду! Наша команда будет !бот, давайте напишем ее:

if ($data->type == 'message_new') {

    if ($message == '!бот') {

            $vk->sendMessage($peer_id, "Привет :-)"); // Отправляем ответ
            
        }


    }

Этот код работать не будет, так как мы не создали переменные $id и $message давайте создадим их. Переменные создаем выше строки

if ($data->type == ‘message_new’) {

$id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
$message = $data->object->text; // Само сообщение от пользователя

Статья обновлена 17.12.2020 

Теперь часть переменных инициализируется в функции InitVars но для примера оставим как их можно задавать еще!

У нас получается следующий код:

<?php

require_once('simplevk-master/autoload.php');
use DigitalStarvk_apiVK_api as vk_api; // Основной класс


const VK_KEY = "3a5eb7b4f02821c71813ef13ba3d0eccfca127bd1e64d97f077bb3467c31a7808af1bda385230fbbc18db";  // Токен сообщества
const ACCESS_KEY = "be20ea35";  // Тот самый ключ из сообщества
const VERSION = "5.126"; // Версия API VK


$vk = vk_api::create(VK_KEY, VERSION)->setConfirm(ACCESS_KEY);

$vk->initVars($peer_id, $message, $payload, $vk_id, $type, $data); // Инициализация переменных
// ====== Наши переменные ============
$vk_id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
$message = $data->object->text; // Само сообщение от пользователя
// ====== *************** ============

if ($data->type == 'message_new') {

    if ($message == '!бот') {
            $vk->sendMessage($peer_id, "Привет :-)");
        }

   }

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

Нам понадобиться любой хостинг, на котором будет установлен PHP версии не ниже 5.6, стоимость такого хостинга от 30 рублей и выше, статью о том как работать с хостингом я напишу позже, у меня есть видео ролик по работе с игровым хостингом, скрипт будет работать и там. Видео можете посмотреть ниже

Добавлена статья как залить скрипт на сервер с инструкцией

Загружаем скрипты на бесплатный хостинг с PHP и MySQL. Подойдет для скриптов бота ВК 

Допустим Вы разобрались с хостингом и готовы установить туда сам скрипт. Заходим на сервер и загружаем туда наш скрипт с  ботом VK и библиотеку. Саму библиотеку скачать можно только после регистрации!

Внимание! У Вас нет прав для просмотра скрытого текста.

[/hide]

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

 

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

http://qu4.ru/bot.php

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

Выбираем версию API 5.126, указываем ссылку и подтверждаем, если все сделали правильно, VK сообщит нам об этом 

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

Этого будет достаточно, что бы бот начал функционировать и отвечать нам. Давайте это проверим:

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

Если Вы допустили в коде ошибку, то у Вас появится Ошибка 500, это означает что Вы допустили ошибку в самом коде скрипта:

Данный бот будет работать только с хостингом, запустить с ПК скрипт не получится

(Получится, но это требует особых навыков hushed)

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

Создаем переменную $date и записываем в нее текущую дату и время, с помощью PHP функции date(); получаем следующий код

$date = date("d.m.Y  H:i");

Теперь нам нужно создать саму команду:

        if ($message == '!дата') {

            $vk->sendMessage($peer_id, $date);
            
        }

Весь исходный код выглядит так:

<?php

require_once('simplevk-master/autoload.php');
use DigitalStarvk_apiVK_api as vk_api; // Основной класс


const VK_KEY = "3a5eb7b4f02821c71813ef13ba3d0eccfca127bd1e64d97f077bb3467c31a7808af1bda385230fbbc18db";  // Токен сообщества
const ACCESS_KEY = "be20ea35";  // Тот самый ключ из сообщества
const VERSION = "5.126"; // Версия API VK


$vk = vk_api::create(VK_KEY, VERSION)->setConfirm(ACCESS_KEY);

$vk->initVars($peer_id, $message, $payload, $vk_id, $type, $data); // Инициализация переменных
// ====== Наши переменные ============
$vk_id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
$message = $data->object->text; // Само сообщение от пользователя

$date = date("d.m.Y  H:i");
// ====== *************** ============

if ($data->type == 'message_new') {

    if ($message == '!бот') {

            $vk->sendMessage($peer_id, "Привет :-)");
         
        }
    if ($message == '!дата') {

        $vk->sendMessage($peer_id, $date);

    }


   }
   

У нас получилось всего 37 строк кода 

Что бы Вы понимали, бот KotOFF и Conference Kot содержит 1761 строку кода! Хотя функционал не самый большой на данный момент.

Давайте проверим работу команды:

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

UPD: Что бы бот отвечал и в беседах нужно заменить частично код, инструкция ниже

Где:

$id = $data->object->from_id;

Заменить на 

$id = $data->object->from_id;
$peer_id = $data->object->peer_id;

Далее заменить:

$vk->sendMessage($id, "Привет :-)");

На 

$vk->sendMessage($peer_id, "Привет :-)");

$id — хранит ид пользователя
$peer_id — хранит в себе ид беседы

Если возникли вопросы или трудности, пишите в комментарии, я с радостью отвечу на них.

На этом у меня все, со временем буду корректировать статью и дополнять ее.

Данный бот отлично подойдет как автоответчик или инструкция (FAQ) для вашего сообщества.

Разработка ботов на заказ, любой сложности, обращаться:

Скачать архив с ботом и библиотекой можно после регистрации на сайте! Регистрация доступна через социальные сети :)

Внимание! У Вас нет прав для просмотра скрытого текста.

Внимание! У Вас нет прав для просмотра скрытого текста.

Рекомендуем размещать скрипты на таких хостингах: firstvds.ru или hostline.ru

СТАТЬЯ ОБНОВЛЕНА 17.12.20 ДЛЯ ПОДДЕРЖКИ ПОСЛЕДНИХ ВЕРСИЙ АПИ ВК 5.126

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

Если нужно подробно изучить чат-боты и рассылки в ВК, приходите на 14-дневный практический курс «Рассылки, чат-боты и автоворонки ВКонтакте» от SMM.school. Там научитесь автоматизировать работу с помощью Senler, создавать чат-ботов, запускать рассылки, прогревать и продавать во ВКонтакте. Это самое актуальное руководство по автоматическим инструментам для продвижения бизнеса в ВК на данный момент.

Есть специальные сервисы для создания ботов: Robochat, BotVK, Chatgun, Senler и другие. Буду показывать процесс создания бесплатного чат-бота во ВКонтакте на примере Chatgun — интерфейс всех сервисов примерно одинаков, поэтому вы легко сделаете то же самое на другой платформе.

Шаг № 1. Собираем данные для бота

Мы будем делать чат-бота, который может проконсультировать людей. Поэтому нужно собрать статистику: узнать, какие вопросы задают чаще всего. Сделать это можно в CRM-системе. Если ее нет, зайдите в сообщения сообщества и посмотрите, чем интересуются пользователи. Обращений пока не так много — подумайте, какие вопросы могут задавать потенциальные покупатели: подсмотрите диалоги на форумах, почитайте FAQ на сайтах конкурентов или проследите за активностью в аналогичных сообществах.

На этом этапе у вас должен получиться список самых распространенных вопросов. Например:

  • Какая упаковка?
  • Можно оплатить на месте?
  • Есть ли скидки?

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

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

Шаг № 2. Привязываем сообщество к сервису

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

В Chatgun можно выбрать сразу несколько сообществ

В Chatgun можно выбрать сразу несколько сообществ

Затем включаем разрешение на добавление сообщений. Для этого переходим на страницу сообщества и смотрим раздел «Меню» — сразу увидите там ссылку на Chatgun. Нажимаете на него и кликаете по «Разрешить».

Без этого сервис не сможет отправлять сообщения от имени группы

Без этого сервис не сможет отправлять сообщения от имени группы

Шаг № 3. Прописываем сообщения пользователей и ответы

Стандартно в Chatgun можно настраивать реакции бота на разные действия пользователей — например, на оплату через VK Pay, на подписку, отписку или стикер. Но сделать это сложно — вы никогда не знаете заранее, какой стикер пришлет подписчик и как на него нужно будет отреагировать.

Поэтому настраиваем ответы на самые разные вопросы вручную. Для этого нажимаем на «Создать сценарий».

Жмем сюда, чтобы создать новый сценарий для чат-бота

Жмем сюда, чтобы создать новый сценарий для чат-бота

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

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

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

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

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

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

Наведите курсор на функцию, и сервис даст подсказку, как она работает

Наведите курсор на функцию, и сервис даст подсказку, как она работает

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

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

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

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

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

Нажимаем сначала на значок клавиатуры, потом на «Добавить ряд кнопок»

Нажимаем сначала на значок клавиатуры, потом на «Добавить ряд кнопок»

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

Нажмите сюда, чтобы выбрать сценарий для перехода из стандартных или добавленных вами

Нажмите сюда, чтобы выбрать сценарий для перехода из стандартных или добавленных вами

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

Шаг № 4. Прописываем ответ на неизвестное сообщение

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

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

Активируйте функцию, а потом выберите администратора, который будет получать сообщение

Активируйте функцию, а потом выберите администратора, который будет получать сообщение

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

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

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

А если хотите сэкономить время не только на сообщениях, но и на постах, используйте SMMplanner. Планируйте в нем публикации на несколько недель вперед. SMMplanner будет публиковать посты, чат-бот — отвечать на вопросы в комментариях, а вы сможете заняться развитием бизнеса.

Статья обновлена. Первая публикация: 25 мая 2020 года

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

В этом материале маркетолог SendPulse Дарина Сорокина рассказывает о том, как чат-боты помогают бизнесу и на что обратить внимание при создании виртуального помощника.

Дарина Сорокина, SendPulse

Рынок чат-ботов растет и быстро развивается. Компании используют виртуальных помощников, чтобы автоматизировать продажи и коммуникацию с клиентами, разгрузить службу поддержки и отдел маркетинга. Согласно исследованию Oracle, 80% предпринимателей в 2020 году планируют использовать чат-ботов для своего бизнеса.

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

Какими бывают чат-боты

Существуют различные чат-боты. Условно их можно разделить на основании следующих параметров:

  • Платформа размещения. Например, ВКонтакте, Telegram, Facebook Messenger.
  • Предназначение. В зависимости от поставленных целей чат-бот может быть консультантом, менеджером, помощником или гидом.
  • Технические возможности. Чат-боты работают с помощью кнопок, команд или искусственного интеллекта. Бывают так называемые смешанные боты, которые объединяют и команды, и кнопки.

Примеры чат-ботов во ВКонтакте

Посмотрим на конкретных примерах, как чат-боты помогают бизнесу.

«Сберкот»

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

Чат-бот концепт-художника

Бот Дмитрия Коклюшкина рассказывает об авторе, курсах и специальных предложениях. Также пользователи могут посмотреть галерею работ студентов и узнать об условиях оплаты. Какой бы шаг пользователь ни выбрал, он всегда может вернуться назад. Это помогает пользователю эффективно взаимодействовать с ботом и менять свои решения при необходимости.

«ТурБот»

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

«Сувлаки гирос»

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

«Чат-бот Лиза в Эрмитаже»

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

Руководство по созданию чат-бота

Разработку чат-бота лучше всего начать со сценария и создания архитектуры.

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

Архитектура чат-бота — это его меню вместе с цепочками сообщений.

Расскажем подробнее, как подготовить сценарий чат-бота.

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

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

3. Продумайте меню. Когда вы обозначили цели и прописали задачи, создайте меню — возможности чат-бота.

4. Подготовьте цепочки сообщений под каждую задачу. Предположим, основное меню бота состоит из следующих разделов: «О компании», «Товары» и «Доставка». Это значит, что вам следует составить как минимум три цепочки сообщений, внутри которых могут быть дополнительные цепочки. Для проработки сценариев удобно использовать такие онлайн-сервисы, как Coggle, MindMap, Miro и другие.

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

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

Как выбрать сервис для создания чат-бота

Есть множество конструкторов, которые помогают разрабатывать чат-ботов без знания кода. Например, Manychat, Botmother, SendPulse, Aimlogic, Chatforma. Все они обладают различными возможностями и предлагают разные тарифные планы. Мы расскажем, как не ошибиться при выборе визуального конструктора:

1. Выберите каналы коммуникации, для которых хотите создать чат-бота. Составьте портрет целевой аудитории и проанализируйте, в каких социальных сетях и мессенджерах зарегистрированы ваши потенциальные клиенты. Если они используют ВКонтакте и Facebook Messenger — выбирайте конструктор, в котором можно создать ботов для этих каналов коммуникации.

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

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

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

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

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

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

Как привлечь подписчиков в чат-бот во ВКонтакте

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

Рассмотрим самые распространенные способы увеличения количества подписчиков.

1. Создайте виджет подписки. Добавьте виджет подписки на свой сайт, чтобы конвертировать посетителей в подписчиков. С помощью SendPulse это можно сделать бесплатно. Процесс создания виджета займет всего несколько минут, а в результате вы будете собирать лиды в любое время.

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

3. Настройте рекламу в поисковых системах. Создайте выгодное для целевой аудитории предложение и подготовьте рекламное объявление. Это поможет привлечь подписчиков из поисковых систем Google, Яндекс и других.

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

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

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

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

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

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

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

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

А заодно рассмотрим основные особенности процесса создания ботов для этой соцсети.

*Спойлер: готовый исходный код — в конце статьи.

Какие задачи решает бот

Бот-говорилка помогает решать такие задачи:

  • Прогрев потенциальных клиентов дейтинг-сервисов путем «общения» с ними.

  • Логирование вопросов собеседников для дальнейшего «обучения» бота.

  • Коммуникация с подписчиками групп и с клиентами в пабликах-витринах.

  • FAQ для магазинов и прочих площадок.

  • Повышение траста аккаунтов при фарме за счет активности в ЛС.

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

Принцип работы бота

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

  • Он «слушает» личные сообщения привязанного к нему профиля с помощью Longpoll, обрабатывая события в реальном времени.

  • При появлении нового сообщения он сравнивает его по расстоянию Левенштейна со словарем.

  • Исходя из содержимого словаря подбирается фраза, наиболее похожая на сообщение пользователя.

  • В ответ присылается сообщение, закрепленное в качестве ответа на ранее выбранную из словаря фразу.

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

  • При получении вопроса-триггера бот делает вид, что ему неудобно общаться в VK, и предлагает продолжить общение на дейтинг-сайте.

При кажущейся сложности алгоритма, он занимает всего 49 строк кода. Из которых 11 — комментарии для понимания работы кода, а не исполняемые команды. Скачать исходный код чат-бота для VK можно будет в конце статьи.

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

Работа с VK отличается следующими моментами:

  • Абсолютно другой API-интерфейс.

  • Несколько способов обработки событий в реальном времени — BotsLongPoll API для ботов (групп), UserLongPoll API для страниц (в том числе страничных ботов), потоковый Streaming API, CallBack API для инициации сервером. И все они могут использоваться для работы ботов.

  • При работе с VK существуют токены с разными уровнями доступа. И если в Telegram токен вам выдает FatherBot, и ошибиться невозможно, то в случае с VK очень легко получить не тот токен.

  • Наличие незадекларированных инструментов — методов и функций, которые отсутствуют в официальной документации, но которые можно использовать (иногда их использование противоречит правилам VK).

При этом указанные в данном материале элементы — хостинг, логика и база данных могут быть абсолютно любыми. Все различия именно в четвертом элементе — в API.

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

Пошаговая инструкция, как создать страничный бот для дейтинга VK

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

Писать код мы будем на python, а в качестве сервера использовать бесплатную платформу pythonanywhere. Импровизированной базой данных будет выступать обычный txt-файл. Для нашего бота этого более чем достаточно.

Итак:

  1. Регистрируемся на pythonanywhere.
  2. Запускаем Bash-консоль. Ждем, пока сервер загрузится и настроится.

Ждем прогрузки сервера
Сервер готов к работе
  1. Апдейтим сервер для работы с VK API, введя в консоль:

pip3.9 install vk_api

Процесс загрузки модуля для работы с API-интерфейсом VK

  1. Устанавливаем модуль для подбора ответов по словарю — Fuzzy Wuzzy. Для этого вводим:

pip3.9 install fuzzywuzzy

Процесс загрузки модуля для перебора словаря

  1. Устанавливаем модуль метрики Левенштейна, необходимый для корректной работы модуля Fuzzy Wuzzy. Для этого вводим:

pip3.9 install python-Levenshtein

Процесс загрузки модуля для работы метрики Левенштейна

  1. Создаем любым текстовым редактором файл bot.py и копируем в него следующий код:

# Импортируем библиотеку vk_api

import vk_api

import os

# Достаём из неё longpoll

from vk_api.longpoll import VkLongPoll, VkEventType

from fuzzywuzzy import fuzz

# Создаём переменную для удобства в которой хранится наш токен от группы

token=»ТОКЕН СЮДА» # В ковычки вставляем аккуратно наш ранее взятый из группы токен.

# Подключаем токен и longpoll

bh = vk_api.VkApi(token = token)

give = bh.get_api()

longpoll = VkLongPoll(bh)

# Создадим функцию для ответа на сообщения в лс группы

def blasthack(id, text):

bh.method(‘messages.send’, {‘user_id’ : id, ‘message’ : text, ‘random_id’: 0})

# Загружаем список фраз и ответов в массив

mas=[]

if os.path.exists(‘slovar.txt’):

f=open(‘slovar.txt’, ‘r’, encoding=’UTF-8′)

for x in f:

if(len(x.strip()) > 2):

mas.append(x.strip().lower())

f.close()

# Слушаем longpoll(Сообщения)

for event in longpoll.listen():

if event.type == VkEventType.MESSAGE_NEW:

# Чтобы наш бот не слышал и не отвечал на самого себя

if event.to_me:

# Для того чтобы бот читал все с маленьких букв

message = event.text.lower()

# Получаем id пользователя

id = event.user_id

if os.path.exists(‘slovar.txt’):

a = 0

n = 0

nn = 0

for q in mas:

if(‘u: ‘ in q):

# С помощью fuzzywuzzy получаем, насколько похожи две строки

aa=(fuzz.token_sort_ratio(q.replace(‘u: ‘,»), message))

if(aa > a and aa!= a):

a = aa

nn = n

n = n + 1

s = mas[nn + 1]

blasthack(id, s)

f=open(‘log.txt’, ‘a’, encoding=’UTF-8′)

f.write(‘u: ‘ + message + ‘n’ + s +’n’)

f.close()

  1. Заменяем фразу “ВАШ ТОКЕН” на ранее полученный токен.
  2. Сохраняем файл bot.py.

Загрузка скрипта на сервер

  1. Создаем любым текстовым редактором файл slovar.txt и копируем в него шаблоны фраз и ответов следующей структуры:

U: Фраза пользователя

Ответ

Возможный вариант фраз-шаблонов словаря

  1. Сохраняем файл slovar.txt.

Загрузка словаря на сервер

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

Оба файла должны быть загружены. Если какого-то нет — загрузите заново.

  1. Запускаем обработку скрипта bot.py.

  1. Тестируем работоспособность бота.

Бот работает — дальнейшая реалистичность зависит лишь от качества и глубины заполнения словаря.

  1. Обратите внимание, что создался файл log.txt — в нем хранится история переписки пользователя с ботами. С ее помощью можно обучать бота — нужно лишь подставить вопросы пользователей и ответы на них в файл slovar.txt.

После «общения» с ботом появился файл с логами

Исходный код бота-говорилки и словарь фраз:

Ссылка на скачивание исходного кода

Ссылка на скачивание словаря

Подводя итоги

Как видите, создание бота-говорилки для VK ненамного сложнее, чем создание аналогичного бота для Telegram. Но есть свои нюансы. Успехов!

Содержание

  • Создание бота ВКонтакте
    • Способ 1: Бот для сообщений сообщества
    • Способ 2: Чат-бот для сообщества

Как создать бота ВКонтакте

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

Создание бота ВКонтакте

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

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

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

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

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

Пользовательское соглашение при использовании ботов в сообществе ВКонтакте

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

Способ 1: Бот для сообщений сообщества

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

Перейти к онлайн-сервису Robochat

Шаг 1: Регистрация и подготовка

  1. Первым делом необходимо произвести регистрацию на сайте Robochat. Для этого воспользуйтесь выше представленной ссылкой и на главной странице нажмите «Создать бота».
  2. Переход к регистрации на сайте Robochat

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

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

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

  6. Успешная регистрация личного кабинета на сайте Robochat

    Lumpics.ru

Шаг 2: Подключение сообщества

  1. Несмотря на успешную регистрацию аккаунта с помощью учетной записи ВКонтакте, теперь нужно привязать сообщество. Сделать это можно в разделе «Управление сообществами», доступном через главное меню в правом верхнем углу.
  2. Переход к Управлению сообществами на сайте Robochat

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

  5. В каждой выбранной группе необходимо будет подтвердить предоставление доступа на отдельной странице. После этого можно приступать к настройкам.
  6. Добавление доступа в сообществе ВК на сайте Robochat

Шаг 3: Выбор шаблона

  1. Теперь нужно выбрать шаблон для будущего бота, со списком которых можно ознакомиться в разделе «Панель» после нажатия кнопки «Новый шаблон».
  2. Переход к созданию нового шаблона на сайте Robochat

  3. Выберите один из вариантов в зависимости от ваших требований к работе бота. Но учтите, далеко не все варианты подходят для обработки сообщений.
  4. Процесс выбора шаблона на сайте Robochat

  5. При выборе шаблона во всплывающем окне необходимо выполнить подтверждение с помощью кнопки «Использовать».
    Подтверждение выбора шаблона на сайте Robochat

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

  6. Проверка работы шаблона на сайте Robochat

  7. Каждый добавленный вариант на странице «Панель» можно переименовать, скопировать или удалить. Для редактирования же используйте кнопку «Подключить».
  8. Переход к подключению сообщества к шаблону на сайте Robochat

  9. Для завершения выберите сообщество, добавленное на одном из предыдущих этапов, и щелкните «Подключить». В результате паблик будет прикреплен к боту.
  10. Подключение сообщества к шаблону на сайте Robochat

Шаг 4: Настройки бота

  1. Чтобы перейти к основным параметрам бота, снова откройте раздел «Панель» и кликните по нужному варианту.
    Переход к настройкам бота на сайте Robochat

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

  2. Просмотр информации о тарифе на сайте Robochat

  3. В блоке «Основные сообщения» вы можете отредактировать настройки бота. К примеру, создать уникальное приветственное сообщение или правильную реакцию на неизвестные команды.
    Просмотр списка реакций бота на сайте Robochat

    Кроме того, на той же странице доступен еще один блок «Ответы на медиафайлы», работающий так же, как и предыдущий.

  4. Просмотр списка реакций на файлы на сайте Robochat

  5. При настройке отдельной реакции вам будет доступно несколько текстовых полей с возможностью добавления эмодзи, медиафайлов и ссылок на сценарии.
  6. Пример редактора команды реакции на сайте Robochat

  7. Используйте параметры, чтобы настроить поведение бота на свое усмотрение. Здесь сложно дать какие-то конкретные советы из-за и без того простого интерфейса.
  8. Использование сценариев на сайте Robochat

Шаг 5: Подготовка сценариев

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

  3. Нажмите кнопку «Создать команду» на ранее указанной странице и выполните настройку. Для правильной работы необходимо указать ключевые слова или словосочетания через запятую, добавить шаблон для реакции в блоке «Бот ответит» и обязательно выбрать один из вариантов реакции, кликнув по ссылке над нужным полем.
  4. Процесс создания новой команды на сайте Robochat

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

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

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

    Для проверки бота обязательно ознакомьтесь с разделом «Статистика», мгновенно фиксирующим любое действие.

  7. Просмотр статистики сообщений на сайте Robochat

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

Способ 2: Чат-бот для сообщества

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

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

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

Официальный сайт сервиса Groupcloud

  1. Перейдите на официальный сайт Groupcloud.
  2. Переход на официальный сайт сервиса Groupcloud

  3. В центре страницы нажмите кнопку «Попробовать бесплатно».
  4. Переход к использованию сервиса Groupcloud с официального сайта

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

  5. Разрешите приложению доступ к вашей странице ВКонтакте.
  6. Разрешение доступа приложению Groupcloud для страницы ВКонтакте

  7. На открывшейся далее вкладке в правом верхнем углу найдите кнопку «Создать нового бота» и нажмите на нее.
  8. Начало создания нового бота для ВКонтакте через сервис Groupcloud

  9. Введите имя нового бота и нажмите кнопку «Создать».
  10. Завершение процесса создания бота для ВКонтакте через сервис Groupcloud

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

  13. Укажите нужную группу и кликните по надписи «Подключить».
  14. Завершение подключения бота к чату ВКонтакте через сервис Groupcloud

    Бота возможно активировать только в тех сообществах, в которых включено приложение чат.

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

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

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

  3. На странице «Сценарии» вы можете прописать структуру бота, на основе которой он будет выполнять те или иные действия.
  4. Переход на вкладку сценарии в личном кабинете через сервис Groupcloud

  5. Благодаря вкладке «Статистика» можно отслеживать работу бота и при возникновения странностей в поведении дорабатывать сценарии.
  6. Переход на вкладку статистика в личном кабинете через сервис Groupcloud

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

  9. Последняя представленная вкладка «Настройки» позволяет выставить для бота базовые параметры, на которых основывается вся последующая работа этой программы в рамках чата в сообществе.
  10. Переход на вкладку настройки в личном кабинете через сервис Groupcloud

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

Не забывайте по ходу применения настроек использовать кнопку «Сохранить».

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

Понравилась статья? Поделить с друзьями:
  • Как написать бота для мафии
  • Как написать бота для майнкрафт на python
  • Как написать бота для компьютера
  • Как написать бота для дискорда на питоне
  • Как написать бота для дискорда на пайтоне