bass
Создатель
- Регистрация
- 24 Авг 2011
- Сообщения
- 20
- Реакции
- 8
- Автор темы
- #1
Добрый день!
Пытаюсь подключить бота для закрытого сообщества ВК.
1. Заявка на вступление в сообщество - ответ1
Нашел код:
Но он отправляет только при вступлении в открытые сообщества.
Из API:
group_join: добавление участника или заявки на вступление в сообщество.
Объект, содержащий следующие поля:
Пытаюсь подключить бота для закрытого сообщества ВК.
1. Заявка на вступление в сообщество - ответ1
Нашел код:
PHP:
<?php
if (!isset($_REQUEST)) {
return;
}
//Строка для подтверждения адреса сервера из настроек Callback API
$confirmationToken = 'rg65e47';
//Ключ доступа сообщества
$token = '4758e0136e80f6ccc81f974657675691f10087b36de594f9ce32f0be3453782f4ce9f5e57f17';
// Secret key
$secretKey = 'keykeykey';
//Получаем и декодируем уведомление
$data = json_decode(file_get_contents('php://input'));
// проверяем secretKey
if(strcmp($data->secret, $secretKey) !== 0 && strcmp($data->type, 'confirmation') !== 0)
return;
//Проверяем, что находится в поле "type"
switch ($data->type) {
//Если это уведомление для подтверждения адреса сервера...
case 'confirmation':
//...отправляем строку для подтверждения адреса
echo $confirmationToken;
break;
// Если это уведомление о вступлении в группу
case 'group_join':
//...получаем id нового участника
$userId = $data->object->user_id;
//затем с помощью users.get получаем данные об авторе
$userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}{$join_type}&v=5.0"));
//и извлекаем из ответа его имя
$user_name = $userInfo->response[0]->first_name;
//С помощью messages.send и токена сообщества отправляем ответное сообщение
$request_params = array(
'message' => "ответ1",
'user_id' => $userId,
'access_token' => $token,
'v' => '5.0'
);
$get_params = http_build_query($request_params);
file_get_contents('https://api.vk.com/method/messages.send?' . $get_params);
//Возвращаем "ok" серверу Callback API
echo('ok');
break;
}
?>
Но он отправляет только при вступлении в открытые сообщества.
Из API:
group_join: добавление участника или заявки на вступление в сообщество.
Объект, содержащий следующие поля:
- user_id (integer) — идентификатор пользователя.
- join_type (string) — указывает, как именно был добавлен участник. Возможные значения:
- join — пользователь вступил в группу или мероприятие (подписался на публичную страницу).
- approved — заявка на вступление в группу/мероприятие была одобрена руководителем сообщества.
- request — пользователь подал заявку на вступление в сообщество.