CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·개발한당 ·안드로메당 ·나스당 ·자전거당 ·이륜차당 ·소시당 ·걸그룹당 ·골프당 ·소셜게임한당 ·물고기당 ·바다건너당 ·패스오브엑자일당 ·노젓는당 ·스팀한당 ·AI그림당 ·클다방 ·요리한당 ·AI당 ·육아당 ·콘솔한당 ·덕질한당 ·여행을떠난당 ·키보드당 ·e북본당 ·가상화폐당 ·3D메이킹 ·X세대당 ·ADHD당 ·날아간당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·어학당 ·가죽당 ·레고당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

PC/모바일 클리앙 댓글 랜덤 추첨기 v2 (스크립트) 15

55
2019-08-25 16:12:30 수정일 : 2019-08-25 18:02:24 112.♡.32.232
Myayu

클리앙을 보면 종종 댓글 추첨하는 분들이 보이는데, 추첨 작업을 수작업으로 하시느라 힘들어하시는 경우들이 가끔 생기더군요.

아래 스크립트를 콘솔창에 복붙만 하시면 비교적 간편하게 댓글 추첨할 수 있습니다.


※ 댓글의 내용과는 무관하게, 그냥 해당 글에 달린 댓글 모두(또는 선착순 n개 제한)를 추첨 대상에 놓고 랜덤으로 뽑는 스크립트입니다.

(대댓글, 중복 ID 댓글, 차단 유저의 댓글은 추첨 대상에서 제외)





