您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Track if there are tickets available from the currently selected shop3.ticketscript.com page. Usage: keep the ticketsscript page open on the desired event.
// ==UserScript== // @name Ticketscript tracker // @namespace http://tampermonkey.net/ // @version 0.2 // @description Track if there are tickets available from the currently selected shop3.ticketscript.com page. Usage: keep the ticketsscript page open on the desired event. // @author HIJOROCI // @match https://shop3.ticketscript.com/channel/html/get-products/rid/*/eid/*/date/*/tsid/*/sid/*/language/nl?referrer=&sourcepageurl=* // @match https://shop3.ticketscript.com/channel/html/get-products/rid/*/eid/*/date/*/tsid/*/sid/0/language/nl* // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest // @connect api.pushover.net // ==/UserScript== // settings // Should the messages be sent to pushover? var pushtopushover = true; // Show an alert on desktop? var desktopnotify = true; // Pushover settings: // Create an account and an app on https://pushover.net/ to receive push messages on your mobile var token =""; var userkey = ""; function notify(source, userName, status) { var dt = new Date(); var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds(); var message = source +" | " + userName +" | " + time + " | "+ status; if(desktopnotify) { if (Notification.permission !== "granted") Notification.requestPermission(); else { var n = new Notification(time, { icon: 'https://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png', body: status, silent: false }); playSound(); } } // also push to pushover if status contains a user if(!!userName && pushtopushover && !!token && !!userkey) { var title= userName +": " + status; pushToPushOver(title, message); } } function pushToPushOver(title,message) { var json_data=JSON.stringify ({ token : token, user : userkey, message : message, title : title}); GM_xmlhttpRequest({ method: "POST", url: "https://api.pushover.net/1/messages.json", data: json_data, headers: { "Content-Type": "application/json" }, onload: function (response) { console.log ("post response: " + response.responseText); } }); } function playSound() { window.AudioContext = window.AudioContext || window.webkitAudioContext; context = new AudioContext(); var o = context.createOscillator(); o.type = 'sine'; o.frequency.value = 261.63; o.connect(context.destination); o.start(0); setTimeout(function() { o.stop(0); context.close(); }, 100); } function refreshPage() { window.location.reload(true); } (function() { 'use strict'; // request permission on page load document.addEventListener('DOMContentLoaded', function () { if (!Notification) { alert('Desktop notifications not available in your browser. Try Chromium.'); return; } if (Notification.permission !== "granted") Notification.requestPermission(); }); //if (window.top === window.self) { //--- Script is on domain_B.com when/if it is the MAIN PAGE. //} //else { //--- Script is on domain_B.com when/if it is IN AN IFRAME. if($(".tickets .ticket").length > 0 ) { var done= false; $(".tickets .ticket").each(function(){ if(!$(this).hasClass('inactive')) { done=true; notify("TS","TicketScript","Tickets Available"); } }); if(!done) { setTimeout(refreshPage, 10000); } }else { // no tickets available, refresh setTimeout(refreshPage, 10000); } //} })();