Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Starpets RUB Converter
- // @namespace http://tampermonkey.net/
- // @version 1.0
- // @description Convertit le solde RUB en USD et EUR sur starpets.gg
- // @author Vous
- // @match https://starpets.gg/*
- // @grant GM_xmlhttpRequest
- // @grant GM_addStyle
- // ==/UserScript==
- (async function() {
- 'use strict';
- // Fonction pour vérifier la présence de l'élément
- function waitForElement(selector) {
- return new Promise((resolve) => {
- const interval = setInterval(() => {
- const element = document.querySelector(selector);
- if (element) {
- clearInterval(interval);
- resolve(element);
- }
- }, 100); // Vérifie toutes les 100 ms
- });
- }
- // Attendre que l'élément contenant le solde en RUB soit disponible
- const balanceSelector = '._title_fg9xm_23';
- const balanceElement = await waitForElement(balanceSelector);
- // Extraction du montant RUB
- const rubText = balanceElement.textContent.replace(/[^\d.,]/g, '').replace(',', '.');
- const rubAmount = parseFloat(rubText);
- if (isNaN(rubAmount)) return;
- // URL de l'API pour obtenir les taux de change
- const apiUrl = 'https://open.er-api.com/v6/latest/RUB';
- try {
- // Récupération des taux de change
- const res = await fetch(apiUrl);
- const data = await res.json();
- if (res.status === 200 && data.result === "success") {
- const usdRate = data.rates.USD;
- const eurRate = data.rates.EUR;
- if (usdRate && eurRate) {
- const usdValue = (rubAmount * usdRate).toFixed(2);
- const eurValue = (rubAmount * eurRate).toFixed(2);
- // Création d'un élément HTML pour afficher la conversion avec le symbole ₽
- const usdElem = document.createElement('div');
- usdElem.style.marginTop = '5px';
- usdElem.style.fontSize = '14px';
- usdElem.style.color = '#00c896';
- usdElem.textContent = `≈ ${usdValue} USD / ${eurValue} EUR`;
- // Ajout de la conversion sous le solde en RUB
- balanceElement.parentNode.appendChild(usdElem);
- } else {
- console.error("Taux de change USD ou EUR introuvables.");
- }
- } else {
- console.error("Erreur de récupération des taux de change.");
- }
- } catch (error) {
- console.error('Erreur API:', error);
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement