@2gaap

Как автоматом удалять пост со стены группы вконтакте если не сделан репост (защита от спама)?

Есть открытая группа вконтакте, на стену постоянно идет спам и удалять его вручную не дело программиста.

Как написать на php скрипт, чтобы он автоматом удалял посты, если например пользователь не сделал репост определенной записи.
(подразумевается что боты пока не умеют делать репост записи и такая защита от спама должна хорошо себя показать + реклама группы).

Не будет ли такое условие нарушением правил вконтакте?
  • Вопрос задан
  • 942 просмотра
Решения вопроса 1
@2gaap Автор вопроса
На основе вот этого - www.bubasik.com/skript-php-dlya-vkontakta-avto-uda...

Сделал так:
- Callback от группы о новом посте
- Берется id пользователя нового поста и проверяется делал ли он репост поста (которого нужно репостнуть) по wall.getReposts
- Если не делал то пишется комментарий к его посту и через несколько секунд пост удаляется.

$ch_search_vk = curl_init( "https://api.vk.com/method/wall.getReposts?owner_id=-номер_группы&v=5.0&count=100&post_id=номер_поста_который_должны_репостнуть" );
              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_massiv = $search_vk->response->items;

$count_massiv = count($search_result_massiv);

//перебираем массив
    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";
            }
        }


Сделал дополнение, которое проверяет на репост заданной записи, если нет репоста то пишется комментарий от имени группы к посту пользователя а потом через 9 секунд пост пользователя удаляется. Код тут - https://pastebin.com/KjbTd1kz
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы