미디어위키:Gadget-SysopPresentCheck.js: 두 판 사이의 차이
잔글 (밀리초 타임스탬프이므로 1000배) |
잔글편집 요약 없음 |
||
18번째 줄: | 18번째 줄: | ||
var date = Date.now(); | var date = Date.now(); | ||
var currentcheck = new Date(Number(result[mw.user.getName()])); | var currentcheck = new Date(Number(result[mw.user.getName()])); | ||
if (date - currentcheck < 43200000 ) return; // already checked within 12 hours | if (date - currentcheck < 43200000 ) { | ||
console.log(currentcheck.toLocalDateString()+"에 이미 출석체크하였습니다.") | |||
return; // already checked within 12 hours | |||
} | |||
result[mw.user.getName()] = date; | result[mw.user.getName()] = date; | ||
// 다시 문자열로 만든 다음 mw.Api로 편집 | // 다시 문자열로 만든 다음 mw.Api로 편집 | ||
var text = JSON.stringify(result); | var text = JSON.stringify(result); | ||
var mw_api = new mw.Api(); | var mw_api = new mw.Api(); | ||
mw_api.edit('리버티게임:관리단/출석체크', function ( revision ) { | mw_api.edit('리버티게임:관리단/출석체크', function ( revision ) { | ||
32번째 줄: | 34번째 줄: | ||
}; | }; | ||
}).then(function(result){ | }).then(function(result){ | ||
console.log("출석체크 완료!"); | console.log(currentcheck.toLocalDateString() + " 출석체크 완료!"); | ||
}); | }); | ||
}); | }); | ||
} | } | ||
$(runJobs); | $(runJobs); |
2024년 5월 22일 (수) 13:28 판
/** 관리단 출석체크 시스템
* [[리버티게임:관리단/출석체크]]와 동기화됨
* 작성자: [[사용자:Senouis]]
**/
function runJobs () {
if (mw.config.get("wgPageName") != "특수:최근바뀜") return;
console.log("최근바뀜 진입 확인, 출첵 시스템 작동!");
fetch("https://dev.libertygame.work/index.php/%EB%A6%AC%EB%B2%84%ED%8B%B0%EA%B2%8C%EC%9E%84:%EA%B4%80%EB%A6%AC%EB%8B%A8/%EC%B6%9C%EC%84%9D%EC%B2%B4%ED%81%AC?action=raw")
.then(function (result){
return result.json();
}).then(function(result){
console.log(result);
// 자기 데이터가 있으면 변경, 아니면 종료
if (result[mw.user.getName()] == undefined) {
console.log("사용자가 '리버티게임:관리단/출석체크' 문서에 등록되지 않았습니다!");
return;
}
var date = Date.now();
var currentcheck = new Date(Number(result[mw.user.getName()]));
if (date - currentcheck < 43200000 ) {
console.log(currentcheck.toLocalDateString()+"에 이미 출석체크하였습니다.")
return; // already checked within 12 hours
}
result[mw.user.getName()] = date;
// 다시 문자열로 만든 다음 mw.Api로 편집
var text = JSON.stringify(result);
var mw_api = new mw.Api();
mw_api.edit('리버티게임:관리단/출석체크', function ( revision ) {
return {
text: text,
summary: mw.user.getName() + ' 출석',
contentmodel: 'json',
minor: true
};
}).then(function(result){
console.log(currentcheck.toLocalDateString() + " 출석체크 완료!");
});
});
}
$(runJobs);