엔트리(교육 플랫폼)/콘솔 명령어

덤프버전 : r

파일:나무위키+상위문서.png   상위 문서: 엔트리(교육 플랫폼)




1. 개요
2. 계정 관련 코드
2.1. 로그인 코드
2.2. 아이디로 16진수 id 찾기
3. 커뮤니티 관련 코드
4. 작품 관련 코드
4.1. 리스트에 항목 추가
4.2. 리스트에 n번째 항목 삭제
4.3. 리스트에 n번째 항목의 값을 변경
4.4. 리스트에 항목을 n번째에 넣기
4.5. 리스트에 포함되어 있을때 그 항목 위치(응용)




1. 개요[편집]


엔트리(교육 플랫폼)에서 사용할 수 있는 콘솔 코드이다. 이걸로 많은 기능을 사용할 수 있다. 그러나 콘솔 코드로 엔트리 서버에 피해가 가는 행동을 할 경우 불법이고 코렁탕 먹을 수 있다.
개발자 도구[1]를 열고 Console 탭에서 입력하는 코드이다.
비공식 블럭이나 자동화 기능 등에 사용이 가능하다.
https://github.com/entrylabs/entryjs 사이트에 엔트리 블럭 Javascript 코드를 볼 수 있다.

참고로 작품 보기 화면에서는 Entry 객체를 사용하면 오류가 나니 미리 콘솔에다가 다음 코드를 실행하고 해야 한다. # #
window.Entry = document.querySelector('iframe.css-1sbyuvq.eaizycc0').contentWindow.Entry;
window.EntryStatic = document.querySelector('iframe.css-1sbyuvq.eaizycc0').contentWindow.EntryStatic;


2. 계정 관련 코드[편집]



2.1. 로그인 코드[편집]


변수 username과 password 값은 엔트리 계정 아이디와 비밀번호를 입력하면 된다.
var username = '';
var password = '';
var remember = false;
await fetch('https://playentry.org/graphql', {
 method: 'POST',
 headers: {
  'content-type': 'application/json',
 },
 body: JSON.stringify({
 query: `mutation(
  $username: String!
  $password: String!
  $rememberme: Boolean
  $captchaValue: String
  $captchaKey: String
  $captchaType: String
 ) {
  signinByUsername(
  username: $username
  password: $password
  rememberme: $rememberme
  captchaValue: $captchaValue
  captchaKey: $captchaKey
  captchaType: $captchaType
 ) {
  id
  username
  nickname
  role
  isEmailAuth
  isSnsAuth
  isPhoneAuth
  studentTerm
  status {
   userStatus
  }
  profileImage {
   id
   name
   label {
    ko
    en
    ja
    vn
   }
   filename
   imageType
   dimension {
    width
    height
   }
   trimmed {
    filename
    width
    height
   }
  }
  banned {
   username
   nickname
   reason
   bannedCount
   bannedType
   projectId
   startDate
   userReflect {
    status
     endDate
    }
   }
  }
 }
 `,
 variables: { username, password, rememberme: remember },
 }),
});


2.2. 아이디로 16진수 id 찾기[편집]


아이디(유저네임)으로 16진수 id를 찾는 코드이다. 해당 코드를 실행하면 그 값을 반환한다.
var username = '';
var id = (await (await fetch('https://playentry.org/graphql', {
 method: 'POST',
 headers: {
  'Content-Type': 'application/json'
 },
 body: JSON.stringify({
  query: `
   query ($username: String) {
    user(username: $username) {
     id
    }
   }
  `,
  variables: { username: username }
 })
})).json()).data.user.id;
return id;


3. 커뮤니티 관련 코드[편집]



4. 작품 관련 코드[편집]



4.1. 리스트에 항목 추가[편집]


'리스트' 이름의 리스트에 '0'이라는 항목을 추가한다.
Entry.variableContainer.getListByName("리스트").appendValue("0");


4.2. 리스트에 n번째 항목 삭제[편집]


'리스트' 이름의 리스트에 1번째 항목을 삭제한다.
Entry.variableContainer.getListByName("리스트").deleteValue(1);


4.3. 리스트에 n번째 항목의 값을 변경[편집]


'리스트' 이름의 리스트에 1번째 항목의 값을 '엔트리'로 변경한다.
Entry.variableContainer.getListByName("리스트").replaceValue(1, "엔트리");


4.4. 리스트에 항목을 n번째에 넣기[편집]


'리스트' 이름의 리스트에 '엔트리' 항목을 1번째에 넣는다.
Entry.variableContainer.getListByName("리스트").insertValue(1, "엔트리");


4.5. 리스트에 포함되어 있을때 그 항목 위치(응용)[편집]


위 코드를 응용해서 만든 것이다. 엔트리 반복문으로 찾는것보다 훨씬 빠르다(!)
'리스트' 이름의 리스트에 '내용'이 포함되어 있다면 몇 번째 항목에 위치하는지 반환하고 없으면 null을 반환한다.
var list = Entry.variableContainer.getListByName("리스트");
var data = '내용';
if (!list) {
 return null;
}
const arr = list.getArray();
for (var i = 0, len = arr.length; i < len; i++) {
 if (arr[i].data.toString() == data.toString()) {
  return i + 1;
 }
}
return null;


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2022-09-23 02:12:47에 나무위키 엔트리(교육 플랫폼)/콘솔 명령어 문서에서 가져왔습니다.

[1] F12키나 Ctrl + Shift + I키