Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Советы
  • Автоподписка по ключевому слову в рассыльщике Гамаюн в ВК и тест функции «клавиатура. Работа с библиотекой

Автоподписка по ключевому слову в рассыльщике Гамаюн в ВК и тест функции «клавиатура. Работа с библиотекой

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

Как подключить новую функцию?

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

Где посмотреть?

Новые кнопки можно протестировать:

  • в официальном сообществе Comedy Club;
  • с ботом «Максим», который преобразует текст в аудиосообщение;
  • с Callback API Бот, отслеживающим обновления в выбранных сообществах.

Чего ждать в следующих обновлениях «ВКонтакте»?

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

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

Новый функционал для ботов ВК — кнопки быстрых ответов или же keyboard.

ВАЖНО! Более свежая версия статьи

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

Создание и настройка сообщества

После создания сообщества в ВК проследуйте по этому пути:
«Управление сообществом» →«Сообщения» и включите диалоги сообщества. Теперь в подменю «Настройки для бота» включите «Возможности ботов» и кнопку «Начать».

Писать будем используя Сallback api(отправляет каждое действие в сообществе по отдельности на сервер). Поэтому его тоже следует настроить. Переходим в
«Управление сообществом» →»Работа с API». Для работы бота нужно зарегистрировать ключ доступа. Нажимаете «Создать ключ» и выбираете необходимые права доступа, для этого бота нужны только права на сообщения. Подтверждаем номер телефона и сохраняем куда нибудь ключ доступа. Теперь переходим во вкладку Callback API. Ставим свое название сервера и выбираем последнюю версию API(на данный момент она 5.80, и именно с ней ниже представленный бот будет работать 100%) . Во вкладке «Типы запросов» выбираем только входящие сообщения.

Настройка сервера

Теперь вам понадобится сервер для хостинга своего бота. Вы можете использовать бесплатные хостинги, например 000webhost.

Если вы будете использовать дешевые/бесплатные хостинги, то вероятнее всего на них будет отключен cURL(вы не сможете отправлять ботом медиа файлы, только текст), и его нельзя включить. У 000webhost все с этим нормально, можете использовать. Если у вас свой сервер или хороший купленный, то вам надо подключить cURL для полноценной работы бота из нашего примера.

Как работает Callback API и keyboard

Проведу краткий экскурс как все работает. Сallback API отсылает на ваш сервер любое событие, которое происходит в группе виде JSON. Полный список событий можно посмотреть во вкладке «Сallback API» → «Типы событий». Вот так выглядит JSON запрос когда пользователь отправляет сообщение, в данном случае он нажал на кнопку:

{"type":"message_new","object":{"date":1529668584,"from_id":89846036,"id":1522,"out":1,"peer_id":89846036,"text":"Золотая рыбка","conversation_message_id":305,"fwd_messages":,"important":false,"random_id":0,"attachments":,"payload":"{\"animals\":\"Goldfish\"}","is_hidden":false},"group_id":101461081}

Тут есть несколько интересных полей, которые можно обработать: id пользователя, текст сообщения(text), полезная нагрузка кнопки(payload).

Отправка сообщений пользователю происходит с помощью метода messages.send . Если вы отправляете клавиатуру, то после всех стандартных параметров вы добавляете параметр keyboard, который содержит json кнопок, вот как он выглядит:

Keyboard: { "one_time": false, "buttons": [ [{ "action": { "type": "text", "payload": "{\"button\": \"1\"}", "label": "Red" }, "color": "negative" }, { "action": { "type": "text", "payload": "{\"button\": \"2\"}", "label": "Green" }, "color": "positive" }]

Работа с библиотекой

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

$vk = new vk_api(vk_key, version_api) — инициализация бота. Параметры: ключ сообщества(vk_key), версия API(version_api).

sendMessage(id, text) — функция отправки сообщений юзеру. Параметры: id пользователя(id), текст сообщения(text).

sendImage(id, patch) — функция отправки изображений. Параметры: id пользователя(id), путь до изображения(patch).

sendButton(id, text, buttons, one_time) — функция отправки сообщения с кнопками. Параметры: id пользователя(id), текст сообщения(не может быть пустым)(text), массив с кнопками(buttons), не обязательный параметр one_time, по дефолту false, если поставить true, то после нажатия на любую кнопку клавиатура скроется.

request(method, array_arguments) — универсальная функция работы с методами. Параметры: method — название метода из официального api, array_arguments — массив параметров.

sendOK() — Бета функция. Используется вместо echo «ok», помогает в тех случаях, когда время работы скрипта долгое, и бот начинает повторять сообщения по несколько раз.
ВАЖНО: есть использовать эту функцию, то у вас не будет отображаться вывод ошибок. Во время дебага заменяйте на echo «ok»

Полный код бота на PHP

Теперь перейдем собственно к коду, где прокомментирована почти каждая строка.
Данный код поддерживается на PHP 5.6+
В блоке CONFIG укажите свой ключ доступа сообщества, ключ для подтверждения сервера а так же выбранную вами версию API.

"Fish"], "А какие бывают?", "blue"]; //Код кнопки "Fish" const BTN_BACK = [["command" => "start"], "<< Назад", "red"]; // Код кнопки "<< Назад" const BTN_SALMON = [["animals" => "Pink_salmon"], "Горбуша", "white"]; // Код кнопки "Горбуша" const BTN_GOLDFISH = [["animals" => "Goldfish"], "Золотая рыбка", "blue"]; // Код кнопки "Золотая рыбка" const BTN_PLOTVA = [["animals" => "Plotva"], "Плотва", "green"]; // Код кнопки "Плотва" $vk = new vk_api(VK_KEY, VERSION); // создание экземпляра класса работы с api, принимает ключ и версию api $data = json_decode(file_get_contents("php://input")); //Получает и декодирует JSON пришедший из ВК if ($data->type == "confirmation") { //Если vk запрашивает ключ exit(ACCESS_KEY); //Завершаем скрипт отправкой ключа } $vk->sendOK(); //Говорим vk, что мы приняли callback if (isset($data->type) and $data->type == "message_new") { //Проверяем, если это сообщение от пользователя $id = $data->object->from_id; //Получаем id пользователя, который написал сообщение $message = $data->object->text; if (isset($data->object->peer_id)) $peer_id = $data->object->peer_id; // Получаем peer_id чата, откуда прилитело сообщение else $peer_id = $id; if (isset($data->object->payload)){ //получаем payload $payload = json_decode($data->object->payload, True); } else { $payload = null; } if (isset($payload["command"]) or mb_strtolower($message) == "начать") { //Если нажата кнопка начать или << назад $vk->sendButton($peer_id, "Хочешь посмотреть на рыбок?", []); //Отправляем кнопку пользователю } else { if ($payload != null) { // если payload существует switch ($payload["animals"]) { //Смотрим что в payload кнопках case "Fish": //Если это Fish $vk->sendButton($peer_id, "Вот такие, выбирай", [ //Отправляем кнопки пользователю , ]); break; case "Pink_salmon": //Если это Горбуша $vk->sendMessage($peer_id, "Держи свою горбушу!"); //отправляем сообщение $vk->sendImage($peer_id, "img/pink_salmon.jpg"); //отправляем картинку break; case "Goldfish": //Если это Золотая рыбка $vk->sendMessage($peer_id, "Она исполнит твои желания..."); $vk->sendImage($peer_id, "img/goldfish.jpg"); break; case "Plotva": //Если это Плотва $vk->sendMessage($peer_id, "Ой, похоже картинку перепутали)"); $vk->sendImage($peer_id, "img/plotva.jpg"); break; default: break; } } } } ?>

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

Стартуем!

Заливайте свой скрипт и библиотеку на сервер. Теперь заходим в настройках во вкладку Callback API, вписываем в поле адреса путь до своего скрипта и жмем подтвердить. Если вы все сделали правильно, то рядом с адресом появится зеленая галочка.

FAQ:

Вопрос: Вообще ничего не работает!
Ответ: Значит где-то накосячили. Перечитайте еще раз внимательно статью, и проверьте, все ли вы сделали. Любой шаг влево может привести к ошибке…

Вопрос: У меня все работает, но не отправляются картинки.
Ответ: Проверьте, добавили ли вы папку img с изобажениями. Так же, возможно вы используете сервер, где не поддерживается cURL.

Вопрос: Я изменил версию на 5.78 или любую другую. У меня ничего не работает.
Ответ: Используйте другие версии api кроме 5.80 на свой страх и риск. Например на версии 5.78 от ВК приходят другие названия переменных(например вместо object->text идет object->body), поэтому скрипт крашится. Все изменения api ищите

Подробнее, что это за функция

Это не что иное, как чат-бот. Чтобы автоматизировать работу кнопок, их нужно связать с подпиской на рассылку по ключевому слову. Указать на кнопке ключевое слово (или фразу), тогда при клике по ней будет происходить автоподписка на рассылку и отправка сообщения. Либо другое действие, которое вы зададите в автоворонке.

Как это сделала я?

Предварительно создала новую тему подписки на бесплатные уроки и в настройках задала ключевую фразу для подписки в эту рассылку – «Хочу уроки».

Когда человек вводит эту ключевую фразу в диалоге с моим сообществом, то автоматически подписывается на эту рассылку (тему) и получает уроки. Эти уроки приходят в первом автоматическом сообщении рассылки сразу. Далее через 2 дня приходит второе сообщение, где я спрашиваю – просмотрел ли человек уроки, как они ему, есть ли вопросы, а также предлагаю получить со скидкой полный курс и дополнительный подарок. Автосообщения в Гамаюн настраиваются в разделе «Автоворонка». Об автоворонке я подробнее писала

На одной написала текст «Нет, спасибо» – если подписчик жал на эту кнопку, то в сообщениях сообщества я видела, что ему это не интересно.

Если же человек нажимал на кнопку «Хочу уроки», то автоматически подписывался на уроки и сразу получал сообщение со ссылкой. А я отсегментировала людей, которым это интересно, и далее задействовала автоворонку.

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

По результатам теста

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

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

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

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

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

Для начала создадим тему подписки и добавим ключевую фразу (это может быть и одно слово) для автоматической подписки. Для этого переходим в приложение Гамаюн через кнопку в группе, заходим во вкладку «Рассылки» – «Темы». Нажимаем «Создать тему».

Указываем название и описание темы. Для примера я создам тему «Подарок за активность».

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

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

Теперь для вновь созданной темы зададим первое автосообщение после подписки. Чтобы при клике на кнопку – Хочу подарок, человек сразу получал этот подарок. Делается это во вкладке «Автоворонка».

В первом поле выбираем созданную тему, затем нажимаем «Создать сценарий».

Кликаем по карандашику для редактирования блока.

Создаем новое действие в блоке – Послать сообщение.

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

Таким же образом можно продолжить автоцепочку сообщений, создавая новые блоки и связывая их между собой. Для связи нужно зайти в предыдущий блок, добавить действие «Отложенный вызов» и указать, через какое время будет выполняться следующий блок (действие) в воронке.

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

Выбираем тему (группу подписчиков), по которой хотим сделать рассылку. Можно выбрать одновременно несколько тем. Если не выбрать ни одной – рассылка отправится по всем вашим подписчикам. Для примера я выбираю тестовую группу, которую создала чисто для себя, в ней я единственный подписчик. Вам тоже рекомендую такую сделать для первичного тестирования.

Пишу сообщение, где предлагаю получить подарок.

Кстати, еще из новинок – появилась возможность отключать превью ссылок (то есть картинку, которая подтягивается по ссылке в сообщении). Не всегда это уместно. Это было введено из-за того что при добавлении ссылки на отписку, подтягивалась кликабельная картинка, которая привлекала к себе все внимание. Теперь это можно отключить.

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

Также отметьте галочкой «Скрывать клавиатуру при нажатии» – это значит, что при клике на кнопку она исчезнет.

Вы можете добавить одну или несколько кнопок, нажимая на плюсик. Чтобы поменять цвет кнопки и надпись на ней, просто кликните на нее мышью.

Для примера я сделаю две кнопки – синюю и зеленую. На одной напишу ключевую фразу «Хочу подарок», а на второй «Нет, спасибо» (ведь выбор должен быть всегда).

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

Нажимаю на кнопку «Хочу подарок» и тут же его получаю. То есть, произошла автоподписка на тему, и задействовалась воронка. Вот так это работает.

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

Также можно добавить несколько кнопок (4-5), чтобы отсегментировать подписчиков в разные темы (по их предпочтениям). То есть, провести опрос…

Вы можете посмотреть наглядный урок к статье:

Благодарю за внимание и буду рада вашим комментариям!

С уважением, Виктория Карпова

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

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

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

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

Виды горячих клавиш

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

  • Enter - нажав на эту кнопку вы отправите текст нужному вам человеку;
  • Shift + Enter - нажав на данную комбинацию вы просто перенесете текст.

Ещё одной интересной функцией считается возможность при помощи одной комбинации перейти в какой-нибудь диалог. Допустим, вы разговариваете с несколькими людьми, чтобы перейти сразу к тому, кому вы хотите, достаточно нажать на «Ctrl+3» . Тройка - это номер диалога.

Если вы просматриваете чьи-то фотографии и вам неудобно мышкой переключаться из одной фотографии на другую, то для этого существует комбинация «Alt + Enter» . Нажав на эти две кнопки перед вами появится возможность просматривать снимки в режиме слайд-шоу.

Горячие клавиши для аудиозаписей

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

  • Pause - нажав на неё вы остановите песню;
  • Play - музыка вновь включится;
  • Stop - трек будет остановлен;
  • Previous - вы переключитесь на предыдущую песню;
  • Next - включите следующую по списку композицию;
  • Ctrl + колёсико мышки вверх - увеличить громкость трека; Ctrl + колёсико мышки вниз - уменьшить громкость трека.

Стоит отметить, что это самые популярные и востребованные горячие клавиши в социальной сети ВКонтакте. На самом деле их очень много, некоторые из них могут работать, а некоторые нет. Важно знать: если у вас ноутбук, то во время выполнения действий в разделе аудиозаписи вам нужно использовать клавишу «Fn», то есть, «Fn + Play». Надеемся, что наша статья помогла ответить на все ваши вопросы.

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