├── handler.php └── handler(check join and leave).php /handler.php: -------------------------------------------------------------------------------- 1 | secret, $secretKey) !== 0 && strcmp($data->type, 'confirmation') !== 0) 21 | return; 22 | 23 | //Проверяем, что находится в поле "type" 24 | switch ($data->type) { 25 | //Если это уведомление для подтверждения адреса сервера... 26 | case 'confirmation': 27 | //...отправляем строку для подтверждения адреса 28 | echo $confirmationToken; 29 | break; 30 | 31 | //Если это уведомление о новом сообщении... 32 | case 'message_new': 33 | //...получаем id его автора 34 | $userId = $data->object->user_id; 35 | //затем с помощью users.get получаем данные об авторе 36 | $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0")); 37 | 38 | //и извлекаем из ответа его имя 39 | $user_name = $userInfo->response[0]->first_name; 40 | 41 | //С помощью messages.send и токена сообщества отправляем ответное сообщение 42 | $request_params = array( 43 | 'message' => "{$user_name}, ваше сообщение зарегистрировано!
" . 44 | "Мы постараемся ответить в ближайшее время.", 45 | 'user_id' => $userId, 46 | 'access_token' => $token, 47 | 'v' => '5.0' 48 | ); 49 | 50 | $get_params = http_build_query($request_params); 51 | 52 | file_get_contents('https://api.vk.com/method/messages.send?' . $get_params); 53 | 54 | //Возвращаем "ok" серверу Callback API 55 | echo('ok'); 56 | 57 | break; 58 | 59 | // Если это уведомление о вступлении в группу 60 | case 'group_join': 61 | //...получаем id нового участника 62 | $userId = $data->object->user_id; 63 | 64 | //затем с помощью users.get получаем данные об авторе 65 | $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0")); 66 | 67 | //и извлекаем из ответа его имя 68 | $user_name = $userInfo->response[0]->first_name; 69 | 70 | //С помощью messages.send и токена сообщества отправляем ответное сообщение 71 | $request_params = array( 72 | 'message' => "Добро пожаловать в наше сообщество МГТУ им. Баумана ИУ5 2016, {$user_name}!
" . 73 | "Если у Вас возникнут вопросы, то вы всегда можете обратиться к администраторам сообщества.
" . 74 | "Их контакты можно найти в соответсвующем разделе группы.
" . 75 | "Успехов в учёбе!", 76 | 'user_id' => $userId, 77 | 'access_token' => $token, 78 | 'v' => '5.0' 79 | ); 80 | 81 | $get_params = http_build_query($request_params); 82 | 83 | file_get_contents('https://api.vk.com/method/messages.send?' . $get_params); 84 | 85 | //Возвращаем "ok" серверу Callback API 86 | echo('ok'); 87 | 88 | break; 89 | } 90 | ?> -------------------------------------------------------------------------------- /handler(check join and leave).php: -------------------------------------------------------------------------------- 1 | secret, $secretKey) !== 0 && strcmp($data->type, 'confirmation') !== 0) 21 | return; 22 | 23 | //Проверяем, что находится в поле "type" 24 | switch ($data->type) { 25 | //Если это уведомление для подтверждения адреса сервера... 26 | case 'confirmation': 27 | //...отправляем строку для подтверждения адреса 28 | echo $confirmationToken; 29 | break; 30 | 31 | //Если это уведомление о новом сообщении... 32 | case 'message_new': 33 | //...получаем id его автора 34 | $userId = $data->object->user_id; 35 | //затем с помощью users.get получаем данные об авторе 36 | $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0")); 37 | 38 | //и извлекаем из ответа его имя 39 | $user_name = $userInfo->response[0]->first_name; 40 | 41 | //С помощью messages.send и токена сообщества отправляем ответное сообщение 42 | $request_params = array( 43 | 'message' => "{$user_name}, ваше сообщение зарегистрировано!
" . 44 | "Мы постараемся ответить в ближайшее время.", 45 | 'user_id' => $userId, 46 | 'access_token' => $token, 47 | 'v' => '5.0' 48 | ); 49 | 50 | $get_params = http_build_query($request_params); 51 | 52 | file_get_contents('https://api.vk.com/method/messages.send?' . $get_params); 53 | 54 | //Возвращаем "ok" серверу Callback API 55 | echo('ok'); 56 | 57 | break; 58 | 59 | // Если это уведомление о вступлении в группу 60 | case 'group_join': 61 | //...получаем id нового участника 62 | $userId = $data->object->user_id; 63 | 64 | //затем с помощью users.get получаем данные об авторе 65 | $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0")); 66 | 67 | //и извлекаем из ответа его имя 68 | $user_name = $userInfo->response[0]->first_name; 69 | 70 | //С помощью messages.send и токена сообщества отправляем ответное сообщение 71 | $request_params = array( 72 | 'message' => "Добро пожаловать в наше сообщество МГТУ им. Баумана ИУ5 2016, {$user_name}!
" . 73 | "Если у Вас возникнут вопросы, то вы всегда можете обратиться к администраторам сообщества.
" . 74 | "Их контакты можно найти в соответсвующем разделе группы.
" . 75 | "Успехов в учёбе!", 76 | 'user_id' => $userId, 77 | 'access_token' => $token, 78 | 'v' => '5.0' 79 | ); 80 | 81 | $get_params = http_build_query($request_params); 82 | 83 | file_get_contents('https://api.vk.com/method/messages.send?' . $get_params); 84 | 85 | //Возвращаем "ok" серверу Callback API 86 | echo('ok'); 87 | 88 | break; 89 | 90 | // Если это уведомление о выходе из группы 91 | case 'group_leave': 92 | //...получаем id ушедшего участника 93 | $userId = $data->object->user_id; 94 | 95 | //затем с помощью users.get получаем данные об авторе 96 | $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0")); 97 | 98 | //и извлекаем из ответа его имя 99 | $user_name = $userInfo->response[0]->first_name; 100 | 101 | //С помощью messages.send и токена сообщества отправляем ответное сообщение 102 | $request_params = array( 103 | 'message' => "{$user_name}, нам очень жаль прощаться с вами 😔
" . 104 | "Мы всегда будем ждать Вас в нашей уютной компании.
" . 105 | "Если возникли вопросы - свяжитесь с администратором сообщества
" . 106 | "Константин - https://vk.com/kulakovkostya", 107 | 'user_id' => $userId, 108 | 'access_token' => $token, 109 | 'v' => '5.0' 110 | ); 111 | 112 | $get_params = http_build_query($request_params); 113 | 114 | file_get_contents('https://api.vk.com/method/messages.send?' . $get_params); 115 | 116 | //Возвращаем "ok" серверу Callback API 117 | echo('ok'); 118 | 119 | break; 120 | } 121 | ?> --------------------------------------------------------------------------------