Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //set_time_limit(10800);
- //Header('Content-Type: text/html; charset=utf-8');
- $cache_file_log="log.inc";
- $today = date("H:i:s d-m-Y");
- $log_text = "$today proverka";
- if (!isset($_REQUEST)) {
- return;
- }
- //Строка для подтверждения адреса сервера из настроек Callback API
- $confirmation_token = '1245451';
- //Ключ доступа сообщества
- $token = '112f798451b749e87154545121215454778778857197ef9fb2cde9e018fef9aa51228ae0e566b2';
- //Получаем и декодируем уведомление
- $data = json_decode(file_get_contents('php://input'));
- //Проверяем, что находится в поле "type"
- switch ($data->type) {
- //Если это уведомление для подтверждения адреса сервера...
- case 'confirmation':
- //...отправляем строку для подтверждения адреса
- echo $confirmation_token;
- $log_text = "$today confirmation";
- break;
- //Если это уведомление о новом сообщении на стене...
- case 'wall_post_new':
- //...получаем id его автора
- $user_id = $data->object->from_id;
- $id_post = $data->object->id;
- $text_post = $data->object->text;
- //затем с помощью users.get получаем данные об авторе
- //$user_info = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$user_id}&v=5.0"));
- //и извлекаем из ответа его имя
- //$user_name = $user_info->response[0]->first_name;
- //заисываем лог
- $log_text = "$today new message wall - $user_id, $id_post, $text_post";
- //скрипт проверяет есть ли запись-репост на стене человека
- $search_result="0";
- //если пользователь не владелец группы (пишем номер группы с минусом в начале если пост пишется от имени группы или свой id если от своего)
- if ($user_id!=-4589898) {
- //в строке https://api.vk.com/method/wall.getReposts?owner_id=-123456&v=5.0&count=100&post_id=9999 123456 - номер группы а 9999 номер поста который должны репостить (проверяются люди которые репостнули пост)
- $ch_search_vk = curl_init( "https://api.vk.com/method/wall.getReposts?owner_id=-123456&v=5.0&count=100&post_id=9999" );
- curl_setopt ( $ch_search_vk, CURLOPT_HEADER, false );
- curl_setopt ( $ch_search_vk, CURLOPT_RETURNTRANSFER, true );
- curl_setopt ( $ch_search_vk, CURLOPT_SSL_VERIFYPEER, false );
- $search_vk = curl_exec($ch_search_vk);
- curl_close($ch_search_vk);
- $search_vk=json_decode($search_vk);
- //$search_result = $search_vk->response->items[0]->from_id;
- $search_result_massiv = $search_vk->response->items;
- $count_massiv = count($search_result_massiv);
- //echo "в массиве нашли: $count_massiv<br>";
- //перебираем массив
- for ($i=0; $i<$count_massiv; $i++)
- {
- if ($search_result_massiv[$i]->from_id == $user_id) {
- //нашли совпадение
- $search_result="1";
- $log_text = "$today ok - search_result = $search_result, user id = $user_id, $text_post";
- }
- //echo $search_result_massiv[$i]->from_id . '<br>';
- }
- } else {$search_result="1";}
- if ($search_result!="1") {
- //не нашли, тогда удаляем
- $log_text = "$today dell - search_result = $search_result, user id = $user_id, $text_post";
- //пока предупреждаем в комментарии
- $token_2 = '5454455451212154545646544121245454544545451201'; //это уже токен из самой группы, чтобы от имени группы написать комментарий
- $gruppa_id="-123456"; //номер группы
- //С помощью messages.send и токена сообщества отправляем ответное сообщение
- $request_params = array(
- 'owner_id' => $gruppa_id,
- 'post_id' => $id_post,
- 'access_token' => $token_2,
- 'from_group' => '1',
- 'message' => 'Сделайте репост, иначе Ваше сообщение будет удалено через 9 секунд - https://vk.com/grupname?w=wall-123456_9999',
- 'v' => '5.0'
- );
- $get_params = http_build_query($request_params);
- $ch = curl_init( 'https://api.vk.com/method/wall.createComment?'. $get_params );
- curl_setopt ( $ch, CURLOPT_HEADER, false );
- curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
- curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
- $data = curl_exec($ch);
- curl_close($ch);
- sleep(9);
- //формируем запрос удалений поста со стены
- $request_params = array(
- 'owner_id' => $gruppa_id,
- 'post_id' => $id_post,
- 'access_token' => $token_2,
- 'v' => '5.0'
- );
- $get_params = http_build_query($request_params);
- $ch = curl_init( 'https://api.vk.com/method/wall.delete?'. $get_params );
- curl_setopt ( $ch, CURLOPT_HEADER, false );
- curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
- curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
- //curl_setopt ( $ch, CURLOPT_POST, true );
- //curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
- $data = curl_exec($ch);
- curl_close($ch);
- }
- //проверяем есть ли плохое слово в тексте и если есть то удаляем пост
- $bad_word = "секс,порно,размером,безoткaзный,paзвеcти,тeлочкy,пeнис,оргазм,нaсилуeт,развратная,чпокнул,трах,пенис,член,ceкc,сeкc,куни,cекc,члeн,cекс,сосать,сyчка,сeкс";
- $bad_word_massiv = explode(",", $bad_word);
- $bad_word_count=count($bad_word_massiv);
- $text_post = mb_strtolower($text_post, 'UTF-8');
- $nashli_plohoe_slovo = "";
- for($i=0;$i<$bad_word_count;$i++) {
- if ( strstr($text_post, $bad_word_massiv[$i]) ) {$nashli_plohoe_slovo="1";}
- }
- //если длина поста меньше 6 символов
- if ( strlen(utf8_decode($text_post))<6 ) {$nashli_plohoe_slovo="1";}
- if ($nashli_plohoe_slovo=="1") {
- //echo "нашли плохое слово";
- //Ключ доступа сообщества
- $token_2 = '5454455451212154545646544121245454544545451201';
- $gruppa_id="-123456";
- //$id_post="19016";
- //удаляем пост с плохими словами
- $request_params = array(
- 'owner_id' => $gruppa_id,
- 'post_id' => $id_post,
- 'access_token' => $token_2,
- 'v' => '5.0'
- );
- $get_params = http_build_query($request_params);
- $ch = curl_init( 'https://api.vk.com/method/wall.delete?'. $get_params );
- curl_setopt ( $ch, CURLOPT_HEADER, false );
- curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
- curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
- //curl_setopt ( $ch, CURLOPT_POST, true );
- //curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
- $data = curl_exec($ch);
- curl_close($ch);
- //echo $data;
- $log_text = "$today new message wall - $user_id, $id_post, $text_post - плохое, удаляем";
- }
- //if ( strstr($text_post, $bad_word) ) {echo "нашли плохое слово";} else {echo "не нашли";}
- //Возвращаем "ok" серверу Callback API
- echo('ok');
- break;
- }
- //записываем лог
- $fp=fopen("$cache_file_log","a");
- fwrite($fp, "\r\n" . "$log_text");
- fclose($fp);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement