Как сделать меню в боте ВК

В этой статье мы рассмотрим как просто и быстро создать кнопки для управления ботом. Кнопки упрощают использование бота и делают управление им удобнее, чем писать текстовые команды.
Требования:
PHP +5.6
VK API v5.126

Статья обновлена до последней версии API 5.126 на сегодняшний день.

Мы будем использовать библиотеку для работы с API VK, скачать ее можете ниже
simplevk-master.rar

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

Создаем файл с названием bot.php в том же месте, где лежит наша библиотека и начинаем писать следующий код.

setConfirm(ACCESS_KEY); // ТУТ НАШИ КНОПКИ === $btn_1 = $vk->buttonText(‘Кнопка 1’, ‘green’, [‘command’ => ‘btn_1’]); $btn_2 = $vk->buttonText(‘Кнопка 2’, ‘blue’, [‘command’ => ‘btn_2’]); $btn_3 = $vk->buttonText(‘Кнопка 3’, ‘red’, [‘command’ => ‘btn_3’]); $btn_4 = $vk->buttonText(‘Кнопка 4’, ‘white’, [‘command’ => ‘btn_4’]); // =================== $vk->initVars($peer_id, $message, $payload, $vk_id, $type, $data); // Инициализация переменных. Проще говоря библиотека сама создает нужные переменные, а в качестве примера ниже привели как бы пришлось писать переменные без инициализапции // ====== Наши переменные ============ //$peer_id = $data->object->peer_id;// Узнаем ID пользователя, кто написал нам //$message = $data->object->text; // Само сообщение от пользователя // ====== *************** ============

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

Как создать меню в боте?

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

$btn_1 = $vk->buttonText(‘Кнопка 1’, ‘green’, [‘command’ => ‘btn_1’]); $btn_2 = $vk->buttonText(‘Кнопка 2’, ‘blue’, [‘command’ => ‘btn_2’]); $btn_3 = $vk->buttonText(‘Кнопка 3’, ‘red’, [‘command’ => ‘btn_3’]); $btn_4 = $vk->buttonText(‘Кнопка 4’, ‘white’, [‘command’ => ‘btn_4’]);

Рассмотрим их подробнее.
$btn_1 — Название переменной, далее вызываем функцию из библиотеки и пишем параметры = $vk->buttonText(‘Кнопка 1’, ‘green’, [‘command’ => ‘btn_1’]); btn_1 название кнопки, «Кнопка 1» любой текст в кнопке, может повторятся, «green» цвет кнопки, всего доступно 4 варианта:
green — Зеленый
blue — Синий
red — Красный
white — Белый
Теперь давайте вызовем кнопки и посмотрим как они смотрятся. Создаем проверку события на новое сообщение:

if ($data->type == ‘message_new’) < // Создаем проверку на новое сообщение и вызываем кнопки $vk->sendButton($peer_id, «Вот список кнопок, выбирайте :-)», [[$btn_1, $btn_2, $btn_3, $btn_4]]); >

МЕНЮ ДЛЯ РЕГИСТРАЦИИ В БОТЕ VK

Проверим работу в Вконтакте

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

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

Еще по теме:  Что написать другу в ВК

if ($data->type == ‘message_new’) < // Создаем проверку на новое сообщение и вызываем кнопки if ($message == ‘Начать’) < $vk->sendButton($peer_id, «Вот список кнопок, выбирайте :-)», [[$btn_1, $btn_2, $btn_3, $btn_4]]); > >

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

if ($data->type == ‘message_new’) < // Создаем проверку на новое сообщение и вызываем кнопки if ($message == ‘Начать’) < $vk->sendButton($peer_id, «Вот список кнопок, выбирайте :-)», [[$btn_1, $btn_2, $btn_3, $btn_4]]); > if (isset($data->object->payload)) < //получаем payload $payload = json_decode($data->object->payload, True); > else < $payload = null; >$payload = $payload[‘command’]; // Теперь пишем действия с кнопками if ($payload == ‘btn_1’) $vk->sendMessage($peer_id, «Вы выбрали первую кнопку, любой ответ на это событие»); if ($payload == ‘btn_2’) $vk->sendMessage($peer_id, «Вы выбрали вторую кнопку, любой ответ на это событие»); if ($payload == ‘btn_3’) $vk->sendMessage($peer_id, «Вы выбрали третью кнопку, любой ответ на это событие»); if ($payload == ‘btn_4’) $vk->sendMessage($peer_id, «Вы выбрали четвертую кнопку, любой ответ на это событие»); if ($message == ‘Отключить’) $vk->sendButton($peer_id, «Кнопки скрыты, снова вызвать их, отправьте Начать, Ваш ID $vk_id», [[]]); >

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

