Как написать чат-бота для vk.com за 3 минуты
К сожалению, на данный момент нет хороших библиотек на Python2, для того, чтобы быстро создать чат-бота. Ниже я покажу, как легко можно написать примитивного чат бота для VK, используя API VK.
Статья написана для новичков, чтобы показать, что ничего сложного в написании ботов на Python нет.
Авторизация
Нам понадобится библиотека vk_api. Авторизоваться в вк можно двумя способами:
— Как пользователь
— Как сообщество
В первом случае надо будет ввести логин и пароль. Во втором случае в группе надо включить «Сообщения сообщества» и создать ключ доступа к API:
Авторизация в две строчки:
Отправка сообщений
Теперь напишем короткую функцию, которая отправляет сообщение выбранному человеку.
P.S. Сообщество может отправлять сообщения только ранее писавшим пользователям.
В vk.method мы можем вызывать любой метод из VK API и передавать параметры в виде словаря.
В данном случае мы вызываем метод messages.send и в качестве параметров передаем id пользователя и текст сообщения.
Прием сообщений
Отлично! Отправлять сообщения мы научились, осталось научиться их принимать. Для этого нам нужен метод messages.get.
Несколько параметров, на которые стоит обратить внимание:
1) out — если этот параметр равен 1, сервер вернет исходящие сообщения.
2) count — количество сообщений, которое необходимо получить.
3) time_offset — максимальное время, прошедшее с момента отправки сообщения до текущего момента в секундах.
4) last_message_id — идентификатор сообщения, полученного перед тем, которое нужно вернуть последним (при условии, что после него было получено не более count сообщений)
В нашем случае этот метод вернет все полученные сообщения за последние 60 сек, если их конечно было меньше 100, а если больше, то последние 100.
В итоге мы получаем список items:
Если объяснять простыми словами, то items — это то, что можно выделить в диалоге.
Финальный аккорд, делаем вечный цикл, где на каждое сообщение будем отвечать «Привет, Хабр!».
Источник статьи: http://habr.com/ru/post/326312/
Создаем собственного бота VK, подробная инструкция как создать бота VK за 5 минут!
По началу покажется что это не возможно, но поверьте, Вам стоит только начать и все получится. Так как бота мы будем делать на сообществе, нам нужно его создать или использовать уже созданное
После того как создали сообщество, переходим в настройки
Далее в раздел Сообщения и включаем данную функцию, без нее работать наш бот не будет.У нас появляется раздел Настройки для бота, переходим в него и включаем, при желании можете активировать возможность добавлять в беседы.
Далее переходим: Настройки -> Работа с API -> Ключи доступа и создаем ключ со следующими параметрами:Этого будет достаточно, так как мы будем работать с сообщениями, получаем вот такой большой код (токен)
Данный токен сообщать другим пользователям нельзя, иначе Вы рискуете потерять доступ к своему сообществу, в моем случае после написания статьи я его удалю и он станет не активный. Сохраните токен в блокноте, он нам пригодится.
С настройками сообщества пока закончим, но в данный раздел нам нужно будет еще вернутся, теперь приступаем к написанию кода для нашего будущего бота. Конечно в данной статье я не буду показывать основные функции своего бота, а лишь небольшую часть, остальное Вы сможете сделать сами при желании, это лишь начальный этап создания бота, учитывайте это.
Бота мы будем писать на PHP.
Для удобства написания кода, я рекомендую скачать Sublime Text, один из лучших редакторов, самое главное удобный и практичный.
Создаем файл с расширением .php, например bot.phpОткрываем любым редактором и начинаем писать код.
Вместе с исходником, я положу библиотеку, без нее бот работать не будет, библиотека является публичной, ее можно найти на просторах интернета, создана она очень хорошим человеком, скачать ее можно будет только после регистрации на сайте, требую мало, но оно того стоит
Библиотека упрощает работу с кодом и методами API VK.
Подключаем библиотеку:
Теперь создаем константы, они нужны для удобства
Их нужно заполнить. в кавычках вставляем тот самый длинный код (токен), вторую константу мы пока пропускаем, а в 3 пишем версию API, которую мы будем использовать. Давайте возьмем 5.81. Нам так же нужно указать и ACCESS_KEY его мы берем в сообществе.
В моем случае это: be20ea35 у Вас будет другой, копируем и вставляем во вторую константу. У Вас должно получится вот так:
Продолжаем. Теперь нам нужно создать экземпляр класса работы с api, получить и декодировать JSON пришедший из VK и сообщить VK что мы приняли callback, все это кажется сложным, но на деле все очень просто и понятно.
Теперь приступаем к самому интересному, обработке сообщений и созданию команд. Для начала нам нужно получить объект новых сообщений, для его дальнейшей обработки:
Теперь можно создать первую команду! Наша команда будет !бот, давайте напишем ее:
Этот код работать не будет, так как мы не создали переменные $id и $message давайте создадим их. Переменные создаем выше строки
if ($data->type == ‘message_new’) <
У нас получается следующий код:
Это уже полностью рабочий бот, Вы уже можете его запустить, давайте это и сделаем, потом вернемся в код и напишем еще 1 команду.
Нам понадобиться любой хостинг, на котором будет установлен PHP версии не ниже 5.6, стоимость такого хостинга от 30 рублей и выше, статью о том как работать с хостингом я напишу позже, у меня есть видео ролик по работе с игровым хостингом, скрипт будет работать и там. Видео можете посмотреть ниже
Допустим Вы разобрались с хостингом и готовы установить туда сам скрипт. Заходим на сервер и загружаем туда наш скрипт с ботом VK и библиотеку. Саму библиотеку скачать можно только после регистрации!
Скачиваем архив, туда я так же положил и скрипт, в нем нужно будет заменить лишь токен и строку, которую скрипт возвращает VK и дописать 2 команду при желании, если она Вам будет нужна.
Теперь нужно получить прямую ссылку к скрипту, в моем случае скрипт залит в корень сайта и ссылка выглядит так:
копируем ссылку, у вас будет другая, возможно состоящая даже из IP адреса, если используете игровой сервер или хостинг без домена. Возвращаемся к настройкам бота в сообществе и вставляем ссылку:
Выбираем версию API 5.81, указываем ссылку и подтверждаем, если все сделали правильно, VK сообщит нам об этом
Если сейчас написать боту, он не ответит, так как нам нужно включить тип событий:
Этого будет достаточно, что бы бот начал функционировать и отвечать нам. Давайте это проверим:
Если бот ответил, значит Вы сделали все правильно, если нет, проверьте код еще раз и убедитесь что скрипт работает, проверить можно просто перейдя по ссылке к самому скрипту
Если Вы допустили в коде ошибку, то у Вас появится Ошибка 500, это означает что Вы допустили ошибку в самом коде скрипта:
Данный бот будет работать только с хостингом, запустить с ПК скрипт не получится
(Получится, но это требует особых навыков )
Теперь наш бот отлично функционирует, а значит можно добавлять новые команды, давайте сделаем команду !дата
Создаем переменную $date и записываем в нее текущую дату и время, с помощью PHP функции date(); получаем следующий код
Теперь нам нужно создать саму команду:
Весь исходный код выглядит так:
У нас получилось всего 45 строк кода
Что бы Вы понимали, бот KotOFF и Conference Kot содержит 1761 строку кода! Хотя функционал не самый большой на данный момент.
Давайте проверим работу команды:
Отлично! Все работает. Если данная статья будет интересна, я напишу продолжение и там мы будем создавать новые команды для нашего бота, а пока только вводный курс о создании собственного бота с удобной и очень классной библиотекой, которая помогает упросить код и облегчить работу с методами API. Вместе с Вами учусь и я, ведь я не являюсь программистом и делюсь с вами личным опытом, который я получил совсем недавно.
UPD: Что бы бот отвечал и в беседах нужно заменить частично код, инструкция ниже
Если возникли вопросы или трудности, пишите в комментарии, я с радостью отвечу на них.
На этом у меня все, со временем буду корректировать статью и дополнять ее.
Данный бот отлично подойдет как автоответчик или инструкция (FAQ) для вашего сообщества.
Скачать архив с ботом и библиотекой можно после регистрации на сайте! Регистрация доступна через социальные сети 🙂
Источник статьи: http://kotoff.net/article/10-sozdaem-sobstvennogo-bota-vk-podrobnaja-instrukcija-kak-sozdat-bota-vk-za-5-minut.html
Как сделать чат-бота ВКонтакте за полчаса без знания кода
Чат-боты здорово экономят время: можно не заходить в соцсети каждые пять минут, а просто проверять диалоги раз в день и оформлять заказы. Рассказываю, как быстро сделать чат-бота ВКонтакте, даже если не разбираетесь в коде.
Немного теории: что такое чат-боты и какими они бывают
Чат-ботами называют программы, которые общаются с пользователями по определенному сценарию. Все их можно условно разделить на несколько больших групп.
По принципу работы — на простые и продвинутые . Простые работают только по заданным командам и ничего не понимают, когда диалог идет не по сценарию. Например, если пользователь пишет с ошибками или спрашивает о товаре что-то такое, что не предусмотрел настройщик.
Продвинутые основаны на искусственном интеллекте. Они все время обучаются на ответах пользователей и умеют улавливать смысл сообщений. Поэтому не затупят, даже если им зададут какой-то уникальный вопрос.
По способу общения — на текстовые и те, в которых пользователь выбирает команды. В первом случае человек пишет сообщение, а бот отвечает ему: тоже текстом или каким-то медиафайлом.
Во втором случае пользователь управляет ботом с помощью кнопок. Нажимает на какую-то команду, и бот выполняет ее.
Бывают комбинированные боты. Например, пользователь сначала выбирает «Информация о заказе», потом «Отследить доставку», потом вводит номер заказа. Это — комбинированный чат-бот.
По функционалу — на обычные и с дополнительными функциями . Обычные могут только общаться: ответить на вопрос, рассказать анекдот, поддержать разговор.
Продвинутые умеют передавать данные заказов в CRM-систему, брать предоплату, подбирать товар по заданным пользователем параметрам. Для этого они взаимодействуют с другим софтом: например, чтобы передать данные или взять предоплату — с CRM, а для подбора — с каталогом.
Самые простые чат-боты — те, которые работают по командам и консультируют по текстовым сообщениям. Сделать их проще всего. Показываю, как настраивать ответы на самые распространенные вопросы и добавлять кнопки, чтобы люди могли нажимать их, а не писать сообщения.
Пошаговая инструкция: делаем чат-бота ВКонтакте
Есть специальные сервисы для создания ботов: Robochat, BotVK, Chatgun и другие. Буду показывать процесс создания на примере Chatgun — интерфейс всех сервисов примерно одинаков, поэтому вы легко сделаете то же самое на другой платформе.
Шаг № 1. Собираем данные для бота
Мы будем делать чат-бота, который может проконсультировать людей. Поэтому нужно собрать статистику: узнать, какие вопросы задают чаще всего. Сделать это можно в CRM-системе. Если ее нет, зайдите в сообщения сообщества и посмотрите, чем интересуются пользователи. Обращений пока не так много — подумайте, какие вопросы могут задавать потенциальные покупатели: подсмотрите диалоги на форумах, почитайте FAQ на сайтах конкурентов или проследите за активностью в аналогичных сообществах.
На этом этапе у вас должен получиться список самых распространенных вопросов. Например:
- Какая упаковка?
- Можно оплатить на месте?
- Есть ли скидки?
Кстати, уже на этом этапе можно облегчить себе работу. Просто вынесите ответы на самые распространенные вопросы в меню, закрепленный пост или описание группы. Их все равно будут задавать, но уже реже.
Шаг № 2. Привязываем сообщество к сервису
Нажимаем на «Попробовать бесплатно» на главной странице и выбираем сообщество, в котором хотим установить чат-бот. Для этого у вас должен быть доступ к управлению им.
Затем включаем разрешение на добавление сообщений. Для этого переходим в меню сообщества и выбираем наше приложение, а потом нажимаем на «Разрешить».
Шаг № 3. Прописываем сообщения пользователей и ответы
Стандартно в Chatgun можно настраивать реакции бота на разные действия пользователей — например, на оплату через VK Pay, на подписку, отписку или стикер. Но сделать это сложно — вы никогда не знаете заранее, какой стикер пришлет подписчик и как на него нужно будет отреагировать.
Поэтому настраиваем ответы на самые разные вопросы вручную. Для этого нажимаем на «Создать сценарий».
Как-нибудь называем сценарий для своего удобства и прописываем ключевые слова. Ключевые слова — это словосочетания, которые содержатся в вопросе пользователя.
На первый взгляд все просто: задаем вопрос, пишем ответ, сохраняем сценарий. На самом деле нет — пользователи могут делать ошибки, использовать нестандартные формулировки и так далее. Надо научить бота распознавать все возможные вариации вопроса.
В «Ключевых словах» мы пишем не просто вопрос, а все его вариации: с ошибками и неправильным порядком слов. И указываем, что сценарий сработает, если сообщение содержит одно из ключевых слов, а не точно совпадает с ним.
Пролистываем чуть ниже и пишем ответ на вопрос. В него можно добавить смайлы или прикрепить какой-то файл. Чуть ниже доступны дополнительные настройки: можно включить анимацию того, что бот печатает сообщение, или отправлять ответ с задержкой в несколько секунд.
Вернитесь чуть выше и сохраните сценарий. И сделайте так для всех возможных вопросов.
Нужно сделать что-то более интересное или сложное — пожалуйста, в Chatgun и других сервисах есть все необходимое для этого. Например, чат-бот может обращаться к человеку по имени и называть город, указанный в его профиле. Чтобы научить сервис делать так, добавьте в ответ переменные — скопируйте их из списка и используйте по тексту. Там, где будет переменная, чат-бот автоматически подставит соответствующие данные.
Тут же можно сделать кнопки, чтобы пользователь не писал сообщения, а управлял чат-ботом ВКонтакте командами. Заходим в сценарий ответа на первое сообщение, пишем приветствие и добавляем кнопки.
И добавляем сколько угодно кнопок. Можно писать их названия, выбирать цвет и тип. А еще то, как бот отреагирует на нажатие: например, перейдет к какому-то сценарию
И так можно сделать все, что угодно: например, научить чат-бота отправлять ссылку на конкретное видео, если его спрашивают об обзоре. Или добавить несколько вариантов ответов — тогда бот будет отправлять случайный или все по порядку в зависимости от настроек.
Шаг № 4. Прописываем ответ на неизвестное сообщение
Неизвестные сообщения — те, которые вы не предусмотрели, или уникальные вопросы, заданные впервые. На них тоже нужно отвечать. В сценарии реакции на неизвестную команду придумайте ответ, который подошел бы любой ситуации. Можно написать просто что-то типа «Я вас не понимаю, но сейчас передам сообщение администрации группы. Они обязательно с вами свяжутся».
А чтобы не пропускать такие сообщения, настройте отправку неизвестных команд администратору. Тогда чат-бот перешлет вам вопрос пользователя в личку, и вы вовремя заметите его.
Кстати, такое же перенаправление можно настроить, если принимаете заказы прямо ВКонтакте. Сделайте так, что бот сам спросит все необходимые данные и просто перешлет вам сообщение об оплате.
Все, мы настроили простейшего чат-бота — он начнет консультировать пользователей и освободит вас от рутины. Совсем не обращать внимания на сообщения не получится, но вы будете тратить на обработку сообщений гораздо меньше времени.
В настройках чат-ботов, даже примитивных, есть много чего интересного — можно добавлять реакции на прикрепленные файлы, строить автоворонки продаж с помощью кнопок, делать рассылки, настраивать варианты ответов в зависимости от переменных и много чего еще. Не пожалейте пару часов и разберитесь во всех функциях, чтобы потом сэкономить намного больше времени.
А если хотите сэкономить время не только на сообщениях, но и на постах, используйте SMMplanner . Планируйте в нем публикации на несколько недель вперед. SMMplanner будет публиковать посты, чат-бот — отвечать на вопросы в комментариях, а вы сможете заняться развитием бизнеса.
Источник статьи: http://zen.yandex.ru/media/smmplanner/kak-sdelat-chatbota-vkontakte-za-polchasa-bez-znaniia-koda-5ecbaaa9564da33d1c6c3a7d