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);
})();