사용자:Senouis/프론트엔드 스크립트

리버티게임(개발), 모두가 만들어가는 자유로운 게임
Senouis (토론 | 기여)님의 2024년 8월 15일 (목) 17:28 판
둘러보기로 이동 검색으로 이동

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
let targetlist = [];

let ratingslist = [];

function crawlingSectionRatings() {
	let api = new mw.Api();
	api.get({
		action: "query",
		list: "categorymembers",
		cmtitle: "분류:리버티게임",
		cmtype: "page",
		cmnamespace: 0,
		cmlimit: 500
	}).then((result) => {
		for (const value of result.query.categorymembers){
			fetch('https://dev.libertygame.work/index.php?action=raw&title=토론:' + value.title).then((result)=>{
				return result.text();
			}).then((result)=>{
				result = result.split("\n");
				console.log(result);
				let elem = {"1":0, "2":0, "3":0, "4":0, "5":0};
				let point = 6;
				if (!result.includes("== 이 게임 평가하기 ==") && !result.includes("== 평가 ==")){
					console.log("토론 문서에 평가가 없는 게임이 존재합니다.");
					return;
				}
				for (let i = 0 ; i < result.length; i++){
					console.log(result[i]);
					if (result[i] === "=== 죽여준다 (Awesome!) ==="){
						point=5;
					} else if (result[i] === "=== 기대이상 (Cool~) ==="){
						point=4;
					} else if (result[i] === "=== 보통 (Normal) ==="){
						point=3;
					} else if (result[i] === "=== 후지다 (Bad) ==="){
						point=2;
					} else if (result[i] === "=== 국회의원 같다 (Disgusting) ==="){
						point=1;
					} else if (result[i][1] === "=" && result[i][2] !== "=" && point === 1){
						break; // 평가 문단을 벗어남
					} else if (point <= 5) {
						splitedline = result[i].split("#");
						if (splitedline.length > 2 && result[i][1] === "#") continue; // 2단계 이상의 문자열로 간주
						else if (splitedline[1] === "" || splitedline[1] === " ") continue; // 빈 평가
						elem[point.toString()] += 1;
					}
				}
				ratingslist.push(elem);
			});
		}
	});
}