atomrus1993

VK API

Jun 5th, 2017
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.69 KB | None | 0 0
  1. <?php
  2.  
  3. if (!isset($_REQUEST)) {
  4.   return;
  5. }
  6.  
  7. //Строка для подтверждения адреса сервера из настроек Callback API
  8. $confirmation_token = 'NULL';
  9.  
  10. //Секретный ключ
  11. $secret = 'NULL';
  12.  
  13. //Ключ доступа сообщества
  14. $token = 'NULL';
  15.  
  16. //Получаем и декодируем уведомление
  17. $data = json_decode(file_get_contents('php://input'));
  18.  
  19. //Проверяем, что находится в поле "type"
  20. if ($data->type == 'confirmation') {
  21.     //...отправляем строку для подтверждения адреса
  22.     echo $confirmation_token;
  23.  
  24. } elseif ($data->type == 'group_join' && $data->object->join_type == 'join' && $data->secret == $secret) {
  25.     //...получаем id его автора
  26.     $user_id = $data->object->user_id;
  27.     //затем с помощью users.get получаем данные об авторе
  28.     $user_info = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$user_id}&v=5.0"));
  29.  
  30. //и извлекаем из ответа его имя
  31.     $user_name = $user_info->response[0]->first_name;
  32.  
  33. //С помощью messages.send и токена сообщества отправляем ответное сообщение
  34.     $request_params = array(
  35.       'message' => "Привет! Рады видеть, {$user_name}!",
  36.       'user_id' => $user_id,
  37.       'access_token' => $token,
  38.       'v' => '5.0'
  39.     );
  40.  
  41. $get_params = http_build_query($request_params);
  42.  
  43. file_get_contents('https://api.vk.com/method/messages.send?'. $get_params);
  44.  
  45. //Возвращаем "ok" серверу Callback API
  46.     echo "ok";
  47.  
  48. }
  49. ?>
Advertisement
Add Comment
Please, Sign In to add comment