На MacOS можно установить интерпретатор PHP по этой инструкции https://www.php.net/manual/ru/install.macosx.packages.php
На Windows самым простым способом будет установить XAMPP https://www.apachefriends.org/ru/index.html
Для того, чтобы загрузить этот шаблон, можно склонировать репозиторий через git, а если вы этого не умеете, то можно просто скачать архив
Можно воспользоваться любой средой разработки. Я предпочитаю PHPStorm, но подойдет даже простой текстовый редактор.
Для запуска проекта необходимо запустить из консоли index.php
, находясь в директории проекта. На MacOS, к примеру, следующим образом:
php index.php
Для того, чтобы можно было обрабатывать события, которые происходят в сообществе, и отправлять сообщения от имени этого сообщество, требуются некоторые действия. Для этого необходимо перейти в упраление сообществом и сделать следующее:
- Нужно включить сообщения сообщества.
- После этого нужно разрешить сообществу отправлять себе сообщения. Это можно сделать на странице сообщества.
- Возвращаемся в управление сообществом, и переходим в раздел "Работа с API".
- Создаём ключ для доступа к API, указываем права на управление сообществом и сообщения сообщества.
- Переходим в раздел Long Poll API. Включаем Long Poll API, указываем версию 5.131.
- Переходим в подраздел "Типы событий" и включаем события "Подписка на сообщество", "Выход из сообщества"
Я заранее написал базовый код.
Для работы с ним сначала нужно заполнить файл SubStalker/Config.php
, указав в нём айди вашего сообщества и его токен, который был получен в процессе выполнения инструкции выше.
Остается лишь реализовать обработку колбэков. Соотвествующую логику достаточно прописать в методы groupJoin
и groupLeave
в файле SubStalker/CallbacksHandler.php
.
Когда пользователь покинет сообщество, будет вызван метод groupLeave
, а когда вступит в него, соответственно groupJoin
.
Для того, чтобы делать запросы к API ВКонтакте, в проекте есть клиент. Пример использования (здесь вызывается метод https://dev.vk.com/ru/method/users.get):
use VK\Client\VKApiClient;
...
$client = new VKApiClient('5.131');
$user = $client->users()->get(Config::ACCESS_TOKEN, ['user_id' => $user_id])[0];
groupEnjoy!