// ==UserScript== // @name JP Clock in Discord Status // @namespace lamp@qonq.gq // @version 1 // @author Lamp // @match https://discord.com/* // @grant none // @run-at document-start // ==/UserScript== var TOKEN = JSON.parse(localStorage.token); var qloqqs = new Map([ ["12:0", 'πŸ•›'], ["12:30", 'πŸ•§'], ["1:0", 'πŸ•'], ["1:30", 'πŸ•œ'], ["2:0", 'πŸ•‘'], ["2:30", 'πŸ•'], ["3:0", 'πŸ•’'], ["3:30", 'πŸ•ž'], ["4:0", 'πŸ•“'], ["4:30", 'πŸ•Ÿ'], ["5:0", 'πŸ•”'], ["5:30", 'πŸ• '], ["6:0", 'πŸ••'], ["6:30", 'πŸ•‘'], ["7:0", 'πŸ•–'], ["7:30", 'πŸ•’'], ["8:0", 'πŸ•—'], ["8:30", 'πŸ•£'], ["9:0", 'πŸ•˜'], ["9:30", 'πŸ•€'], ["10:0", 'πŸ•™'], ["10:30", 'πŸ•₯'], ["11:0", 'πŸ•š'], ["11:30", 'πŸ•¦'] ]); // dumb var hours = `ι›Άζ™‚ δΈ€ζ™‚ δΊŒζ™‚ δΈ‰ζ™‚ ε››ζ™‚ δΊ”ζ™‚ ε…­ζ™‚ δΈƒζ™‚ ε…«ζ™‚ 九時 十時 十一時`.split('\n'); var minutes = ` δΈ€εˆ† δΊŒεˆ† δΈ‰εˆ† ε››εˆ† δΊ”εˆ† ε…­εˆ† δΈƒεˆ† ε…«εˆ† δΉεˆ† εεˆ† εδΈ€εˆ† εδΊŒεˆ† εδΈ‰εˆ† εε››εˆ† εδΊ”εˆ† εε…­εˆ† εδΈƒεˆ† εε…«εˆ† εδΉεˆ† δΊŒεεˆ† 半 δΊŒεδΊŒεˆ† δΊŒεδΈ‰εˆ† δΊŒεε››εˆ† δΊŒεδΊ”εˆ† δΊŒεε…­εˆ† δΊŒεδΈƒεˆ† δΊŒεε…«εˆ† δΊŒεδΉεˆ† δΈ‰εεˆ† δΈ‰εδΈ€εˆ† δΈ‰εδΊŒεˆ† δΈ‰εδΈ‰εˆ† δΈ‰εε››εˆ† δΈ‰εδΊ”εˆ† δΈ‰εε…­εˆ† δΈ‰εδΈƒεˆ† δΈ‰εε…«εˆ† δΈ‰εδΉεˆ† ε››εεˆ† ε››εδΈ€εˆ† ε››εδΊŒεˆ† ε››εδΈ‰εˆ† ε››εε››εˆ† ε››εδΊ”εˆ† ε››εε…­εˆ† ε››εδΈƒεˆ† ε››εε…«εˆ† ε››εδΉεˆ† δΊ”εεˆ† δΊ”εδΈ€εˆ† δΊ”εδΊŒεˆ† δΊ”εδΈ‰εˆ† δΊ”εε››εˆ† δΊ”εδΊ”εˆ† δΊ”εε…­εˆ† δΊ”εδΈƒεˆ† δΊ”εε…«εˆ† δΊ”εδΉεˆ†`.split('\n'); function qloq(hours, minutes) { if (minutes < 15) { minutes = 0; } else if (minutes >= 15 && minutes < 45) { minutes = 30; } else if (minutes >= 45) { minutes = 0; hours += 1; if (hours > 12) hours = 1; } return qloqqs.get(`${hours}:${minutes}`); } function date2jp(d) { return "今は" + (d.getHours() >= 12 ? "午後" : "εˆε‰") + hours[d.getHours()%12] + minutes[d.getMinutes()] + "γ γ‚ˆ"; } function setStatus(emoji_name, text) { fetch("https://discord.com/api/v8/users/@me/settings", { "headers": { "authorization": TOKEN, "content-type": "application/json", }, "body": JSON.stringify({ custom_status: {text, emoji_name} }), "method": "PATCH" }); } (function toq() { var d = new Date(); var timeStringNow = d.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }); var g = timeStringNow.substr(0,timeStringNow.indexOf(' ')).split(':'); setStatus(qloq(Number(g[0]), Number(g[1])), date2jp(d)); d.setMinutes(d.getMinutes() + 1); d.setSeconds(0); setTimeout(toq, d - Date.now()); })();