// ==UserScript== // @name 巴哈姆特自動簽到(含公會) // @namespace https://home.gamer.com.tw/moontai0724 // @version 3.3.1 // @description 巴哈姆特自動簽到(含公會) by.moontai0724 // @author moontai0724 // @match https://*.gamer.com.tw/* // @grant GM_xmlhttpRequest // @connect www.gamer.com.tw // @connect guild.gamer.com.tw // @supportURL https://home.gamer.com.tw/creationDetail.php?sn=3852242 // @downloadURL none // ==/UserScript== (function () { 'use strict'; // 是否自動簽到公會?如不需要自動簽到公會,請將下方 signguild 變數 true 改為 false var signguild = true; // 作者的話:本人僅於 Chrome 上測試,照理說應能通用,但如有錯誤,將不提供其他瀏覽器的完全支援與改動。 // (如果有錯誤還是可以回報,也許某天會改動。) // ---------------------------------------------------------------------------------------------------- // 程式開始 var LastAutoSignTime = localStorage.getItem('LastAutoSignTime') ? Number(localStorage.getItem('LastAutoSignTime')) : 0; var now = new Date(); var today = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime(); if (!(today < LastAutoSignTime && LastAutoSignTime < today + 86400000)) { checkSign().then(data => { switch (data.signin) { case 1: console.log("Signed", data); if (!signguild) localStorage.setItem('LastAutoSignTime', (new Date()).getTime()); break; case 0: startSign().then(data => console.log(data)); if (!signguild) localStorage.setItem('LastAutoSignTime', (new Date()).getTime()); break; case -1: console.log("Not logged in"); if (location.href != 'https://user.gamer.com.tw/login.php') { if (window.confirm('您尚未登入!簽到作業無法正確執行。是否立刻導向至登入網頁?')) { location.href = 'https://user.gamer.com.tw/login.php'; } } break; } if (signguild && data.signin != -1) { GM_xmlhttpRequest({ method: "get", url: "/ajax/topBar_AJAX.php?type=guild", cache: false, onload: data => { data = data.response; if (data != '') { let guild_list = data.replace(/\n/g, '').split('