Спасибо пользователю по имени Александр, который натолкнул меня на эту идею:
Не знаю, как насчёт нескольких секунд, но если поставить небольшой скрипт на крон каждую минуту — то всё происходит успешно.
Вариации на тему запуска каждые 5 или 10 секунд — имеют право на существование (через цикл do while и sleep 10, например), но я не знаю как отнесётся Вконтакте к такому поведению.
Важно: в качестве группы-донора, которая захватит нужный урл, следует брать сообщество, ранее никогда не имевшее короткий чпу урл, т.к. при первом изменении вКонтакте ничего не спрашивает и позволяет изменить адрес, а вот вторая попытка, спустя примерно два часа натолкнулась на просьбу подтвердить действие по смс.
Ну и конечно же — токен от аккаунта, администратора вашей группы, должен быть с правами groups и пройти валидацию ip адреса, с которого будет запускаться (пара слов об ошибке Validation required: please open redirect_uri in browser).
Собственно код:
Скачать: zohvat.zip
Интересующий меня домен группы сейчас занят, в ближайшее время (неизвестно когда) администратор группы захочет перенести домен в другую группу, на это ему потребуется буквально несколько секунд, именно в эти несколько секунд нужно успеть занять домен в заранее подготовленную группу.
Не знаю, как насчёт нескольких секунд, но если поставить небольшой скрипт на крон каждую минуту — то всё происходит успешно.
Вариации на тему запуска каждые 5 или 10 секунд — имеют право на существование (через цикл do while и sleep 10, например), но я не знаю как отнесётся Вконтакте к такому поведению.
Важно: в качестве группы-донора, которая захватит нужный урл, следует брать сообщество, ранее никогда не имевшее короткий чпу урл, т.к. при первом изменении вКонтакте ничего не спрашивает и позволяет изменить адрес, а вот вторая попытка, спустя примерно два часа натолкнулась на просьбу подтвердить действие по смс.
Ну и конечно же — токен от аккаунта, администратора вашей группы, должен быть с правами groups и пройти валидацию ip адреса, с которого будет запускаться (пара слов об ошибке Validation required: please open redirect_uri in browser).
Собственно код:
<?php //**** ЗОХВАТ УРЛ $token = '401c81f83e713f7d2efcc9e626ea7896d9c743a5'; // токена начальника $needguid = '11626504'; // цифровой айди группы которую проверяем $needurl = 'club_of_loves'; // урл который мы хотим забрать у группы $myguid = '13191407'; //цифровой айди СВОЕЙ группы которая лежит про запас //********** РАБОЧИЙ ТЕЛО СКРИПТА НЕ ТРОГАЙ ПАЖАЛУСТА ЖАМШУТ ПРОСИТ ОЧИНЬ //Жамшут тыстирует токин нашальника $setonline = vkapi('account.setOnline?access_token='.$token.'&v=5.59'); $setonlinejson = json_decode($setonline, true); $statuss = $setonlinejson['response']; echo "Атвет - $statuss если Атвет - ОДИН то всё харашо если ответ абракадабра тебе- сюда http://makag.ru/2016/09/14/reshenie-problemy-privyazki-access-token-k-aypi-adresu-obhod-validation-required-please-open-redirect-uri-in-browser.html "; //Работаим дальше проверяем может уже зохват произошол ? $getshortmy = vkapi('groups.getById?group_id='.$myguid.'&access_token='.$token.'&v=5.59'); $decode_getshortmy = json_decode($getshortmy, true); $screen_namemy = $decode_getshortmy['response']['0']['screen_name']; $proverkamy = strcasecmp($screen_namemy, $needurl); if ($proverkamy <> 0) // Если зохват еще не состоялся то проверяем урл чужой группы { $getshort = vkapi('groups.getById?group_id='.$needguid.'&access_token='.$token.'&v=5.59'); $decode_getshort = json_decode($getshort, true); $screen_name = $decode_getshort['response']['0']['screen_name']; echo "Жамжут работаит на нашальника .. ждёть .. жди и ты нашальника... "; //проверяем как нащот изменения $proverka = strcasecmp($screen_name, $needurl); if ($proverka <> 0) { $zohvat = vkapi('groups.edit?group_id='.$myguid.'&screen_name='.$needurl.'&access_token='.$token.'&v=5.59'); echo "ТЕСТОВЫЙ малинький зохват СВЕРШИЛОСЬ ПОВЕЛИТЕЛЬ !!! "; } } if ($proverkamy == 0) {echo "ЗОХВАТ СВЕРШИЛСЯ ПОВЕЛИТЕЛЬ !!! ";} function vkapi($method) { $ch = curl_init("https://api.vk.com/method/".$method); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); $response = curl_exec($ch); curl_close($ch); return $response; } ?>
Скачать: zohvat.zip
0 комментариев