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

vkbot-4445817

6 июля 2020 PHP

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

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

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

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

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

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

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

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

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

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

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

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

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

vkbot5-5690064 Работа с API

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

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

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

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

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

vkbot8-6992633 Callback API

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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