6 июля 2020 PHP
В этом руководстве создадим чат-бота ВКонтакте, которого можно добавить не только в сообщения группы, но и в групповую беседу. Бот может прослушивать все сообщения в беседе, и если в каком-то из них будет содержаться определенное слово, фраза или часть текста, бот будет отвечать на него. Сообщения бота, так же как и обычного пользователя, могут содержать не только текст, но и например, изображения или видеоролик.
Сфера применения бота ограничивается только вашей фантазией, с ним можно не только общаться, но и например, научить его присылать заказы из интернет-магазина в беседу с сотрудниками. Так же бот может отслеживать не только новые сообщения, но и множество других событий, например, когда сообщение редактируется, кто именно его написал, содержится ли в нем медиа и т.д.
Создание сообщества
Боты ВКонтакте работают от имени сообществ, поэтому если у вас нет группы, регистрируем ее в разделе Сообщества → Создать сообщество.
Создание сообщества ВКонтакте
Укажите тип сообщества, например «Группа по интересам».
Тип сообщества
Укажите название и тематику сообщества.
Название сообщества
Создание ключей доступа
После того, как сообщество будет создано, перейдите в его настройки по ссылке «Управление» с его главной страницы.
Главная страница сообщества
Выберите меню «Работа с API» и создайте новый ключ.
Работа с API
Пока что для бота нам хватит отслеживать только сообщения, поэтому отметьте галочкой этот пункт.
Создание ключа доступа
Созданный ключ можно увидеть на вкладке «Ключи доступа».
Ключи доступа
Перейдите на вкладку CallBack API. Выберите версию 5.89. Вы можете выбрать и самую последнюю, но учтите, что передаваемые параметры там будут несколько другие, чем в приведенном ниже коде. Поле адрес пока оставьте пустым. Придумайте любой секретный ключ. Так же вам понадобится код из поля «Строка, которую должен вернуть сервер».
Callback API
На вкладке типы событий отметьте входящие сообщения.
Типы событий
Дли того, чтобы боту можно было написать в группе, включите функцию сообщений.
Сообщения
Разрешите добавлять бота в беседы.
Настройки для бота
После добавления бота в беседу, он может принимать сообщения, которые адресованы только ему. Чтобы бот смог отслеживать все сообщения устанавливаем опцию в настройках участников. Сделать это может только администратор беседы.
Доступ ко всей переписке
Итак, после всех манипуляций вы должны получить 3 секретных ключа:
- Ключ доступа
- Секретный ключ
- Строка, которую должен вернуть сервер
PHP-код чат-бота
Замените в коде строки с ключами на полученные и сохраните его на вашем хостинге, например по адресу http://site.ru/bot.php
Затем укажите этот адрес в настройках бота на вкладке Callback API (то, что пропустили на предыдущем шаге настроек).
Бот так же может отправлять медиафайлы. Для этого в переменную $attachment
передаем код файла. Получить его можно из адресной строки, например так:
Код медиафайла ВКонтакте