사용자:Senouis/ES6 관련 연구: 두 판 사이의 차이
(Senouis님이 사용자:Senouis/ES6 관련 연구 문서의 콘텐츠 모델을 "위키텍스트"에서 "자바스크립트"(으)로 바꾸었습니다: 자바스크립트 에디터 활성화) 태그: 콘텐츠 모델 변경 |
(매크로 스크립트 준비 중) |
||
1번째 줄: | 1번째 줄: | ||
/** | |||
* 백괴게임 시절 사용자/리버티게임 구 서버 사용자 중 사용자 문서 미회수자의 사용자 문서에 매크로 작업으로 {{사문동결}}을 붙이는 작업용 스크립트 | |||
* 제작자: [[사용자:Senouis]], Licensed under LGPL v2 | |||
*/ | |||
// 로직 시작 | |||
// 로직 설명: Allusers 미디어위키 쿼리 API로 현재 사용자 이름을 확보하여 userlist에 삽입(너무 늦게 이 매크로를 돌리면 수정이 필요할 수 있음) | |||
var userlist = []; | |||
// 로직 설명: 병합 정렬(userlist) | |||
// 로직 설명: 이진 탐색(userlist) | |||
// 로직 설명: Allpages 쿼리 API의 apnamespace 파라미터에 2(사용자 문서 이름 공간), aplimit 파라미터에 50을 넘기고 API 호출을 하며, rawcontinue 파라미터를 공백이 아닌 문자로 두어 연속적으로 호출하면서 ["query-continue"]["allpages"]["apcontinue"]의 값을 다시 쿼리에 넘겨 결과들을 합칠 수 있도록 처리 | |||
// 0.5초 간격의 Allpages 쿼리로 모은 promise에서 then으로 받는 result를 iterate하여 ["query"]["allpages"]["title"]를 전부 읽어서 documentlist에 저장 | |||
var promiselist = []; | |||
var documentlist = []; | |||
// 로직 설명: 1초 간격으로 documentlist의 각 원소의 subslice < [4:] >가 userlist에 없으면 'api.edit({title:documentlist[i], summary:"사문동결 틀 추가", prependtext:"{{사문동결}}\n", bot:true}).then(result => {console.log(result.edit["title"] + " " + result.edit["result"]);});'를 날림 | |||
// 이 아래는 임시로 작성하는 코드 - 위 코드들을 구현하기 위한 중간 단계 | |||
// 로직 끝 |
2023년 10월 23일 (월) 01:47 판
/**
* 백괴게임 시절 사용자/리버티게임 구 서버 사용자 중 사용자 문서 미회수자의 사용자 문서에 매크로 작업으로 {{사문동결}}을 붙이는 작업용 스크립트
* 제작자: [[사용자:Senouis]], Licensed under LGPL v2
*/
// 로직 시작
// 로직 설명: Allusers 미디어위키 쿼리 API로 현재 사용자 이름을 확보하여 userlist에 삽입(너무 늦게 이 매크로를 돌리면 수정이 필요할 수 있음)
var userlist = [];
// 로직 설명: 병합 정렬(userlist)
// 로직 설명: 이진 탐색(userlist)
// 로직 설명: Allpages 쿼리 API의 apnamespace 파라미터에 2(사용자 문서 이름 공간), aplimit 파라미터에 50을 넘기고 API 호출을 하며, rawcontinue 파라미터를 공백이 아닌 문자로 두어 연속적으로 호출하면서 ["query-continue"]["allpages"]["apcontinue"]의 값을 다시 쿼리에 넘겨 결과들을 합칠 수 있도록 처리
// 0.5초 간격의 Allpages 쿼리로 모은 promise에서 then으로 받는 result를 iterate하여 ["query"]["allpages"]["title"]를 전부 읽어서 documentlist에 저장
var promiselist = [];
var documentlist = [];
// 로직 설명: 1초 간격으로 documentlist의 각 원소의 subslice < [4:] >가 userlist에 없으면 'api.edit({title:documentlist[i], summary:"사문동결 틀 추가", prependtext:"{{사문동결}}\n", bot:true}).then(result => {console.log(result.edit["title"] + " " + result.edit["result"]);});'를 날림
// 이 아래는 임시로 작성하는 코드 - 위 코드들을 구현하기 위한 중간 단계
// 로직 끝