Dappervolk: Pet Profile Features

Automatically pat and chat with active pet, left and right arrow on keyboard navigate between pets

// ==UserScript==
// @name         Dappervolk: Pet Profile Features
// @description  Automatically pat and chat with active pet, left and right arrow on keyboard navigate between pets
// @namespace    https://gf.qytechs.cn/en/users/547396
// @author       https://gf.qytechs.cn/en/users/547396
// @match        *://dappervolk.com/pet/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=dappervolk.com
// @grant        none
// @license      none
// @version      0.2
// ==/UserScript==

(function() {
    'use strict';

    const pet_nav = document.querySelector('div.pet-navigate-links'),
          message_box = document.createElement('div'),
          pet_pat = document.querySelector('a.pet-pat'),
          pet_chat = document.querySelector('a.pet-chat');

    // append message box
    message_box.style.position = 'fixed';
    message_box.style.top = '2rem';
    message_box.style.right = '2rem';
    document.body.appendChild(message_box);

    // pat and chat, different intervals to reduce errors
    setTimeout( function() {
        patAndChat('pat', pet_pat);
    }, 1200 );

    setTimeout( function() {
        patAndChat('chat', pet_chat);
    }, 2200 );


    // add event listener to body for left/right arrows
    document.addEventListener('keydown', function(e) {
        let back = pet_nav.querySelectorAll('a')[0].href,
            fwd = pet_nav.querySelectorAll('a')[1].href;

        switch (e.keyCode) {
            case 37:
                window.location.href = back;
                break;
            case 39:
                window.location.href = fwd;
                break;
        }
    });

    function patAndChat( parm, action ) {
        let frame_url = action.getAttribute('data-url');
        let active = action.classList.contains('active');

        if (active) {
            const iframe = document.createElement('iframe');
            iframe.id = parm;
            iframe.src = frame_url;
            iframe.width = '1px';
            iframe.height = '1px';
            document.body.appendChild(iframe);
            action.classList.add('disabled');

            let message = document.createElement('div');
            message.innerText = `Pet has been ${parm}`;
            message_box.appendChild(message);
            message.style.padding = '1rem';
            message.style.borderRadius = '0.5rem';
            message.style.background = '#3bb135';
            message.style.color = '#fff';
            message.style.margin = '0 0 1rem 0';

            setTimeout( function() {
                message_box.removeChild(message);
            }, 1500 );
        }
    }

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址