Greasy Fork is available in English.

Web Tycoon Anti Spam

Автоматически удаляет спам с сайтов

Verzia zo dňa 02.11.2018. Pozri najnovšiu verziu.

// ==UserScript==
// @name         Web Tycoon Anti Spam
// @namespace    Web Tycoon Anti Spam
// @version      1.00.0
// @description  Автоматически удаляет спам с сайтов
// @match        https://game.web-tycoon.com/*
// @grant        none
// @require      https://code.jquery.com/jquery-3.3.1.min.js
// @author       Agor71
// ==/UserScript==
// Email для связи с автором: kimdmitry2008@gmail.com

(function() {
    'use strict';


    //Блок переменных
    let player_data,//Переменная для хранения данных о компании в целом
        token = localStorage.token,//токен, записываемый игрой в хранилище
        ts = +($.now() / 1000).toFixed(),//Переменная для хранения текущего момента времени в серверном формате
        player_id = localStorage.userId;//Айдишка игрока. Используется во всех ajax запросах


    request_data();//Запускаем скрипт на выполнение


    function request_data() {
        token = localStorage.token;//обновляем токен
        ts = +($.now() / 1000).toFixed();//обновляем время

        $.ajax({
            url: 'https://game.web-tycoon.com/api/users/' + player_id + '/init?access_token=' + token + '&ts=' + ts,
            success: function (response) {
                player_data = response;//запись ответа сервера для дальнейшей обработки подфункциями

                delete_spam();//Чистим от спама

                //Рекурсивно замыкаем функцию на себя
                setTimeout(function() { request_data(); }, 120000);
            },
            error: function() {
                setTimeout(function() { request_data(); }, 15000);
            }
        })
    }


    //Функция для удаления спама. Проходит по всем сайтам, ищет ссылки с признаком спама. Как находит - удаляет
    function delete_spam() {
        for (let site in player_data.sites){
            let site_status = player_data.sites[site].status;//Статус сайта позволяет отделить неработающие от работающих

            if (site_status == 1){
                let site_links = player_data.sites[site].links,
                    site_id = player_data.sites[site].id,
                    site_domain = player_data.sites[site].domain;

                for (let link in site_links){
                    let domain_from = site_links[link].fromDomain;//С какого сайта исходит ссылка. Удаляем только те, где с собственного сайта игрока идёт спам

                    if (site_links[link].type == 2 && domain_from == site_domain){
                        $.ajax({
                            url: 'https://game.web-tycoon.com/api/links/' + player_id + '/' + site_id + '/spam?access_token=' + token + '&ts=' + ts,
                            type: 'delete'
                        });
                        return;//Прерываем выполнение функции, чтобы не плодить запросы
                    }
                }
            }
        }
    }

})();