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

Далее в раздел Сообщения и включаем данную функцию, без нее работать наш бот не будет.

Далее переходим: Настройки -> Работа с API -> Ключи доступа и создаем ключ со следующими параметрами: Далее нажимает создать ключ и разрешить доступ к управлению сообществом и отправку сообщений от сообщества

Далее запрашивает подтверждение по телефону для создания ключа.

Получаем вот такой код (токен)

Данный токен сообщать другим пользователям нельзя, иначе вы рискуете потерять доступ к своему сообществу. Сохраните токен в блокноте, он нам пригодится.
С настройками сообщества пока закончим, но в данный раздел нам нужно будет еще вернутся, теперь приступаем к написанию кода для нашего будущего бота. Конечно в данной статье я не буду показывать основные функции своего бота, а лишь небольшую часть, остальное Вы сможете сделать сами при желании, это лишь начальный этап создания бота, учитывайте это.
Бота мы будем писать на PHP.
Открываем редактором и начинаем писать код.
Вместе с исходником, я положу библиотеку, без нее бот работать не будет, библиотека является общедоступной, ее можно найти на просторах интернета.
Библиотека упрощает работу с кодом и методами API VK можно скачать здесь.
<?php require_once('simplevk-master/autoload.php'); use DigitalStar\vk_api\VK_api as vk_api; // Основной класс
Теперь создаем константы
const VK_KEY = "127bd1e64d97f0c71813ef13ba3d0eccfca127bd1e64d97f077bb346127bd1e64d97f0"; // Токен сообщества const ACCESS_KEY = "13c587b3a0"; // Тот самый ключ из сообщества const VERSION = "5.80"; // Версия API VK

Их нужно заполнить. в кавычках вставляем тот самый длинный код (токен), вторую константу мы берем с настроек группы управление ->Работа Api и на вкладке Callback API берем строку которая должна вернуть сервер в моем случае это 5c92b645, а в 3 пишем версию API, которую мы будем использовать. Давайте возьмем 5.80. Нам так же нужно указать и ACCESS_KEY его мы берем в сообществе.
<?php require_once('simplevk-master/autoload.php'); use DigitalStar\vk_api\VK_api as vk_api; // Основной класс const VK_KEY = "127bd1e64d97f0c71813ef13ba3d0eccfca127bd1e64d97f077bb346127bd1e64d97f0"; // Токен сообщества const ACCESS_KEY = "13c587b3a0"; // Тот самый ключ из сообщества const VERSION = "5.80"; // Версия API VK
Теперь нам нужно создать экземпляр класса работы с api, получить и декодировать JSON пришедший из VK и сообщить VK что мы приняли callback.
Еще нам понадобятся переменные для работы с сообщением от пользователей и индификатор пользователя для дальнейшей работы.
Получаем следующий код:
$vk = vk_api::create(VK_KEY, VERSION)->setConfirm(ACCESS_KEY); $vk->initVars($peer_id, $message, $payload, $vk_id, $type, $data); // Инициализация переменных $id = $data->object->from_id; // Узнаем ID пользователя $message = $data->object->text; // Сообщение от пользователя
Для начала нам нужно получить объект новых сообщений, для его дальнейшей обработки:
if ($data->type == 'message_new') { }
Теперь можно попробовать обработать первую команду! Наша команда будет обрабатывать строку hello, давайте напишем ее:
if ($data->type == 'message_new') { if ($message == 'hello') { $vk->sendMessage($peer_id, "Привет"); // Отправляем ответ } }
Это уже примитивный бот который может здороваться с вами.
Теперь подключим скрипт в сообщества это более быстрый вариант, что бы выполнялся автоматически или как вариант можете в крон задачу поставить это уже дело вкуса. Закачиваем файл с библиотекой на сервер и можно тестировать.
