fryecest / Собачка

// ==UserScript==
// @name         Собачка
// @version      1.0
// @description  Мод, упрощающий отслеживание собаки
// @author       fryecest
// @match        http*://*.catwar.su/*
// @license      MIT
// @copyright    2022, литр ( catwar.su/cat115907 )
// @require      https://code.jquery.com/jquery-3.6.0.min.js
// @updateURL    https://openuserjs.org/meta/fryecest/Собачка.meta.js
// @downloadURL  https://openuserjs.org/install/fryecest/Собачка.user.js
// ==/UserScript==

$(function() {
    // основные данные
    let pageLocation = window.location.href; // адрес страницы
    const game = (/^https?:\/\/\w?\.?catwar.su\/cw3/.test(pageLocation)); // проверка на страницу игровой

    // глобальные переменные, чтобы не создавать их каждый раз, когда работает таймер
    var dog_name; // для доступа имени собаки вне таймера
    var alertdata; // для записи кода алерта

    function dog_update() {
        $.get('/cat7266', function(data) { // генерируем ajax-запрос в профиль собаки
            const temp = $("<div/>", { html: data }); // получаем данные из профиля собаки
            dog_name = temp.find('big').first().text(); // забираем имя собаки
            alertdata = `<span id='dog-span'><a href='/cat7266' id='dog-link' target='_blank'>`+dog_name+`</a></span>`;
        });
    }

    dog_update(); // первое обновление собаки

    function dog_load() { // функция первой загрузки состояния собаки
        console.log(alertdata);
        if (game) $("span.small").append(' | '+alertdata); // вставка ссылки в верхнюю строку
        else $("#footer").prepend(alertdata+' | '); // вставка ссылки после шапки
    }

    function dog_reload() {
        dog_update(); // обновление статуса собаки
        $('#dog-link').text(dog_name); // смена текста в ссылке на собаку
    }

    setTimeout(function() {dog_load()}, 3000); // первая загрузка собаки
    setInterval(function() {dog_reload()}, 10000); // обновление собаки раз в 10 секунд
});