Как написать чат-бота для vk.com за 3 минуты / Хабр
К сожалению, на данный момент нет хороших библиотек на Python2, для того, чтобы быстро создать чат-бота. Ниже я покажу, как легко можно написать примитивного чат бота для VK, используя API VK.
Статья написана для новичков, чтобы показать, что ничего сложного в написании ботов на Python нет.
Авторизация
Нам понадобится библиотека vk_api. Авторизоваться в вк можно двумя способами:
— Как пользователь
— Как сообщество
В первом случае надо будет ввести логин и пароль. Во втором случае в группе надо включить «Сообщения сообщества» и создать ключ доступа к API:
Авторизация в две строчки:
import time
import vk_api
vk = vk_api.VkApi(login = 'login', password = 'password')
#vk_api.VkApi(token = 'a02d...e83fd') #Авторизоваться как сообщество
vk.auth()
Отправка сообщений
Теперь напишем короткую функцию, которая отправляет сообщение выбранному человеку.
P.S. Сообщество может отправлять сообщения только ранее писавшим пользователям.
def write_msg(user_id, s):
vk.method('messages.send', {'user_id':user_id,'message':s})
В vk.method мы можем вызывать любой метод из VK API и передавать параметры в виде словаря.
В данном случае мы вызываем метод messages.send и в качестве параметров передаем id пользователя и текст сообщения.
Прием сообщений
Отлично! Отправлять сообщения мы научились, осталось научиться их принимать. Для этого нам нужен метод messages.get.
Несколько параметров, на которые стоит обратить внимание:
1) out — если этот параметр равен 1, сервер вернет исходящие сообщения.
2) count — количество сообщений, которое необходимо получить.
3) time_offset — максимальное время, прошедшее с момента отправки сообщения до текущего момента в секундах.
4) last_message_id — идентификатор сообщения, полученного перед тем, которое нужно вернуть последним (при условии, что после него было получено не более count сообщений)
values = {'out': 0,'count': 100,'time_offset': 60}
vk.method('messages.get', values)
В нашем случае этот метод вернет все полученные сообщения за последние 60 сек, если их конечно было меньше 100, а если больше, то последние 100.
В итоге мы получаем список items:
{u'count': 3441,
u'items': [{u'body': u'\u041f\u0438\u0448\u0435\u043c \u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0432\u043a!',
u'date': 1491934484,
u'id': 7387,
u'out': 0,
u'read_state': 0,
u'title': u' ... ',
u'user_id': 23107592},
{u'body': u'\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440!',
u'date': 1491934479,
u'id': 7386,
u'out': 0,
u'read_state': 0,
u'title': u' ... ',
u'user_id': 23107592}]}
Если объяснять простыми словами, то items — это то, что можно выделить в диалоге.
Финальный аккорд, делаем вечный цикл, где на каждое сообщение будем отвечать «Привет, Хабр!».
while True:
response = vk.method('messages.get', values)
if response['items']:
values['last_message_id'] = response['items'][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 вы можете найти тут.
Как сделать чат-бота ВКонтакте
Чат-боты здорово экономят время: можно не заходить в соцсети каждые пять минут, а просто проверять диалоги раз в день и оформлять заказы. Рассказываю, как быстро сделать чат-бота ВКонтакте, даже если не разбираетесь в коде.
Немного теории: что такое чат-боты и какими они бывают
Чат-ботами называют программы, которые общаются с пользователями по определенному сценарию. Все их можно условно разделить на несколько больших групп.
По принципу работы — на простые и продвинутые. Простые работают только по заданным командам и ничего не понимают, когда диалог идет не по сценарию. Например, если пользователь пишет с ошибками или спрашивает о товаре что-то такое, что не предусмотрел настройщик.
Продвинутые основаны на искусственном интеллекте. Они все время обучаются на ответах пользователей и умеют улавливать смысл сообщений. Поэтому не затупят, даже если им зададут какой-то уникальный вопрос.
Чат-бот с искусственным интеллектом может вести более-менее «живой» диалогПо способу общения — на текстовые и те, в которых пользователь выбирает команды. В первом случае человек пишет сообщение, а бот отвечает ему: тоже текстом или каким-то медиафайлом.
Во втором случае пользователь управляет ботом с помощью кнопок. Нажимает на какую-то команду, и бот выполняет ее.
Так выглядит бот с кнопками ВКонтакте: можно написать команду текстом или нажать на нужный элементБывают комбинированные боты. Например, пользователь сначала выбирает «Информация о заказе», потом «Отследить доставку», потом вводит номер заказа. Это — комбинированный чат-бот.
По функционалу — на обычные и с дополнительными функциями. Обычные могут только общаться: ответить на вопрос, рассказать анекдот, поддержать разговор.
Продвинутые умеют передавать данные заказов в CRM-систему, брать предоплату, подбирать товар по заданным пользователем параметрам. Для этого они взаимодействуют с другим софтом: например, чтобы передать данные или взять предоплату — с CRM, а для подбора — с каталогом.
Самые простые чат-боты — те, которые работают по командам и консультируют по текстовым сообщениям. Сделать их проще всего. Показываю, как настраивать ответы на самые распространенные вопросы и добавлять кнопки, чтобы люди могли нажимать их, а не писать сообщения.
Пошаговая инструкция: делаем чат-бота ВКонтакте
Есть специальные сервисы для создания ботов: Robochat, BotVK, Chatgun и другие. Буду показывать процесс создания на примере Chatgun — интерфейс всех сервисов примерно одинаков, поэтому вы легко сделаете то же самое на другой платформе.
Шаг № 1. Собираем данные для бота
Мы будем делать чат-бота, который может проконсультировать людей. Поэтому нужно собрать статистику: узнать, какие вопросы задают чаще всего. Сделать это можно в CRM-системе. Если ее нет, зайдите в сообщения сообщества и посмотрите, чем интересуются пользователи. Обращений пока не так много — подумайте, какие вопросы могут задавать потенциальные покупатели: подсмотрите диалоги на форумах, почитайте FAQ на сайтах конкурентов или проследите за активностью в аналогичных сообществах.
На этом этапе у вас должен получиться список самых распространенных вопросов. Например:
- Какая упаковка?
- Можно оплатить на месте?
- Есть ли скидки?
Кстати, уже на этом этапе можно облегчить себе работу. Просто вынесите ответы на самые распространенные вопросы в меню, закрепленный пост или описание группы. Их все равно будут задавать, но уже реже.
Шаг № 2. Привязываем сообщество к сервису
Нажимаем на «Попробовать бесплатно» на главной странице и выбираем сообщество, в котором хотим установить чат-бот. Для этого у вас должен быть доступ к управлению им.
В Chatgun можно выбрать сразу несколько сообществЗатем включаем разрешение на добавление сообщений. Для этого переходим в меню сообщества и выбираем наше приложение, а потом нажимаем на «Разрешить».
Без этого сервис не сможет отправлять сообщения от имени группыШаг № 3. Прописываем сообщения пользователей и ответы
Стандартно в Chatgun можно настраивать реакции бота на разные действия пользователей — например, на оплату через VK Pay, на подписку, отписку или стикер. Но сделать это сложно — вы никогда не знаете заранее, какой стикер пришлет подписчик и как на него нужно будет отреагировать.
Поэтому настраиваем ответы на самые разные вопросы вручную. Для этого нажимаем на «Создать сценарий».
Жмем сюда, чтобы создать новый сценарий для чат-ботаКак-нибудь называем сценарий для своего удобства и прописываем ключевые слова. Ключевые слова — это словосочетания, которые содержатся в вопросе пользователя.
На первый взгляд все просто: задаем вопрос, пишем ответ, сохраняем сценарий. На самом деле нет — пользователи могут делать ошибки, использовать нестандартные формулировки и так далее. Надо научить бота распознавать все возможные вариации вопроса.
В «Ключевых словах» мы пишем не просто вопрос, а все его вариации: с ошибками и неправильным порядком слов. И указываем, что сценарий сработает, если сообщение содержит одно из ключевых слов, а не точно совпадает с ним.
Выбираем условие и пишем слова. Здесь же включите срабатывание в комментариях, и тогда чат-бот будет реагировать не только на сообщения в группе, но и на обсуждения постовПролистываем чуть ниже и пишем ответ на вопрос. В него можно добавить смайлы или прикрепить какой-то файл. Чуть ниже доступны дополнительные настройки: можно включить анимацию того, что бот печатает сообщение, или отправлять ответ с задержкой в несколько секунд.
Вернитесь чуть выше и сохраните сценарий. И сделайте так для всех возможных вопросов.
Нужно сделать что-то более интересное или сложное — пожалуйста, в Chatgun и других сервисах есть все необходимое для этого. Например, чат-бот может обращаться к человеку по имени и называть город, указанный в его профиле. Чтобы научить сервис делать так, добавьте в ответ переменные — скопируйте их из списка и используйте по тексту. Там, где будет переменная, чат-бот автоматически подставит соответствующие данные.
Нажмите сюда, чтобы открыть список всех доступных переменных и использовать их в ответеТут же можно сделать кнопки, чтобы пользователь не писал сообщения, а управлял чат-ботом ВКонтакте командами. Заходим в сценарий ответа на первое сообщение, пишем приветствие и добавляем кнопки.
Нажимаем сначала на значок клавиатуры, потом на «Добавить ряд кнопок»И добавляем сколько угодно кнопок. Можно писать их названия, выбирать цвет и тип. А еще то, как бот отреагирует на нажатие: например, перейдет к какому-то сценарию
Нажмите сюда, чтобы выбрать сценарий для перехода из стандартных или добавленных вамиИ так можно сделать все, что угодно: например, научить чат-бота отправлять ссылку на конкретное видео, если его спрашивают об обзоре. Или добавить несколько вариантов ответов — тогда бот будет отправлять случайный или все по порядку в зависимости от настроек.
Шаг № 4. Прописываем ответ на неизвестное сообщение
Неизвестные сообщения — те, которые вы не предусмотрели, или уникальные вопросы, заданные впервые. На них тоже нужно отвечать. В сценарии реакции на неизвестную команду придумайте ответ, который подошел бы любой ситуации. Можно написать просто что-то типа «Я вас не понимаю, но сейчас передам сообщение администрации группы. Они обязательно с вами свяжутся».
А чтобы не пропускать такие сообщения, настройте отправку неизвестных команд администратору. Тогда чат-бот перешлет вам вопрос пользователя в личку, и вы вовремя заметите его.
Активируйте функцию, а потом выберите администратора, который будет получать сообщениеКстати, такое же перенаправление можно настроить, если принимаете заказы прямо ВКонтакте. Сделайте так, что бот сам спросит все необходимые данные и просто перешлет вам сообщение об оплате.
Все, мы настроили простейшего чат-бота — он начнет консультировать пользователей и освободит вас от рутины. Совсем не обращать внимания на сообщения не получится, но вы будете тратить на обработку сообщений гораздо меньше времени.
В настройках чат-ботов, даже примитивных, есть много чего интересного — можно добавлять реакции на прикрепленные файлы, строить автоворонки продаж с помощью кнопок, делать рассылки, настраивать варианты ответов в зависимости от переменных и много чего еще. Не пожалейте пару часов и разберитесь во всех функциях, чтобы потом сэкономить намного больше времени.
А если хотите сэкономить время не только на сообщениях, но и на постах, используйте SMMplanner. Планируйте в нем публикации на несколько недель вперед. SMMplanner будет публиковать посты, чат-бот — отвечать на вопросы в комментариях, а вы сможете заняться развитием бизнеса.
Автор: Дарья Сопина
Скорее регистрируйтесь в SMMplanner и пробуйте описанное в статье!Создание простого чат-бота в VK на Python 3 / Хабр
Создание основы для работы бота будет состоять из следующих этапов:
- Создание бота в ВК
- Генерирование API- ключа
- Создание программы бота через LongPoolVK
Для кого эта статья?
Статья рассчитана для начинающих программистов. Метод работы программы очень прост и любой, кто умеет разбираться в синтаксисе Питона и немного знающий ООП сможет его реализовать для своих нужд. Но в принципе даже не зная никаких принципов ООП, думаю можно научиться добавлять простые функции или хотя бы в крайнем случае использовать готовые исходники из GitHub.
Что есть в этой статье?
Создание основы бота. После этого его можно будет запрограммировать как-угодно. Автоматизировать какую-то рутину или использовать как собеседник.
Улучшенная (слегка усложненная версия бота). Я решил сначала представить простой процедурный код бота, а затем слегка усложнить его, добавив функции, значительно улучшающие работу бота.
Добавление функции передачи погоды. Научим бота говорить нам погоду.
Создание бота в ВК
Начнем мы с создания бота, а именно группу в ВК.
Для это нужно зайти в «группы» → «создать сообщество».
Выберите любой тип сообщества и введите название, тематику группы.
На открывшейся странице настроек, выберите «Работа с API»
Далее, необходимо создать API-ключ.
Затем выберите нужные вам параметры с доступом для вашего API-ключа.
Скорее всего, вам придётся подтверждать действие в ВК с помощью мобильного телефона. Затем скопируйте полученный API-ключ где-нибудь в файл. Он нам еще понадобится.
Затем нужно разрешить сообщения. Для этого переходим в «сообщения» и включаем их.
Приступим к программной части бота
Мы не будем реализовывать его через запросы к ВК, а если быть точнее, просто используем библиотеку VkLongPool, которая сделает это за нас.
Для этого необходима библиотека vk_api. Установим его через pip:
python -m pip install vk_api
Но лично я работаю с виртуальным окружением Anaconda. С этим зачастую возникают проблемы при первой работе. Обычно проблема в том, что система не распознают команду «python». А решается эта проблема путем добавления его в PATH.
Приступим к самому коду:
Импортируем нужные модули:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
Затем код:
def write_msg(user_id, message):
vk.method('messages.send', {'user_id': user_id, 'message': message})
# API-ключ созданный ранее
token = "6a9c267cd469388709a9e9acaddbe0aa81a0abbf12239b3e597a31729ffbddb9c88e80a443554c918b8f7"
# Авторизуемся как сообщество
vk = vk_api.VkApi(token=token)
# Работа с сообщениями
longpoll = VkLongPoll(vk)
# Основной цикл
for event in longpoll.listen():
# Если пришло новое сообщение
if event.type == VkEventType.MESSAGE_NEW:
# Если оно имеет метку для меня( то есть бота)
if event.to_me:
# Сообщение от пользователя
request = event.text
# Каменная логика ответа
if request == "привет":
write_msg(event.user_id, "Хай")
elif request == "пока":
write_msg(event.user_id, "Пока((")
else:
write_msg(event.user_id, "Не поняла вашего ответа...")
Функция write_msg получает id пользователя ВК , которому оно отправит сообщение и собственно само сообщение .
def write_msg(user_id, message):
vk.method('messages.send', {'user_id': user_id, 'message': message})
Авторизовавшись как сообщество и настроив longpool:
# API-ключ созданный ранее
token = "6a9c267cd469388709a9e9acaddbe0aa81a0abbf12239b3e597a31729ffbddb9c88e80a443554c918b8f7"
# Авторизуемся как сообщество
vk = vk_api.VkApi(token=token)
# Работа с сообщениями
longpoll = VkLongPoll(vk)
Войдем в основной цикл:
# Основной цикл
for event in longpoll.listen():
В нем мы циклически будем проверять на наличие event-ов. А получить тип event-а сможем с помощью event.type.
После этого получив сообщение от пользователя сможем отправить ему соответствующее письмо с помощью уже созданной функции write_msg.
Итак, мы создали очень простого бота в ВК с такой же простой реализацией. А логику бота можно программировать как душе угодно.
Листинг кода в GH
Теперь приступим к более реальному программированию
Создадим класс VkBot в файле vk_bot.py, который будет служить нам ботом.
class VkBot:
def __init__(self, user_id):
print("Создан объект бота!")
self._USER_ID = user_id
self._USERNAME = self._get_user_name_from_vk_id(user_id)
self._COMMANDS = ["ПРИВЕТ", "ПОГОДА", "ВРЕМЯ", "ПОКА"]
И добавим туда метод с помощью которого можно получить имя пользователя через vk id.
def _get_user_name_from_vk_id(self, user_id):
request = requests.get("https://vk.com/id"+str(user_id))
bs = bs4.BeautifulSoup(request.text, "html.parser")
user_name = self._clean_all_tag_from_str(bs.findAll("title")[0])
return user_name.split()[0]
Это делается с помощью beatifulsoup4.
Устанавливаем если его нет:
python -m pip install bs4На него есть достаточное количество статей, которые стоит изучить. С помощью него же создадим еще несколько методов:
# Получение времени:
def _get_time(self):
request = requests.get("https://my-calend.ru/date-and-time-today")
b = bs4.BeautifulSoup(request.text, "html.parser")
return self._clean_all_tag_from_str(str(b.select(".page")[0].findAll("h3")[1])).split()[1]
# Получение погоды
def _get_weather(city: str = "санкт-петербург") -> list:
request = requests.get("https://sinoptik.com.ru/погода-" + city)
b = bs4.BeautifulSoup(request.text, "html.parser")
p3 = b.select('.temperature .p3')
weather1 = p3[0].getText()
p4 = b.select('.temperature .p4')
weather2 = p4[0].getText()
p5 = b.select('.temperature .p5')
weather3 = p5[0].getText()
p6 = b.select('.temperature .p6')
weather4 = p6[0].getText()
result = ''
result = result + ('Утром :' + weather1 + ' ' + weather2) + '\n'
result = result + ('Днём :' + weather3 + ' ' + weather4) + '\n'
temp = b.select('.rSide .description')
weather = temp[0].getText()
result = result + weather.strip()
return result
# Метод для очистки от ненужных тэгов
@staticmethod
def _clean_all_tag_from_str(string_line):
"""
Очистка строки stringLine от тэгов и их содержимых
:param string_line: Очищаемая строка
:return: очищенная строка
"""
result = ""
not_skip = True
for i in list(string_line):
if not_skip:
if i == "<":
not_skip = False
else:
result += i
else:
if i == ">":
not_skip = True
return result
Измените параметр _get_weather на нужный город, в последствии этот метод можно будет вызывать с указанием города, а по умолчанию будет ваше указанное значение.
С помощью этих методов мы сможем получить время и погоду. Эти методы вырезаны из моего основного проекта бота. Следует организовать их в отдельных пакетах и классах, применяя наследование. Но ради примера работы, я решил вместить все это в один класс бота, что конечно плохо.
Создадим основной метод new_message, который будет обрабатывать сообщение пользователя и возвращать ответ:
def new_message(self, message):
# Привет
if message.upper() == self._COMMANDS[0]:
return f"Привет-привет, {self._USERNAME}!"
# Погода
elif message.upper() == self._COMMANDS[1]:
return self._get_weather()
# Время
elif message.upper() == self._COMMANDS[2]:
return self._get_time()
# Пока
elif message.upper() == self._COMMANDS[3]:
return f"Пока-пока, {self._USERNAME}!"
else:
return "Не понимаю о чем вы..."
Теперь вернемся к запускаемому файлу:
Импортируем класс нашего бота:
from vk_bot import VkBot
Изменим основной наш цикл:
print("Server started")
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
print('New message:')
print(f'For me by: {event.user_id}', end='')
bot = VkBot(event.user_id)
write_msg(event.user_id, bot.new_message(event.text))
print('Text: ', event.text)
То есть теперь мы будем передавать полученное сообщение объекту бота, который вернет нам нужный ответ.
Это усложнение программы просто необходимо, если вы хотите дальше улучшить функционал бота:
Создайте отдельные пакеты и классы для каждой функции _get_time и _get_weather. Организуйте наследование с общего класса. И каждую новую функцию определяйте в отдельных классах, лучше всего, конечно, еще и разделить на пакеты.
Добавьте словарь с ключом идентификатора пользователя и значением объекта бота. Таким образом, не придется каждый раз в цикле создавать объект бота. К тому же, это обеспечит пользование несколькими пользователями сразу в сложных конструкциях.
Таким образом, выбрав хорошую архитектуру кода, вы сможете создать многофункционального бота.
К примеру, я научил своего бота проигрывать музыку на компьютере, открывать сайты сидя с телефона. Присылать рецепты блюд на завтрак, обед, ужин.
Вы же можете редактировать бота под себя.
Бот из статьи
Основной проект бота (улучшенный) на GH
Буду рад вашим идеям. По любым вопросам пишите.
создание бота для сообщества VK
Начнем с определения. Чат-бот — это специальный программный алгоритм, созданный для полной или частичной автоматизации коммуникации с пользователями. Технология идеально подходит для вовлечения во взаимодействия и ответов на типовые вопросы. Сегодня можно создать бота для беседы для многих популярных социальных сетей и мессенджеров. Но для этого материала мы подготовили пошаговую инструкцию, которая расскажет, как написать бота для ВК.
С какими задачами справляется чат-бот для «ВКонтакте»
Вовлечение подписчика в дополнительные события. Программу можно настроить таким образом, чтобы после подписки на сообщество пользователю поступало предложение согласиться на рассылку, ознакомиться с акциями, посетить раздел с новинками и пр. Это мощный инструмент воздействия, так как он влияет на человека с «горячим» интересом, о чем свидетельствует факт подписки.
Удержание аудитории от выхода из группы. Если подписчик кликнет по кнопке «Отписаться», то чат-бот ВК откроет чат с вежливым предложением остаться. Здесь важно чувствовать свою аудиторию, иначе переубедить подписчика не получится. Хорошо работают скидки, смайлы, призыв вернуться позже и пр.
Быстрая помощь клиентам. Специалисты, которые занимались организацией работы службы поддержки, знают, что клиенты чаще всего задают одни и те же вопросы из довольно ограниченной подборки. Боты «ВКонтакте» после корректной настройки могут автоматически отвечать на типовые вопросы. Для качественной работы нужно просто хорошо продумать многоуровневый логический скрипт.
Проведение мероприятий. Автоматический bot в ВК может самостоятельно проводить розыгрыши, опросы и развлекать аудиторию. Это освобождает время администратора, которое можно с пользой потратить на развитие сообщества.
Зачем нужна эта технология, понятно. Теперь пришло время узнать, как сделать и добавить своего бота во ВК. В нашем примере мы будем использовать такие инструменты:
- рассылочный сервис Senler;
- конструктор ботов Robochat.io.
Регистрация сообщества в Robochat.io
1. Сначала зарегистрироваться в сервисе и добавить группу в личном кабинете.
2. Разрешите инструменту доступ данным и действиям в сообществе.
3. Выберите стартовый шаблон для первичной настройки чат-бота для ВК. После этого система выполнит сопряжение группы и шаблона, а также предоставит доступ к личному кабинету.
4. На этом этапе рекомендуется сразу включить опцию, которая будет отключать бота, когда общение с пользователем начнет администратор сообщества. Для этого в левой части интерфейса управления нужно кликнуть по кнопке «Управление ботом».
После этого система предложит установить время, в течение которого бот для сообщества ВК не будет самостоятельно отправлять сообщения. После сохранения изменений регистрация группы и первичная настройка бота будут завершены. Теперь самое время приступить к настройке реакций.
Реакция бота на подписку
Когда пользователь принимает решение подписаться на группу, это идеальный момент для вовлечения его в автоматическую рассылку. Новые подписчики обычно очень лояльны, поэтому они качественно вступают во взаимодействие с чат-ботом ВК. Чтобы настроить правильную реакцию алгоритма на присоединение к сообществу, нужно выполнить следующую инструкцию.
1. Перейти в раздел настроек «Реакция на подписку».
2. Сформируйте приветствие, а также предложите помощь в навигации и поиске информации.
3. После сохранения настроек алгоритм будет рассылать составленное сообщение всем, кто только что подписался на сообщество.
Реакция бота на отписку
Чтобы попытаться вернуть человека, который решил покинуть группу, нужно настроить раздел «Реакция на отписку». Здесь все делается аналогично предыдущему пункту, но только сообщение должно содержать убедительный, возможно даже, эмоциональный призыв остаться. К примеру, после отписки пользователь может получить такое сообщение от bot-vk: «Очень сожалеем, Игорь L. Надеемся, ты еще вернешься к нам».
Сервис рассылки Senler для отправки приветственных сообщений
Сервис Robochat создан таким образом, что приветственный контакт он выполняет только однажды, и перенастроить эту функцию нельзя. Но аналитика показывает, что один и тот же пользователь может входить и выходить из группы по несколько раз. Чтобы каждый раз приветствовать таких юзеров, можно использовать Senler.
Для применения этой возможности нужно выполнить следующую инструкцию:
1. Зарегистрируйте аккаунт и войдите в личный кабинет.
2. Во вкладке «Рассылки» нужно кликнуть по кнопке «Новая рассылка».
3. Составьте приветственное сообщение. Добавьте в форму ключевые фразы — это команды для ботов ВК, которые запускают работу алгоритма.
4. Для получения аналитики и расчета конверсии нужно поставить галочку напротив опции «Считать переходы по ссылкам».
Особенности настройки команд
Для работы с командами нужно опять вернуться в личный кабинет сервиса Robochat. Далее ориентируйтесь на следующую инструкцию.
1. Переходим во вкладку «Сценарии» и кликаем по кнопке «Создать команду».
2. В верхней форме прописывается основное ключевое слово.
3. В поле «Ответ бота» нужно добавить возможные ответы. Важно предусмотреть возможность возврата на шаг назад или в главное меню.
Создание игры с чат-ботом
Если вы планируете разработать развлечение для пользователей на основе бота, то нужно в базовое сообщение добавить соответствующую команду типа «Поехали» или «Старт». Теперь нужно создать цепочку вопросов/ответов для самой игры.
Следующая пошаговая инструкция поможет справиться с этой задачей:
1. Создайте новую команду с первым вопросом.
2. Активируйте опцию «перейти на другую команду, если».
3. Пропишите корректный вариант ответа.
4. В сценарии нужно прописать ключ, который будет являться правильным ответом.
В итоге можно создавать продолжительные и увлекательные цепочки, которые помогут развлечь аудиторию.
Использование динамичных кнопок
В чат-бот «ВКонтакте» можно внедрить кнопки на любом этапе настройки. Чтобы интегрировать динамичные элементы в структуру чата, нужно выполнить следующие действия.
1. Перейти во вкладку «Сценарий».
2. В меню выбрать «Клавиатура команды».
3. Откроется интерфейс с кнопками, где нужно прописать ключевую фразу или слово.
4. Задаем следующее действие путем клика по «Добавить переход».
5. Прописываем сценарий для ключа, соответствующего названию кнопки.
6. Сохраняем изменения.
Настроить кнопки чат-бота можно очень гибко. Администратор может «играть» с их цветами и названиями. Динамические элементы можно внедрить на любом уровне структуры скрипта.
Настройка реакций на частые вопросы
Важно не просто добавить ботов в группу, а научить их «понимать» целевую аудитории. Поэтому настройку реакций на типовые вопросы нужно начинать не с ответов. Дело в том, что многие пользователи сначала здороваются в чате и только после ответа задают вопрос. Поэтому сначала нужно прописать реакции на все популярные варианты приветствия. После этого в разделе «Сценарии» можно формировать пул самых распространенных вопросов и реакций на них. К примеру, в подборку можно включить такие универсальные варианты, как «как купить?», «где вы находитесь?», «можете мне позвонить?», «как дела?», «скучаешь?» и пр.
Важный нюанс
Скрипт ответов на типичные вопросы не бывает идеальным. Продолжительная аналитика и доработки могут сделать его хорошим, но все равно будут случаться нестандартные ситуации. Поэтому в ответах важно предусмотреть прямую связь с администратором. Иначе пользователь просто потратит время, а свою специфическую проблему решить не сможет.
Подведем итоги
Теперь вы знаете, как создать своего бота во ВК. Это отличный инструмент для вовлечения аудитории, увеличения продаж и оптимизации рабочих процессов администратора. Используйте ботов для развития бизнеса — это бесплатно и эффективно.
90000 node-vk-bot-api / node-vk-bot-api: 🤖 VK bot framework for Node.js, based on Bots Long Poll API and Callback API. 90001 Skip to content Sign up 90002 90003 Why GitHub? Features → 90002 90003 Code review 90006 90003 Project management 90006 90003 Integrations 90006 90003 Actions 90006 90003 Packages 90006 90003 Security 90006 90003 Team management 90006 90003 Hosting 90006 90021 90002 90003 Customer stories → 90006 90003 Security → 90006 90021 90006 90003 Team 90006 90003 Enterprise 90006 90003 Explore 90002 90003 Explore GitHub → 90006 90021 90038 Learn & contribute 90039 90002 90003 Topics 90006 90003 Collections 90006 90003 Trending 90006 90003 Learning Lab 90006 90003 Open source guides 90006 90021 90038 Connect with others 90039 90002 90003 Events 90006 90003 Community forum 90006 90003 Git 90006 90021 90006 90021.90000 FunnyRain / vkbot: VK API library for the Vkontakte bot. Supports the current version, but I recommend using v.5.102 90001 Skip to content Sign up 90002 90003 Why GitHub? Features → 90002 90003 Code review 90006 90003 Project management 90006 90003 Integrations 90006 90003 Actions 90006 90003 Packages 90006 90003 Security 90006 90003 Team management 90006 90003 Hosting 90006 90021 90002 90003 Customer stories → 90006 90003 Security → 90006 90021 90006 90003 Team 90006 90003 Enterprise 90006 90003 Explore 90002 90003 Explore GitHub → 90006 90021 90038 Learn & contribute 90039 90002 90003 Topics 90006 90003 Collections 90006 90003 Trending 90006 90003 Learning Lab 90006 90003 Open source guides 90006 90021 90038 Connect with others 90039 90002 90003 Event 90006 90021 90006 90021.90000 How to make a Twitter Bot in 10 minutes 90001 90002 Twitter is a social media platform where people send tweets that act as 140 characters of snippets of whatever information you want the world to see. With that in mind, computers can and do navigate the Twitterverse posting updates, following accounts and interacting with real people. With very little work we can build a simple bot that can tweet on your behalf. 90003 90004 90005 Installation 90006 90005 Twitter Set-Up 90006 90005 Creating our tweets 90006 90005 Python fun! 90006 90005 Finishing touches … 90006 90015 90002 90003 90002 90003 90002 The main hurdle facing us in our quest for Twitter takeover is installing the right tools.We are going to use Python for our main script plus one library to help us interact with Twitter. Starting off, let’s install Python. 90003 90002 90023 (If Python is already installed, feel free to skip but make sure you have installed 90024 pip 90025) 90026 90003 90002 90003 90030 Mac OSX 90031 90002 90003 90002 (If you are having issues installing Python, check this out) 90003 90002 The macOS Terminal is an application you can use to access the command line interface. Y can find it by going into Finder, navigate to your Applications folder, and then into the Utilities folder.From here, double-click the Terminal to open it up. You can also use Spotlight by holding down the command and spacebar keys to find Terminal by typing it out in the box that appears. 90003 90002 Welcome to your Terminal! We are going to install Homebrew which is Mac’s package manager. This will allow us to install and update Python and any related tools. Go ahead and enter the following into the terminal — 90003 90002 90003 90042 / usr / bin / ruby -e «$ (curl -fsSL https: //raw.githubusercontent.com / Homebrew / install / master / install) «90043 90002 90003 90002 Now, this should take a few minutes to install but once that is done we can install Python. To do so we type in the following — 90003 90002 90003 90042 brew install python3 90043 90002 90003 90002 This will install Python 3, pip, setuptools and wheel for us. Pip is Python’s package manager and we will be using that next! 90003 90002 90003 90030 Windows — 90031 90002 90003 90002 (If you have issues downloading on Windows, this should help) 90003 90002 First, we will download Python directly from Python’s website: Download 90003 90002 Then we will have to set a PATH environment variable.To do this we navigate to our Advanced System Settings of your computer. Go to Control Panel-> Advanced System Settings-> Advanced-> Environment Variables. Once there, click Environment Variables to set up the Python Executable for our Command Prompt. 90003 90002 90069 90003 90002 Here we see that there is already a PATH variable declared with some other file path directories already set up. Yours may look different and you may not have a PATH variable declared so click New and add PATH as a variable name.Highlight the Path variable, then click edit. From here, add the following lines with «New»: 90003 90073 90005 C: \ Python27 90006 90005 C: \ Python27 \ Scripts 90006 90005 C: \ Python27 \ Lib 90006 90080 90002 Yay! We have Python installed. We can check by running python in your Command Prompt. We can access our Command Prompt by right clicking the Start Menu, selecting Run and typing in cmd. 90003 90002 We will be using Pip, which will allow us to download packages for us to use with Python.As of version 2.7.9, Pip was included as a Script in our Python download. Try running python -m pip -V. If it says something along the lines of «pip 8.1.2 from …» then everything worked! However, if you have issues running the Pip command you may have to install it locally first. These directions here or here should help you install Pip. 90003 90002 90003 90002 90023 Tweepy! 90026 90003 90002 In either Mac Terminal or Windows Command Prompt, run the following — 90003 90002 90003 90042 pip install tweepy 90043 90002 90003 90002 This will allow us to interact with the Twitter API.Let’s set up Twitter next! 90003 90002 90003 90002 90003 90002 If you have not already done so, make a Twitter account. We will need one to get access to API keys. After that has been completed; in your browser navigate to https://developer.twitter.com/apps and sign in with your account information. Click «Create New App», afterward we should be greeted by the following — 90003 90002 90003 90002 90110 90003 90002 90003 90002 Fill out the required information like is shown above.You may be required to add your phone number to your account information before being able to create your application. 90003 90002 We will come back to manage our application in a little bit. Let’s move onto creating some Twitter Content. 90003 90002 90003 90002 90003 90002 Let’s do a little setup. On your desktop, right click and create a new folder. Navigate inside of the folder and create a file called ‘content.txt’ which will house all of our Tweets and ‘app.py’ which will read content.txt and tweet out its contents. Open content.txt in any text editor you wish. I enjoy using VS Code which can be downloaded here. 90003 90002 Next, we are going to fill that file with phrases, sentences, and words. Enter in the following or your own personalized messages. 90003 90002 90003 90042 Hello World I’m a robot! Robots are superior to humans in every conceivable way … 90043 90002 90003 90002 Save that file and we are good to go! We will use Python to tweet out each line of our content file next.90003 90002 90003 90002 90003 90002 Now that our content file is good to go, let’s open our app.py file in VS Code. Let’s write the following. 90003 90002 90003 90042 90024 # tweepy will allow us to communicate with Twitter, time will allow us to set how often we tweet 90025 import tweepy, time 90024 #enter the corresponding information from your Twitter application management: 90025 CONSUMER_KEY = ‘…’ 90024 #keep the quotes, replace this with your consumer key 90025 CONSUMER_SECRET = ‘… ‘90024 #keep the quotes, replace this with your consumer secret key 90025 ACCESS_TOKEN = ‘…’ 90024 #keep the quotes, replace this with your access token 90025 ACCESS_SECRET = ‘…’ 90024 #keep the quotes, replace this with your access token secret 90025 90024 # configure our access information for reaching Twitter 90025 auth = tweepy.OAuthHandler (CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token (ACCESS_TOKEN, ACCESS_SECRET) 90024 # access Twitter! 90025 api = tweepy.API (auth) 90024 # open our content file and read each line 90025 filename = open ( ‘content.txt’) f = filename.readlines () filename.close () 90024 # for each line in our contents file, lets tweet that line out except when we hit a error 90025 for line in f: try: api.update_status (line) print ( «Tweeting!») except tweepy.TweepError, err: print (err) time.sleep (90) 90024 #Tweet every 2 minutes 90025 print ( «All done tweeting!») 90043 90002 90003 90002 (If you want more information about Python you can check out Google’s Python Class) 90003 90002 As you can see we need consumer and access information to actually Tweet.At this point navigate to your Twitter Bot application management page from earlier (https://developer.twitter.com/apps). If you click your bot that you made earlier and navigate to the Keys and Access Tokens page, you will notice there is a Consumer Key and Consumer Secret listed. Copy both and put them in the appropriate place (make sure to keep the quotations). 90003 90002 90003 90042 CONSUMER_KEY = ‘Your Key Here’ 90024 #keep the quotes, replace this with your consumer key 90025 CONSUMER_SECRET = Your Secret Here ‘90024 #keep the quotes, replace this with your consumer secret key 90025 90043 90002 90003 90002 Finally, scroll a little further down and click «Create my access token».We will use the Access Token and Access Token Secret to update the corresponding information in app.py. 90003 90002 90003 90042 ACCESS_TOKEN = ‘Your Access Token Here’ 90024 #keep the quotes, replace this with your access token 90025 ACCESS_SECRET = ‘Your Access Token Secret Here’ 90024 #keep the quotes, replace this with your access token secret 90025 90043 90002 90003 90002 That’s it! We are ready to go! From your Terminal or Command Prompt navigate to your folder that you created on your desktop.You can do so easily by entering in `cd` and drag and dropping the folder from your desktop to the Terminal or Command Prompt. Next, enter the following — python app.py 90003 90002 Your BOT is now tweeting! Leave your terminal open, and your code should exit when it is done tweeting all of the content you wrote previously. In a future post, we will expand upon this bot and show how to deploy your Twitter Bot as well. 90003 .