Скрипт спамминга в вк группы

В общем ситуация такая, завел я свой сервер RUST. И покопавшись немного в дебрях ВК понял, что есть группы до потолочка забитые постами о серверах RUST. Как честный гражданин решил немного попиарить свой сервер и покидал посты на стенку сообществ. Через время я понял что это достаточно скучное дело. И реши как всегда решить автоатизировать, накидав небольшой скриптец постинга в кучу групп вк. Сказано, сделано. А потом подумал, а почему бы не поделиться своей наработкой с другими modx разработчиками? В общем держите скрипт сниппета postingVk (в приницпе можно постить и на группу сообщества).

Скриптец реально простенький и накидан на скорую руку.

<?php
$groupList = '88142726,92512035'; // вносим список групп через запятую
$idRes = 1; // идентификатор документа где будет поле для сохранения списка групп
$tv = ''; // название поля для сохранения списка групп
$token = ''; // токен приложения вк, как получить токен можно подсмотреть здесь http://docs.modx.pro/components/msocial/msocialvk.
$groupList = explode(',', $groupList);

$res = $modx->getObject('modResource', $idRes);
foreach($groupList as $key => $val){
    $groupListKeys[$val] = 1;
}
$groupActList = json_decode($res->get('introtext'), true);

if(count($groupListKeys) <= count($groupActList)){
    echo count($groupListKeys).' '.count($groupActList); 
    $res->set($tv,'');
    $res->save();
    exit;
}

if($groupActList == ''){
    $groupActList = array();
}

foreach($groupListKeys as $key => $val){
    
    if(!isset($groupActList[$key])){
        $groupActList[$key] = 1;
	    $res->set($tv, json_encode($groupActList));
            $res->save();
        
        $param = array('owner_id' => '-'.$key, 
        'message' => 'Новый сервер RUST experemental, [RU] Moscow Rusting, попробуй.
Подключайся: connect 194.87.145.38:28015
Ищешь нормальный КЛАССИЧЕСКИЙ steam сервер RUST без модов и тому подобной шелухи?
Тогда ты зашел по адресу. У нас именно такой сервер .
Работам 24/7 онлайн.
Админ 25+.
Наша группа https://vk.com/moscowrusting
Только [RU] Moscow Rusting, только хардкор.', 
        'access_token' => $token);
					 
        $url = 'https://api.vk.com/method/wall.post';
		
		$options = array(
	        CURLOPT_RETURNTRANSFER => true,
	        CURLOPT_HEADER => false, 
	        CURLOPT_FOLLOWLOCATION => true,   
	        CURLOPT_ENCODING => "",     
	        CURLOPT_USERAGENT => "mSocial",
	        CURLOPT_AUTOREFERER => true,  
	        CURLOPT_CONNECTTIMEOUT => 120,    
	        CURLOPT_TIMEOUT => 120,    
	        CURLOPT_MAXREDIRS => 10, 
	        CURLOPT_SSL_VERIFYPEER => false,
			CURLOPT_POSTFIELDS => $param
	    );
		
		$ch = curl_init( $url );
	    curl_setopt_array( $ch, $options );
	    $curlResult = curl_exec( $ch );
		
		$return = json_decode($curlResult);
		
	    print_r($return);
		
	    curl_close( $ch );
	    
	    exit;
    }
}
exit;
Все создаем документ, добавляем вызов созданного сниппета и кидаем на него крон, например у меня постится каждую минуту. Хочу заметить что на количество групп в вк действует ограничение. Максимум их должно быть около ста. Если больше то не будет ошибка.

Всех благ.

ps: если такие вещи реально полезны отпишите в комментах. Я учту и когда появится новая такая вещица и станет вопрос размещать её или нет, я точно буду знать.

pss: через три дня вк выдал предупреждение от том что с моего аккаунта шлются сообщения. Так что думаю есть шанс того что акк могут заблокировать, будьте внимательны. Лучше создайте левый аккаунт.
Павел Карелин
18 марта 2016, 21:37
modx.pro
17
7 233
+10

Комментарии: 19

brioni
19 марта 2016, 10:12
0
Интересная наработка, спасибо!
Развивать конечно надо — маркетинг сейчас не оправдано дорогой и выход за подобными решениями.
Например, можно добавить автопостинг (share) новых ресурсов сайта по тематическим группам и собирать целевые переходы не дожидаясь индексации документа…

Я правильно понял, что стена в группах должна быт открытой, а во время crone публикация происходит: один id из списка $groupList от имени залогиненнного в данный момент пользователя?
    Павел Карелин
    19 марта 2016, 13:33
    0
    Я накидал просто для себя))) Мне в принципе хватает. Поделился вдруг кому то тоже подойдет
      brioni
      19 марта 2016, 13:36
      0
      А принцип работы я верно изложил?
      И для чего вот этот параметр служит:
      $tv = ''; // название поля для сохранения списка групп
      если есть:
      $groupList = '88142726,92512035'; // вносим список групп через запятую
        Павел Карелин
        19 марта 2016, 13:42
        +1
        В $tv хранится список групп в которые уже постинг прошел, то есть скрипт по очереди постит во все группы из списка $groupList и сохраняет в поле tv с названием $tv. Можно было сделать и через сессию, но я сделал так. Что бы отслеживать список групп в которые запостилось все.
          brioni
          19 марта 2016, 13:43
          0
          Ясно, спасибо.
            brioni
            19 марта 2016, 17:05
            0
            Хочу заметить что на количество групп в вк действует ограничение. Максимум их должно быть около ста.
            Сколько делаешь перерыв, прежде чем запустить еще 100?
              Павел Карелин
              19 марта 2016, 18:10
              1
              0
              Ни сколько. Скрипт не размещает 100 постов в минуту. Он постит 1 сообщение в минуту. Если поставить крон на 1 минуту.
                brioni
                19 марта 2016, 18:15
                0
                То есть после 100 постов скрипт (крон) можно не останавливать, а добавить ID следующих (других) 100 групп и постинг продолжится без угрозы бана ВК?
                  Павел Карелин
                  19 марта 2016, 19:00
                  0
                  100 групп максимум для одного аккаунта. Бана не будет, просто он постить не будет в 101 группу. У меня на сайте скрипт постит без остановки вот уже 3 день. Пока не забанили. Да и банить тут не за что.
      ck
      ck
      19 марта 2016, 12:22
      0
      Есть уже весьма недорогой компонент для постинга в VK с базовым постингом в твиттер. Отлично работает. Автор применил модульную структру. Ждём от него другиx соц.сетей.
        Павел Карелин
        19 марта 2016, 13:33
        0
        Ну как бы я в курсе, потому что я его автор)))
          ck
          ck
          19 марта 2016, 13:35
          0
          Да, не обратил внимания :)
          Когда ждать фейсбук и одноклассники?
            Павел Карелин
            19 марта 2016, 13:37
            0
            фб уже скоро осталось доработать выгрузку изображений. Однокласники пока под вопросом. Может быть в будущем, там у них очень веселая система регистрации и активации приложений.
              Максим Рогальский
              23 марта 2016, 10:18
              0
              а Telegram в планах присутствуют?
                Павел Карелин
                23 марта 2016, 11:13
                0
                Telegram месенджер, а не соцсеть. Так что нет.
                  brioni
                  23 марта 2016, 12:50
                  0
                  Сегодня месенджер — завтра соц сеть :)
                  Вот заголовок официальной страницы Telegram telegram-online.ru/
                  Telegram Messenger — новая социальная сеть от Павла Дурова
                    Павел Карелин
                    23 марта 2016, 14:03
                    0
                    У меня есть большие сомнения что она от Павла Дурова))) Дешевая реклама, поехавшая верстка, не похоже на грандиозный проект)))
                    Максим Рогальский
                    23 марта 2016, 18:33
                    0
                    Да. Мессенджер с поддержкой пабликов, например, таких -https://telegram.me/nsmag
                    Думаю возможность поста в паблик была бы востребованной в будущем )))
            Павел Карелин
            19 марта 2016, 13:36
            +1
            Тут фишка немного другая, там все красиво и нет постинга по крону. К теме фб уже на подходе)))
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            19