├── 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 | ?>
--------------------------------------------------------------------------------