$vk->sendButton($peer_id, «Вот список кнопок, выбирайте :-)», [[$btn_1, $btn_2, $btn_3, $btn_4]]);
$vk->sendButton($peer_id, «Вот список кнопок, выбирайте :-)», [[$btn_1], [$btn_2], [$btn_3], [$btn_4]]);

Получаем вот такой вариант:

Вид кнопок может быть разным, что бы разместить 1 кнопку в столбец, 2 и 3 в строку, а 4 тоже в столбец, нужно взять в квадратные скобки 2 и 3 кнопки

$vk->sendButton($peer_id, «Вот список кнопок, выбирайте :-)», [[$btn_1, [$btn_2, $btn_3], $btn_4]]);


Я думаю с этим все понятно, дальше быстро пробежимся по запуску бота, не смотря на то, что на сайте уже есть статья на эту тему.
Созданные файлы мы загружаем на хостинг, советую выделить для этого 100 рублей, цена 1 пачки сигарет, ну или 2 шоколадки 🙂 покупаем готовый хостинг, если не нужна база данных в будущем, то стоимость падает в 2 раза, до 40 рублей
hostline


Это стоимость на HostLine.ru

Переходим в ISPManager прямо из личного кабинета

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

И закачиваем наши 2 файла

Теперь перейдя по нашему домену, в моем случае это http://vh328199.hostline.su/bot.php, если домен не отвечает, нужно немного подождать, пока ваш провайдер не начнет его видеть, обычно это занимает не более 24 часов.

Теперь эту ссылку вставляем в настройки VK API самой группы

И не забывайте включить Тип событий на входящие сообщения

Еще по теме:  Рейтинг сервисов накрутки Вконтакте

На этом все, задавайте свои вопросы в комментарии, обязательно ответим на них.
keyboard_bot.rar

Новость отредактировал: Сергей Котов — 23-03-2021, 18:03
Причина: Статья обновлена до последней версии API 5.126 на момент редактирования.

  • Сергей Котов
  • 01.04.2019
  • 37 202
  • 50
  • 11

Источник: kotoff.net

Что такое кнопки и примеры их использования ВКонтакте

Кнопки — это элементы в диалоге с сообществом для вызова команд чат-бота (располагаются под полем для ввода сообщения, если они доступны).Кнопки заменяют ручной ввод текста при общении с чат-ботом, позволяя привязать к каждой кнопке нужное вам действие. Кнопки упрощают взаимодействие пользователя с вашим чат-ботом, что оказывает положительный эффект для взаимодействия с вашими клиентами, которые теперь смогут быстрее получить нужную информацию или сделать заказ.Вы можете добавить кнопки к любому ответу в диалоге в вашем сообществе с помощью нашего конструктора чат-ботов — https://vk.cc/8tLWI3

Примеры использования кнопок

Чат-бот сообщества SMM Hunter связывает заказчиков и исполнителей между собой.

В сообществе есть стартовая кнопка «Начать» — служит для разрешения отправки пользователям сообщения и пробуждения чат-бота.

b_5bb2074c7c63d.jpg

После нажатия на кнопку «Начать», появляется меню с кнопками для выбора роли (рисунок 1).

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

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

b_5bb2074c9ec48.jpg

Рисунок 1. Чат-бот с кнопками SMM

b_5bb1ffe9ba7c2.jpg

Рисунок 2. Чат-бот с кнопками SMM

b_5bb2000c37405.jpg

Рисунок 3. Чат-бот с кнопками SMM

2. Comedy Club

Чат-бот сообщества Comedy рассылает свой контент пользователям.

В сообществе есть стартовая кнопка «Начать».

b_5bb2074cbcb66.jpg

Стартовая кнопка

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

В текущем сезоне открываются кнопки для выбора выпуска (рисунок 5 ниже). При нажатии на кнопку присылается ссылка с видео на выпуск.

b_5bb2074cdd531.jpg

Рисунок 4. Чат-бот с кнопками Comedy Club

b_5bb202dc8139d.jpg

Рисунок 5. Чат-бот с кнопками Comedy Club

3. Чатмашина

Чат-бот был разработан в качестве входной точки первичного обращения клиентов.

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

В сообществе есть стартовая кнопка «Начать»

b_5bb2074d37288.jpg

Стартовая кнопка

Далее открывается меню с кнопками выбора «Соединить с менеджером» или «Оценить разработку бота».

При нажатии на «Оценить разработку бота», бот проводит опрос с двумя кнопками выбора: нужна какая-то функция или нет (смотрите рисунки 6-12).

b_5bb2074d62f44.jpg

Рисунок 6. Чат-бот с кнопками «Чатмашина»

b_5bb203835c1b3.jpg

Рисунок 7. Чат-бот с кнопками «Чатмашина «

b_5bb2039094488.jpg

Рисунок 8. Чат-бот с кнопками «Чатмашина «

b_5bb2039eaa996.jpg

Рисунок 9. Чат-бот с кнопками «Чатмашина «

b_5bb203a405439.jpg

Рисунок 10. Чат-бот с кнопками «Чатмашина «

b_5bb203ab9b7eb.jpg

Рисунок 11. Чат-бот с кнопками «Чатмашина «

b_5bb203b17083e.jpg

Рисунок 12. Чат-бот с кнопками «Чатмашина «

Еще по теме:  Как работает пиксель Вконтакте

4. Сбербанк

Бот сбербанка рассылает информацию о своих услугах и отправляет стикеры.

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

b_5bb2074d8b19b.jpg

Чат-бот с кнопками Сбербанк

5. Durex

Чат-бот рекламирует свою продукцию, проводит опросы и отправляет стикеры пользователям.

В последней акции у чат-бота есть две кнопки «Поделиться» и «Загрузить чек».

Если нажимаешь «Поделиться», то на твоей стене оказывается рекламная запись о стикерах от компании Durex.

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

b_5bb2074db2fe2.jpg

Чат-бот с кнопками Durex

6. Chatgun — конструктор чат-ботов и рассылок для Вконтакте

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

  1. Рассказывает как подключить приложение к группе.
  2. Описывает новые возможности конструктора.
  3. Отправляет ссылку на техподдержку пользователей.

b_5bb2074ee05ae.jpg

Чат-бот с кнопками Chatgun

7. Бот максим — развлекательное сообщество

Бот озвучивает написанный текст.

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

b_5bb207502a68f.jpg

Чат-бот Максим с кнопками

Источник: spark.ru

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

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

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

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

Реклама: 2VtzqvSTRwm

Как работают Callback-кнопки в чат-боте ВК

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

Как использовать:

  • Реализация основного меню бота: после нажатия на callback-кнопку на клавиатуре бот обновляет её, выполняя переход на уровень глубже по вложенности меню. При этом пользователю не нужно отправлять боту дополнительное сообщение.
  • Редактирование сообщения: пользователь нажимает на callback-кнопку в inline-клавиатуре из сообщения, выбирая категорию блюда в меню, — бот редактирует сообщение, предлагая блюда из этой категории. Пользователь при этом не отправляет боту сообщение.
  • Отправка результата действия: пользователь нажимает на callback-кнопку, например «Пополнить баланс», которая совершает определённое действие. После его успешного выполнения бот показывает пользователю информацию «Баланс пополнен» при помощи snackbar. Отправка сообщения при этом не требуется.

callback-кнопки ВКонтакте

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

Сравнение онлайн-курсов

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

Источник: postium.ru

Рейтинг
( Пока оценок нет )
Загрузка ...