Chain Notification Alert

to watch chain under 1:30 and you can change time as you want

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

Advertisement:

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

Advertisement:

// ==UserScript==
// @name         Chain Notification Alert
// @version      1.4
// @description  to watch chain under 1:30 and you can change time as you want
// @author       cold_zero [4077634]
// @match        https://www.torn.com/*
// @namespace    http://tampermonkey.net/
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

// ask for permission
    if (Notification.permission !== "granted") {
        Notification.requestPermission();
    }

    let notificationSent = false;

    function showNotification() {
        if (Notification.permission === "granted" && !notificationSent) {
            new Notification("Warning Torn", {
                body: "Chain is 1:30",
                icon: "https://www.torn.com/favicon.ico" 
            });
            let audio = new Audio('https://www.soundjay.com/buttons_c2026/sounds/button-3.mp3');
            audio.play();
            notificationSent = true;
        }
    }

    function checkTimer() {
        const timeLeftElement = document.querySelector('[class*="bar-timeleft"], [class*="barDescWrapper"]');

        if (timeLeftElement) {
            const timeText = timeLeftElement.innerText.trim();

            if (timeText === "01:30") {
                showNotification();
            } else {
                notificationSent = false;
            }

            if (timeText.startsWith("00:0")) {
                timeLeftElement.style.color = "red";
                timeLeftElement.style.fontWeight = "bold";
                timeLeftElement.style.fontSize = "large";
            }
        }
    }

    setInterval(checkTimer, 1000);
})();