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

vkbot-9437369

6 июля 2020 PHP

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

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

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

Боты ВКонтакте работают от имени сообществ, поэтому если у вас нет группы, регистрируем ее в разделе Сообщества → Создать сообщество.

vkbot1-1024x592-7688540 Создание сообщества ВКонтакте

Укажите тип сообщества, например «Группа по интересам».

vkbot2-1024x763-5642895 Тип сообщества

Укажите название и тематику сообщества.

vkbot3-5304884 Название сообщества

Создание ключей доступа

После того, как сообщество будет создано, перейдите в его настройки по ссылке «Управление» с его главной страницы.

vkbot4-9633973 Главная страница сообщества

Выберите меню «Работа с API» и создайте новый ключ.

vkbot5-5183889 Работа с API

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

vkbot6-4227216 Создание ключа доступа

Созданный ключ можно увидеть на вкладке «Ключи доступа».

vkbot7-8891660 Ключи доступа

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

vkbot8-5203909 Callback API

На вкладке типы событий отметьте входящие сообщения.

vkbot9-1533567 Типы событий

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

vkbot10-9506608 Сообщения

Разрешите добавлять бота в беседы.

vkbot11-9042739 Настройки для бота

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

vkbot12-3430431 Доступ ко всей переписке

Итак, после всех манипуляций вы должны получить 3 секретных ключа:

  • Ключ доступа
  • Секретный ключ
  • Строка, которую должен вернуть сервер

PHP-код чат-бота

Замените в коде строки с ключами на полученные и сохраните его на вашем хостинге, например по адресу http://site.ru/bot.php

Затем укажите этот адрес в настройках бота на вкладке Callback API (то, что пропустили на предыдущем шаге настроек).

Бот так же может отправлять медиафайлы. Для этого в переменную $attachment передаем код файла. Получить его можно из адресной строки, например так:

vkbot13-1024x727-5252164 Код медиафайла ВКонтакте