예전 텍스트 버전( https://www.clien.net/service/board/lecture/12835815CLIEN  )에서 여러명 추첨하는 기능 넣으려다보니 옵션 물어보는 과정이 복잡해지길래,
그냥 간단한 GUI라도 있는게 나을 것 같아서, 이참에 뜯어고쳤어요.








▶ 실행하는 방법


1. 댓글을 추첨할 글로 이동한다.


2. 브라우저 단축키 F12를 눌러 콘솔창을 열고, 콘솔창을 클릭하여 커서가 뜨도록 한다.

잘못된 형식의 이미지 링크입니다.


3. 아래 스크립트를 콘솔에 붙여넣기 한 후 Enter!


4. 화면에서 옵션을 선택한 후 [추첨 시작] 버튼을 누른다.

4-1. 추첨 대상을 n번째 댓글까지 제한할 경우, [추첨 시작] 버튼을 누른 후 제한을 하고 싶은 댓글 옆에 [여기까지 추첨] 버튼을 누른다.





※ 옵션 선택창이 뜨는 것과 동시에 댓글 전체 목록을 불러오고 있으니,
옵션창에서 잠시 기다려서 댓글 로딩이 끝나 스크롤바가 확장되는걸 확인 한 후에 [추첨 시작] 버튼을 누르세요.
그냥 옵션창 띄우고 몇 초 기다리면 됩니다.


잘못된 형식의 이미지 링크입니다.

뽑을 인원: 추첨으로 뽑을 인원을 선택합니다. 기본값 1

대상 범위: 추첨할 댓글의 범위를 지정합니다. 선착순 n번째 댓글까지만 추첨하고 싶다면, 옵션을 [인원 제한]으로 바꾸세요.

글 작성자: 글 작성자의 댓글도 추첨 대상에 포함시킬지를 선택합니다.

















/* 클리앙 댓글 랜덤 추첨 스크립트 (대댓글, 중복ID 제외) */

app.getCommentList('all');(()=>{let o,c='.post_comment .comment_row:not(.hidden):not(.re)',t='클리앙 댓글 랜덤 추첨기',s={'outline':'solid 5px orange'},ro=p=>{let a=new Set(),r,h="";$(c).each((i,e)=>{if(p&&i>p)return false;a.add(e.dataset.authorId);});a=[...a].filter(Boolean);r=[...a];for(let i=r.length-1;i>0;i--){const j=Math.floor(Math.random()*(i+1));[r[i],r[j]]=[r[j],r[i]];}o=Math.min(o,r.length);r=r.slice(0,o);for(let [i,v] of r.entries()){const $t=$(c+`[data-author-id=${v}]`).first().css(s),$k=$t.find('.nickname>*'),n=$k.attr('alt')||$k.text();h+=`<button data-id="${v}" style="display:block;padding:2px 5px;background:#fff;margin:4px 0;box-shadow:1px 1px 3px -1px #222;">${i+1}. ${n}(${v})</button>`;}console.log("대상",a);console.log("결과",r);const $o=$(`<div class="cmt_lottery" style="position:fixed;top:50%;right:0;transform:translateY(-50%);font-size:13px;background:#aaa;color:#000;padding:10px;max-height:100%;overflow-y:auto;z-index:100;border:solid 3px #666;max-height:90%;line-height:1.5;"><div style="font-size:1.5em">${t}</div><div>추첨 결과 (대상 총 ${a.length}명)</div><div>${o}명 당첨 (클릭하면 댓글로 이동)</div>${h}</div>`).on("click","button",e=>{$('html,body').stop(true).animate({scrollTop:$(c+`[data-author-id=${e.target.dataset.id}]`).css(s).offset().top-10},500);}).appendTo("body");setTimeout(()=>$o.css("transform",`translateY(-${Math.floor($o.outerHeight()/2)}px)`),0);},cn=()=>{$(c).each((i,e)=>{$(`<button class='rCnt' data-n='${i}' style="padding:0 2px;background:#822;color:#fff;margin:0 5px 0 -50px;box-shadow:1px 1px 3px #222;">${i+1} 여기까지 추첨</button>`).on("click",e=>{$('.rCnt').remove();ro(e.target.dataset.n);}).prependTo($(e).find('.post_contact'));});if($(c).offset().top>window.scrollY)window.scrollTo(0,$(c).offset().top);};$(".cmt_lottery").remove();$(`<div class="cmt_lottery" style="position:fixed;left:calc(50% - 115px);top:calc(50% - 130px);width:260px;height:230px;background:#aaa;padding:15px 20px;font-size:16px;display:flex;flex-direction:column;justify-content:space-between;z-index:10000;border:solid 3px #666;color:#000;line-height:1.5;"><div style="font-size:20px;text-align:center">${t}</div><div>뽑을 인원: <input style="background:#fff;text-align:center;max-width:80px;" type="number" min="1" max="99" value="1"></div><div>대상 범위: <select class="a" style="background:#fff;padding:2px 10px;"><option value="a" selected>전체 추첨</option><option value="b">인원 제한</option></select></div><div>글 작성자: <select class="b" style="background:#fff;padding:2px 10px;"><option value="a" selected>추첨 제외</option><option value="b">추첨 포함</option></select></div><button style="background:#ccc;padding:10px;">추첨 시작</button></div>`).find("button").on("click",e=>{const $p=$(e.target.parentNode);o=Math.floor(Number($p.find("input").val()));if(!(o>0))return;if($p.find(".b").val()==='a')c+=":not(.by-author)";$p.find(".a").val()==='a'?ro():cn();$p.remove();}).end().appendTo("body");})()











게시판에서 힘들게 댓글 추첨하는 분들을 위해 만들었는데,

이거 올린 뒤에도 이 방법의 존재를 몰라서 수동으로 한땀한땀 추첨하시는 분들이 종종 있으시더라구요.

댓글 추첨하실 때, 이 게시물 링크 한번씩 남겨서 퍼트려주세요.  ㅎ






Myayu 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [15]
덱센
IP 61.♡.225.30
08-25 2019-08-25 16:17:41
·
좋네요 ㅎㅎ
중무장
IP 121.♡.142.210
08-25 2019-08-25 16:28:03
·
공감 드립니다.
설국기관차
IP 58.♡.239.208
08-25 2019-08-25 16:36:23
·
추천합니다
삭제 되었습니다.
킴통큰
IP 39.♡.26.46
08-25 2019-08-25 17:52:03
·
수고 감사드립니다~
Matess
IP 125.♡.75.109
08-25 2019-08-25 18:31:00
·
추천합니다.
Badliar
IP 115.♡.50.71
08-25 2019-08-25 20:32:23
·
멋지십니다. 저도 추첨할 일 생기면 써야겠네요
iamgulbi
IP 125.♡.111.231
08-25 2019-08-25 23:52:04
·
감사합니다... 곧 써볼것 같습니다.
바다땅하늘
IP 59.♡.154.107
08-26 2019-08-26 01:20:33
·
추천합니다!
요가골시
IP 211.♡.116.113
08-26 2019-08-26 03:29:41
·
이야 신기하네요 감사합니다! 한번 돌려봤는데 Matess님이 당첨됬네요! 드릴건 없고.. 다음에 만나면 인사라도 드리겠습니다..!
DINKIssTyle
IP 183.♡.169.227
08-26 2019-08-26 08:44:36
·
감사합니다. 엄청 재미있습니다!
남부장
IP 59.♡.70.195
08-27 2019-08-27 11:06:37
·
와우~ 감사합니다.
스타클립
IP 210.♡.40.248
08-28 2019-08-28 16:08:22
·
고생하셨네요. 감사합니다~
삭제 되었습니다.
Jorge
IP 119.♡.240.56
03-09 2020-03-09 06:37:59
·
고맙습니다, 잘 사용 하였습니다! :)
원이네빠
IP 106.♡.65.96
04-14 2020-04-14 09:00:17
·
와우~! 최고입니다!
개소리하고자빠졌네
IP 59.♡.133.64
06-14 2020-06-14 09:24:18
·
오옹 멋지네요
삭제 되었습니다.
삭제 되었습니다.
삭제 되었습니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.