Во-первых, для чего это: бывает, нужно дать знать участникам сообщества о том, что отныне новости будут выкладываться в другом месте. Если делать упоминания пользователей на стене сообщества или массово рассылать сообщения в л/с — это может быть воспринято как спам с последующим баном.
Во-вторых, логика и принципы работы скрипта: при первом запуске заносятся в ч/с сообщества первые 10 аккаунтов, с наиболее короткими id (так называемые «малознаки»). Рядом в файл записывается значение смещения, с тем, чтобы при последующем выполнении скрипта в ч/с занести уже второй десяток пользователей… и так далее. По умолчанию срок блокировки — 142 дня. Конечно, можно блокировать и навсегда, но при таком раскладе пользователи будут одновременно исключаться из сообщества и по-сути никогда не увидят предназначенное им сообщение (горстку фанатиков, которые будут повторно искать сообщество через поиск — во внимание не беру).
Использование: хостинг с cronjob и php 5.4(5.6), ставим на крон каждую минуту и наслаждаемся результатом. Настройки находятся в начале файла.
Наглядно, результат:

Собственно код:
Скачать: blacklistandmessage.zip
P.S. Возможно будет полезно:
— что такое токен анкеты вКонтакте и для чего он используется;
— регистрация и использование хостинга бегет в картинках.
Во-вторых, логика и принципы работы скрипта: при первом запуске заносятся в ч/с сообщества первые 10 аккаунтов, с наиболее короткими id (так называемые «малознаки»). Рядом в файл записывается значение смещения, с тем, чтобы при последующем выполнении скрипта в ч/с занести уже второй десяток пользователей… и так далее. По умолчанию срок блокировки — 142 дня. Конечно, можно блокировать и навсегда, но при таком раскладе пользователи будут одновременно исключаться из сообщества и по-сути никогда не увидят предназначенное им сообщение (горстку фанатиков, которые будут повторно искать сообщество через поиск — во внимание не беру).
Использование: хостинг с cronjob и php 5.4(5.6), ставим на крон каждую минуту и наслаждаемся результатом. Настройки находятся в начале файла.
Наглядно, результат:

Собственно код:
<?php $token = '7cb754317a9f52a9ea0'; // токена начальника $guid = '98910410'; // цифровой айди сообщества $message = "Наш новый адрес: vk.com/hmoody"; // сообщение пользователю для ч/с $timer = "12345678"; // бан на 142 дня. бан на сутки 86400, бан на неделю неделю 604800, бан на месяц 2629743. но не больше чем на год 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; } $cur_unix = time(); $timeblock = $cur_unix + $timer; $encoded_message = urlencode($message); $ridding_inis = fopen('bginis.txt', 'r'); $uns_inis = fgets($ridding_inis, 32096); fclose($ridding_inis); $inis = unserialize($uns_inis); if (is_array($inis)) { $offset = (int) $inis[set]; $getuids = vkapi('groups.getMembers?group_id='.$guid.'&sort=id_asc&count=10&offset='.$offset.'&access_token='.$token.'&v=5.59'); $list_json = json_decode($getuids, true); $list_rslt = $list_json['response']['items']; foreach ($list_rslt as $ruid) { $gotoban = vkapi('groups.banUser?group_id='.$guid.'&user_id='.$ruid.'&end_date='.$timeblock.'&reason=0&comment='.$encoded_message.'&comment_visible=1&access_token='.$token.'&v=5.62'); usleep(335000); set_time_limit(30); } $inis[set] = $offset + 10; $ss_inis = serialize($inis); $winis = fopen("bginis.txt", "w+b"); fwrite($winis,$ss_inis); fclose($winis); } else { $offset = '0'; $getuids = vkapi('groups.getMembers?group_id='.$guid.'&sort=id_asc&count=10&offset='.$offset.'&access_token='.$token.'&v=5.59'); $list_json = json_decode($getuids, true); $list_rslt = $list_json['response']['items']; foreach ($list_rslt as $ruid) { $gotoban = vkapi('groups.banUser?group_id='.$guid.'&user_id='.$ruid.'&end_date='.$timeblock.'&reason=0&comment='.$encoded_message.'&comment_visible=1&access_token='.$token.'&v=5.62'); usleep(335000); set_time_limit(30); } $inis[set] = 10; $ss_inis = serialize($inis); $winis = fopen("bginis.txt", "w+b"); fwrite($winis,$ss_inis); fclose($winis); } ?>
Скачать: blacklistandmessage.zip
P.S. Возможно будет полезно:
— что такое токен анкеты вКонтакте и для чего он используется;
— регистрация и использование хостинга бегет в картинках.
0 комментариев